From 631cd18504f19dcc21280018c8973ae624273d9e Mon Sep 17 00:00:00 2001 From: Prince Jhabak Date: Tue, 2 Oct 2018 20:20:20 +0530 Subject: [PATCH 1/4] feat: Add checkable behavior to menu items under other category in the navigation drawer --- app/src/main/res/menu/activity_main_drawer.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/menu/activity_main_drawer.xml b/app/src/main/res/menu/activity_main_drawer.xml index 72f7e54bf..a32009ff2 100644 --- a/app/src/main/res/menu/activity_main_drawer.xml +++ b/app/src/main/res/menu/activity_main_drawer.xml @@ -24,11 +24,13 @@ + android:title="@string/nav_help_feedback" + android:checkable="true" /> + android:title="@string/nav_about_us" + android:checkable="true" /> Date: Sat, 3 Nov 2018 21:26:13 +0530 Subject: [PATCH 2/4] feat: Add back button in the toolbar --- .../main/java/io/pslab/activity/AccelerometerActivity.java | 5 +++++ app/src/main/java/io/pslab/activity/CompassActivity.java | 5 +++++ app/src/main/java/io/pslab/activity/LuxMeterActivity.java | 6 ++++++ app/src/main/java/io/pslab/activity/MultimeterActivity.java | 5 +++++ .../main/java/io/pslab/activity/PowerSourceActivity.java | 5 +++++ 5 files changed, 26 insertions(+) diff --git a/app/src/main/java/io/pslab/activity/AccelerometerActivity.java b/app/src/main/java/io/pslab/activity/AccelerometerActivity.java index 74e7c26bc..884eebe5d 100644 --- a/app/src/main/java/io/pslab/activity/AccelerometerActivity.java +++ b/app/src/main/java/io/pslab/activity/AccelerometerActivity.java @@ -100,6 +100,8 @@ public void onClick(View v) { } }); setSupportActionBar(mToolbar); + android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); adapter = new AccelerometerAdapter(new String[]{"X axis", "Y axis", "Z axis"}, getApplicationContext()); RecyclerView recyclerView = this.findViewById(R.id.accelerometer_recycler_view); @@ -237,6 +239,9 @@ public void onClick(DialogInterface dialogInterface, int i) { settingIntent.putExtra("title", getResources().getString(R.string.accelerometer_configurations)); startActivity(settingIntent); break; + case android.R.id.home: + this.finish(); + break; default: break; } diff --git a/app/src/main/java/io/pslab/activity/CompassActivity.java b/app/src/main/java/io/pslab/activity/CompassActivity.java index 8f67e83fe..455cbb33f 100644 --- a/app/src/main/java/io/pslab/activity/CompassActivity.java +++ b/app/src/main/java/io/pslab/activity/CompassActivity.java @@ -92,6 +92,8 @@ protected void onCreate(Bundle savedInstanceState) { ButterKnife.bind(this); setSupportActionBar(mToolbar); + android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); compassPreference = getSharedPreferences(PREFS_NAME, MODE_PRIVATE); setUpBottomSheet(); @@ -295,6 +297,9 @@ public boolean onOptionsItemSelected(MenuItem item) { bottomSheetBehavior.setState(bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN ? BottomSheetBehavior.STATE_EXPANDED : BottomSheetBehavior.STATE_HIDDEN); break; + case android.R.id.home: + this.finish(); + break; default: break; } diff --git a/app/src/main/java/io/pslab/activity/LuxMeterActivity.java b/app/src/main/java/io/pslab/activity/LuxMeterActivity.java index 67e5cf65a..ebb4a528e 100644 --- a/app/src/main/java/io/pslab/activity/LuxMeterActivity.java +++ b/app/src/main/java/io/pslab/activity/LuxMeterActivity.java @@ -88,6 +88,9 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_lux_main); ButterKnife.bind(this); setSupportActionBar(toolbar); + android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + realmPreferences = getSharedPreferences(NAME, Context.MODE_PRIVATE); new GPSLogger(this).requestPermissionIfNotGiven(); setUpBottomSheet(); @@ -255,6 +258,9 @@ public boolean onOptionsItemSelected(MenuItem item) { bottomSheetBehavior.setState(bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN ? BottomSheetBehavior.STATE_EXPANDED : BottomSheetBehavior.STATE_HIDDEN); break; + case android.R.id.home: + this.finish(); + break; default: break; } diff --git a/app/src/main/java/io/pslab/activity/MultimeterActivity.java b/app/src/main/java/io/pslab/activity/MultimeterActivity.java index 69dbbb073..73c39cc31 100644 --- a/app/src/main/java/io/pslab/activity/MultimeterActivity.java +++ b/app/src/main/java/io/pslab/activity/MultimeterActivity.java @@ -117,6 +117,8 @@ protected void onCreate(final Bundle savedInstanceState) { scienceLab = ScienceLabCommon.scienceLab; knobMarker = getResources().getStringArray(io.pslab.R.array.multimeter_knob_states); setSupportActionBar(mToolbar); + android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); setUpBottomSheet(); tvShadow.setOnClickListener(new View.OnClickListener() { @@ -470,6 +472,9 @@ public void onClick(DialogInterface dialogInterface, int i) { settingIntent.putExtra("title", getResources().getString(R.string.multimeter_configurations)); startActivity(settingIntent); break; + case android.R.id.home: + this.finish(); + break; default: break; } diff --git a/app/src/main/java/io/pslab/activity/PowerSourceActivity.java b/app/src/main/java/io/pslab/activity/PowerSourceActivity.java index d8abc788b..b74972ece 100644 --- a/app/src/main/java/io/pslab/activity/PowerSourceActivity.java +++ b/app/src/main/java/io/pslab/activity/PowerSourceActivity.java @@ -125,6 +125,8 @@ protected void onCreate(Bundle savedInstanceState) { ButterKnife.bind(this); setSupportActionBar(toolbar); + android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); powerPreferences = getSharedPreferences(POWER_PREFERENCES, MODE_PRIVATE); @@ -263,6 +265,9 @@ public boolean onOptionsItemSelected(MenuItem item) { bottomSheetBehavior.setState(bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN ? BottomSheetBehavior.STATE_EXPANDED : BottomSheetBehavior.STATE_HIDDEN); break; + case android.R.id.home: + this.finish(); + break; default: break; } From b945660c000d92c67f45b759513c83e39be3c516 Mon Sep 17 00:00:00 2001 From: Prince Jhabak Date: Tue, 4 Dec 2018 12:28:10 +0530 Subject: [PATCH 3/4] feat: Improve UI of FAQs --- .../pslab/activity/AccelerometerActivity.java | 5 - .../io/pslab/activity/CompassActivity.java | 5 - .../io/pslab/activity/LuxMeterActivity.java | 354 +++++------------- .../io/pslab/activity/MultimeterActivity.java | 5 - .../pslab/activity/PowerSourceActivity.java | 5 - app/src/main/res/layout/fragment_faq.xml | 5 +- app/src/main/res/layout/list_group.xml | 17 +- app/src/main/res/layout/list_item.xml | 12 +- 8 files changed, 103 insertions(+), 305 deletions(-) diff --git a/app/src/main/java/io/pslab/activity/AccelerometerActivity.java b/app/src/main/java/io/pslab/activity/AccelerometerActivity.java index 884eebe5d..74e7c26bc 100644 --- a/app/src/main/java/io/pslab/activity/AccelerometerActivity.java +++ b/app/src/main/java/io/pslab/activity/AccelerometerActivity.java @@ -100,8 +100,6 @@ public void onClick(View v) { } }); setSupportActionBar(mToolbar); - android.support.v7.app.ActionBar actionBar = getSupportActionBar(); - actionBar.setDisplayHomeAsUpEnabled(true); adapter = new AccelerometerAdapter(new String[]{"X axis", "Y axis", "Z axis"}, getApplicationContext()); RecyclerView recyclerView = this.findViewById(R.id.accelerometer_recycler_view); @@ -239,9 +237,6 @@ public void onClick(DialogInterface dialogInterface, int i) { settingIntent.putExtra("title", getResources().getString(R.string.accelerometer_configurations)); startActivity(settingIntent); break; - case android.R.id.home: - this.finish(); - break; default: break; } diff --git a/app/src/main/java/io/pslab/activity/CompassActivity.java b/app/src/main/java/io/pslab/activity/CompassActivity.java index 455cbb33f..8f67e83fe 100644 --- a/app/src/main/java/io/pslab/activity/CompassActivity.java +++ b/app/src/main/java/io/pslab/activity/CompassActivity.java @@ -92,8 +92,6 @@ protected void onCreate(Bundle savedInstanceState) { ButterKnife.bind(this); setSupportActionBar(mToolbar); - android.support.v7.app.ActionBar actionBar = getSupportActionBar(); - actionBar.setDisplayHomeAsUpEnabled(true); compassPreference = getSharedPreferences(PREFS_NAME, MODE_PRIVATE); setUpBottomSheet(); @@ -297,9 +295,6 @@ public boolean onOptionsItemSelected(MenuItem item) { bottomSheetBehavior.setState(bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN ? BottomSheetBehavior.STATE_EXPANDED : BottomSheetBehavior.STATE_HIDDEN); break; - case android.R.id.home: - this.finish(); - break; default: break; } diff --git a/app/src/main/java/io/pslab/activity/LuxMeterActivity.java b/app/src/main/java/io/pslab/activity/LuxMeterActivity.java index ebb4a528e..4ee701b7f 100644 --- a/app/src/main/java/io/pslab/activity/LuxMeterActivity.java +++ b/app/src/main/java/io/pslab/activity/LuxMeterActivity.java @@ -1,318 +1,136 @@ package io.pslab.activity; -import android.Manifest; -import android.content.Context; -import android.content.Intent; import android.content.SharedPreferences; -import android.content.pm.PackageManager; -import android.location.LocationManager; -import android.os.Bundle; -import android.os.Handler; -import android.support.annotation.NonNull; -import android.support.design.widget.BottomSheetBehavior; -import android.support.design.widget.CoordinatorLayout; -import android.support.v4.app.ActivityCompat; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.content.ContextCompat; -import android.support.v7.app.AppCompatActivity; +import android.support.v4.app.Fragment; import android.support.v7.preference.PreferenceManager; -import android.support.v7.widget.Toolbar; -import android.view.GestureDetector; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; -import android.view.MotionEvent; -import android.view.View; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; -import android.widget.Toast; -import butterknife.BindView; -import butterknife.ButterKnife; import io.pslab.R; -import io.pslab.fragment.LuxMeterFragmentData; +import io.pslab.fragment.LuxMeterDataFragment; import io.pslab.fragment.LuxMeterSettingFragment; -import io.pslab.others.CSVLogger; -import io.pslab.others.CustomSnackBar; -import io.pslab.others.GPSLogger; -import io.pslab.others.MathUtils; -import io.pslab.others.SwipeGestureDetector; +import io.pslab.models.LuxData; +import io.pslab.models.PSLabSensor; +import io.pslab.models.SensorDataBlock; +import io.pslab.others.LocalDataLog; +import io.realm.RealmObject; +import io.realm.RealmResults; -public class LuxMeterActivity extends AppCompatActivity { +public class LuxMeterActivity extends PSLabSensor { private static final String PREF_NAME = "customDialogPreference"; - private static final int MY_PERMISSIONS_REQUEST_STORAGE_FOR_DATA = 101; - private static final int MY_PERMISSIONS_REQUEST_STORAGE_FOR_MAPS = 102; - - public boolean recordData = false; - public boolean exportData = false; - public boolean recordingStarted = false; - public GPSLogger gpsLogger; - public CSVLogger luxLogger; - private Menu menu; - - BottomSheetBehavior bottomSheetBehavior; - GestureDetector gestureDetector; - - @BindView(R.id.toolbar) - Toolbar toolbar; - @BindView(R.id.cl) - CoordinatorLayout coordinatorLayout; - //bottomSheet - @BindView(R.id.bottom_sheet) - LinearLayout bottomSheet; - @BindView(R.id.shadow) - View tvShadow; - @BindView(R.id.img_arrow) - ImageView arrowUpDown; - @BindView(R.id.sheet_slide_text) - TextView bottomSheetSlideText; - @BindView(R.id.guide_title) - TextView bottomSheetGuideTitle; - @BindView(R.id.custom_dialog_text) - TextView bottomSheetText; - @BindView(R.id.custom_dialog_schematic) - ImageView bottomSheetSchematic; - @BindView(R.id.custom_dialog_desc) - TextView bottomSheetDesc; - private boolean checkGpsOnResume = false; - public boolean locationPref; - private LuxMeterFragmentData selectedFragment; - public static final String NAME = "realmData"; - private SharedPreferences realmPreferences; + public RealmResults recordedLuxData; @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_lux_main); - ButterKnife.bind(this); - setSupportActionBar(toolbar); - android.support.v7.app.ActionBar actionBar = getSupportActionBar(); - actionBar.setDisplayHomeAsUpEnabled(true); + public int getLayout() { + return R.layout.activity_generic_sensor; + } - realmPreferences = getSharedPreferences(NAME, Context.MODE_PRIVATE); - new GPSLogger(this).requestPermissionIfNotGiven(); - setUpBottomSheet(); - tvShadow.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED) - bottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN); - tvShadow.setVisibility(View.GONE); - } - }); - try { - FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); - selectedFragment = LuxMeterFragmentData.newInstance(); - transaction.replace(R.id.frame_layout_lux_meter, selectedFragment, selectedFragment.getTag()); - transaction.commit(); - } catch (Exception e) { - e.printStackTrace(); - } + @Override + public int getMenu() { + return R.menu.lux_data_log_menu; } - private void setUpBottomSheet() { - bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet); + @Override + public SharedPreferences getStateSettings() { + return this.getSharedPreferences(PREF_NAME, MODE_PRIVATE); + } - final SharedPreferences settings = this.getSharedPreferences(PREF_NAME, MODE_PRIVATE); - Boolean isFirstTime = settings.getBoolean("LuxMeterFirstTime", true); + @Override + public String getFirstTimeSettingID() { + return "LuxMeterFirstTime"; + } - bottomSheetGuideTitle.setText(R.string.lux_meter); - bottomSheetText.setText(R.string.lux_meter_intro); - bottomSheetSchematic.setImageResource(R.drawable.bh1750_schematic); - bottomSheetDesc.setText(R.string.lux_meter_desc); + @Override + public String getSensorName() { + return getResources().getString(R.string.lux_meter); + } - if (isFirstTime) { - bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); - tvShadow.setVisibility(View.VISIBLE); - tvShadow.setAlpha(0.8f); - arrowUpDown.setRotation(180); - bottomSheetSlideText.setText(R.string.hide_guide_text); - SharedPreferences.Editor editor = settings.edit(); - editor.putBoolean("LuxMeterFirstTime", false); - editor.apply(); - } else { - bottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN); - } + @Override + public int getGuideTitle() { + return R.string.lux_meter; + } - bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { - private Handler handler = new Handler(); - private Runnable runnable = new Runnable() { - @Override - public void run() { - bottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN); - } - }; + @Override + public int getGuideAbstract() { + return R.string.lux_meter_intro; + } - @Override - public void onStateChanged(@NonNull final View bottomSheet, int newState) { - switch (newState) { - case BottomSheetBehavior.STATE_EXPANDED: - handler.removeCallbacks(runnable); - bottomSheetSlideText.setText(R.string.hide_guide_text); - break; + @Override + public int getGuideSchematics() { + return R.drawable.bh1750_schematic; + } - case BottomSheetBehavior.STATE_COLLAPSED: - handler.postDelayed(runnable, 2000); - break; + @Override + public int getGuideDescription() { + return R.string.lux_meter_desc; + } - default: - handler.removeCallbacks(runnable); - bottomSheetSlideText.setText(R.string.show_guide_text); - break; - } - } + @Override + public int getGuideExtraContent() { + return 0; + } - @Override - public void onSlide(@NonNull View bottomSheet, float slideOffset) { - Float value = (float) MathUtils.map((double) slideOffset, 0.0, 1.0, 0.0, 0.8); - tvShadow.setVisibility(View.VISIBLE); - tvShadow.setAlpha(value); - arrowUpDown.setRotation(slideOffset * 180); - } - }); - gestureDetector = new GestureDetector(this, new SwipeGestureDetector(bottomSheetBehavior)); + @Override + public void recordSensorDataBlockID(SensorDataBlock categoryData) { + realm.beginTransaction(); + realm.copyToRealm(categoryData); + realm.commitTransaction(); } @Override - public boolean onTouchEvent(MotionEvent event) { - gestureDetector.onTouchEvent(event); //Gesture detector need this to transfer touch event to the gesture detector. - return super.onTouchEvent(event); + public void recordSensorData(RealmObject sensorData) { + realm.beginTransaction(); + realm.copyToRealm((LuxData) sensorData); + realm.commitTransaction(); } @Override - public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.lux_data_log_menu, menu); - this.menu = menu; - return true; + public void stopRecordSensorData() { + LocalDataLog.with().refresh(); } @Override - public boolean onPrepareOptionsMenu(Menu menu) { - MenuItem item = menu.findItem(R.id.record_data); - item.setIcon(recordData ? R.drawable.ic_record_stop_white : R.drawable.ic_record_white); - return super.onPrepareOptionsMenu(menu); + public Fragment getSensorFragment() { + return LuxMeterDataFragment.newInstance(); } @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.record_data: - if (recordData) { - ((LuxMeterFragmentData) selectedFragment).stopSensorFetching(); - invalidateOptionsMenu(); - Long uniqueRef = realmPreferences.getLong("uniqueCount", 0); - if (selectedFragment.saveDataInRealm(uniqueRef, locationPref, gpsLogger)) { - CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.exp_data_saved), null, null); - SharedPreferences.Editor editor = realmPreferences.edit(); - editor.putLong("uniqueCount", uniqueRef + 1); - editor.commit(); - } else { - CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.no_data_fetched), null, null); - } - recordData = false; - } else { - if (locationPref) { - gpsLogger = new GPSLogger(this, (LocationManager) getSystemService(Context.LOCATION_SERVICE)); - if (gpsLogger.isGPSEnabled()) { - recordData = true; - ((LuxMeterFragmentData) selectedFragment).startSensorFetching(); - CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.data_recording_start) + "\n" + getString(R.string.location_enabled), null, null); - invalidateOptionsMenu(); - } else { - checkGpsOnResume = true; - } - gpsLogger.startFetchingLocation(); - } else { - recordData = true; - ((LuxMeterFragmentData) selectedFragment).startSensorFetching(); - CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.data_recording_start) + "\n" + getString(R.string.location_disabled), null, null); - invalidateOptionsMenu(); - } - } - break; - case R.id.show_map: - if (ContextCompat.checkSelfPermission(this, - Manifest.permission.WRITE_EXTERNAL_STORAGE) - != PackageManager.PERMISSION_GRANTED) { - ActivityCompat.requestPermissions(this, - new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_STORAGE_FOR_MAPS); - return true; - } - Intent MAP = new Intent(getApplicationContext(), MapsActivity.class); - startActivity(MAP); - break; - case R.id.settings: - Intent settingIntent = new Intent(this, SettingsActivity.class); - settingIntent.putExtra("title", getResources().getString(R.string.lux_meter_configurations)); - startActivity(settingIntent); - break; - case R.id.show_logged_data: - Intent intent = new Intent(this, DataLoggerActivity.class); - intent.putExtra(DataLoggerActivity.CALLER_ACTIVITY, "Lux Meter"); - startActivity(intent); - break; - case R.id.show_guide: - bottomSheetBehavior.setState(bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN ? - BottomSheetBehavior.STATE_EXPANDED : BottomSheetBehavior.STATE_HIDDEN); - break; - case android.R.id.home: - this.finish(); - break; - default: - break; + public void getDataFromDataLogger() { + if (getIntent().getExtras() != null && getIntent().getExtras().getBoolean(KEY_LOG)) { + playingData = true; + recordedLuxData = LocalDataLog.with() + .getBlockOfLuxRecords(getIntent().getExtras().getLong(DATA_BLOCK)); + String title = titleFormat.format(recordedLuxData.get(0).getTime()); + getSupportActionBar().setTitle(title); } - return true; } + /** + * Once settings have been changed, those changes can be captured from onResume method. + */ @Override protected void onResume() { super.onResume(); - SharedPreferences sharedPref; - sharedPref = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); - if (checkGpsOnResume) { - if (gpsLogger.isGPSEnabled()) { - recordData = true; - gpsLogger.startFetchingLocation(); - ((LuxMeterFragmentData) selectedFragment).startSensorFetching(); - invalidateOptionsMenu(); - CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.data_recording_start) + "\n" + getString(R.string.location_enabled), null, null); - } else { - recordData = false; - Toast.makeText(getApplicationContext(), getString(R.string.gps_not_enabled), - Toast.LENGTH_SHORT).show(); - gpsLogger.removeUpdate(); - } - checkGpsOnResume = false; - } - locationPref = sharedPref.getBoolean(LuxMeterSettingFragment.KEY_INCLUDE_LOCATION, false); - if (!locationPref && gpsLogger != null) { - gpsLogger = null; - } - String highLimit = sharedPref.getString(LuxMeterSettingFragment.KEY_HIGH_LIMIT, "2000"); - String updatePeriod = sharedPref.getString(LuxMeterSettingFragment.KEY_UPDATE_PERIOD, "1000"); - LuxMeterFragmentData.setParameters(getValueFromText(highLimit, 10, 10000), getValueFromText(updatePeriod, 100, 1000)); + reinstateConfigurations(); } - @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { - if (requestCode == MY_PERMISSIONS_REQUEST_STORAGE_FOR_MAPS - && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - Intent MAP = new Intent(getApplicationContext(), MapsActivity.class); - startActivity(MAP); - } + private void reinstateConfigurations() { + SharedPreferences luxMeterConfigurations; + luxMeterConfigurations = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); + locationEnabled = luxMeterConfigurations.getBoolean(LuxMeterSettingFragment.KEY_INCLUDE_LOCATION, true); + LuxMeterDataFragment.setParameters( + getValueFromText(luxMeterConfigurations.getString(LuxMeterSettingFragment.KEY_HIGH_LIMIT, "2000"), + 10, 10000), + getValueFromText(luxMeterConfigurations.getString(LuxMeterSettingFragment.KEY_UPDATE_PERIOD, "1000"), + 100, 1000), + luxMeterConfigurations.getString(LuxMeterSettingFragment.KEY_LUX_SENSOR_TYPE, "0"), + luxMeterConfigurations.getString(LuxMeterSettingFragment.KEY_LUX_SENSOR_GAIN, "1")); } - public int getValueFromText(String strValue, int lowerBound, int upperBound) { - - if ("".equals(strValue)) { - return lowerBound; - } + private int getValueFromText(String strValue, int lowerBound, int upperBound) { + if (strValue.isEmpty()) return lowerBound; int value = Integer.parseInt(strValue); if (value > upperBound) return upperBound; else if (value < lowerBound) return lowerBound; else return value; } -} +} \ No newline at end of file diff --git a/app/src/main/java/io/pslab/activity/MultimeterActivity.java b/app/src/main/java/io/pslab/activity/MultimeterActivity.java index 73c39cc31..69dbbb073 100644 --- a/app/src/main/java/io/pslab/activity/MultimeterActivity.java +++ b/app/src/main/java/io/pslab/activity/MultimeterActivity.java @@ -117,8 +117,6 @@ protected void onCreate(final Bundle savedInstanceState) { scienceLab = ScienceLabCommon.scienceLab; knobMarker = getResources().getStringArray(io.pslab.R.array.multimeter_knob_states); setSupportActionBar(mToolbar); - android.support.v7.app.ActionBar actionBar = getSupportActionBar(); - actionBar.setDisplayHomeAsUpEnabled(true); setUpBottomSheet(); tvShadow.setOnClickListener(new View.OnClickListener() { @@ -472,9 +470,6 @@ public void onClick(DialogInterface dialogInterface, int i) { settingIntent.putExtra("title", getResources().getString(R.string.multimeter_configurations)); startActivity(settingIntent); break; - case android.R.id.home: - this.finish(); - break; default: break; } diff --git a/app/src/main/java/io/pslab/activity/PowerSourceActivity.java b/app/src/main/java/io/pslab/activity/PowerSourceActivity.java index b74972ece..d8abc788b 100644 --- a/app/src/main/java/io/pslab/activity/PowerSourceActivity.java +++ b/app/src/main/java/io/pslab/activity/PowerSourceActivity.java @@ -125,8 +125,6 @@ protected void onCreate(Bundle savedInstanceState) { ButterKnife.bind(this); setSupportActionBar(toolbar); - android.support.v7.app.ActionBar actionBar = getSupportActionBar(); - actionBar.setDisplayHomeAsUpEnabled(true); powerPreferences = getSharedPreferences(POWER_PREFERENCES, MODE_PRIVATE); @@ -265,9 +263,6 @@ public boolean onOptionsItemSelected(MenuItem item) { bottomSheetBehavior.setState(bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN ? BottomSheetBehavior.STATE_EXPANDED : BottomSheetBehavior.STATE_HIDDEN); break; - case android.R.id.home: - this.finish(); - break; default: break; } diff --git a/app/src/main/res/layout/fragment_faq.xml b/app/src/main/res/layout/fragment_faq.xml index fd6d4730d..900f62629 100644 --- a/app/src/main/res/layout/fragment_faq.xml +++ b/app/src/main/res/layout/fragment_faq.xml @@ -4,13 +4,14 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" - android:orientation="vertical" > + android:orientation="vertical"> + android:layout_weight="0.14" + android:childDivider="@android:color/transparent"> \ No newline at end of file diff --git a/app/src/main/res/layout/list_group.xml b/app/src/main/res/layout/list_group.xml index 9c002474a..16b13c259 100644 --- a/app/src/main/res/layout/list_group.xml +++ b/app/src/main/res/layout/list_group.xml @@ -9,36 +9,35 @@ + android:orientation="vertical"> + android:textColor="@color/colorPrimary" + android:textSize="@dimen/faq_question_text_size" /> + android:orientation="vertical"> diff --git a/app/src/main/res/layout/list_item.xml b/app/src/main/res/layout/list_item.xml index 989591be2..0f9f698d7 100644 --- a/app/src/main/res/layout/list_item.xml +++ b/app/src/main/res/layout/list_item.xml @@ -2,8 +2,9 @@ - + @@ -11,25 +12,24 @@ + android:textSize="@dimen/faq_question_text_size" /> + android:textSize="@dimen/text_size_wavegen" /> From e323371dce761c8d62e29ed6ba7b7a3cf4aa55d3 Mon Sep 17 00:00:00 2001 From: Prince Date: Sun, 9 Dec 2018 01:18:01 +0530 Subject: [PATCH 4/4] feat: Improve UI of FAQs --- app/src/main/java/io/pslab/activity/LuxMeterActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/io/pslab/activity/LuxMeterActivity.java b/app/src/main/java/io/pslab/activity/LuxMeterActivity.java index 4ee701b7f..1b8ded58e 100644 --- a/app/src/main/java/io/pslab/activity/LuxMeterActivity.java +++ b/app/src/main/java/io/pslab/activity/LuxMeterActivity.java @@ -133,4 +133,4 @@ private int getValueFromText(String strValue, int lowerBound, int upperBound) { else if (value < lowerBound) return lowerBound; else return value; } -} \ No newline at end of file +}