summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Newberger <alann@google.com>2014-10-14 20:28:49 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-10-14 20:28:49 +0000
commit3972da65f958edcfed26f1c32e0cf4e8361306e7 (patch)
treee92ff09f4b9a081a41b8d867333a63ef16a84c14 /src
parent7a3ce60cfe7f5a554ab8edeb08c203196b17b164 (diff)
parentbda2da2ec52bf2cc4c4df058bac20be6eb9ceab3 (diff)
downloadandroid_packages_apps_Camera2-3972da65f958edcfed26f1c32e0cf4e8361306e7.tar.gz
android_packages_apps_Camera2-3972da65f958edcfed26f1c32e0cf4e8361306e7.tar.bz2
android_packages_apps_Camera2-3972da65f958edcfed26f1c32e0cf4e8361306e7.zip
Merge "Migrate Settings Fragment to use arguments" into ub-camera-glacier
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/settings/CameraSettingsActivity.java22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/com/android/camera/settings/CameraSettingsActivity.java b/src/com/android/camera/settings/CameraSettingsActivity.java
index f09f33b20..db9c62c42 100644
--- a/src/com/android/camera/settings/CameraSettingsActivity.java
+++ b/src/com/android/camera/settings/CameraSettingsActivity.java
@@ -50,6 +50,13 @@ import java.util.List;
* Provides the settings UI for the Camera app.
*/
public class CameraSettingsActivity extends FragmentActivity {
+ /**
+ * Used to denote a subsection of the preference tree to display in the
+ * Fragment. For instance, if 'Advanced' key is provided, the advanced
+ * preference section will be treated as the root for display. This is used
+ * to enable activity transitions between preference sections, and allows
+ * back/up stack to operate correctly.
+ */
public static final String PREF_SCREEN_EXTRA = "pref_screen_extra";
@Override
@@ -61,7 +68,10 @@ public class CameraSettingsActivity extends FragmentActivity {
actionBar.setTitle(R.string.mode_settings);
String prefKey = getIntent().getStringExtra(PREF_SCREEN_EXTRA);
- CameraSettingsFragment dialog = new CameraSettingsFragment(prefKey);
+ CameraSettingsFragment dialog = new CameraSettingsFragment();
+ Bundle bundle = new Bundle(1);
+ bundle.putString(PREF_SCREEN_EXTRA, prefKey);
+ dialog.setArguments(bundle);
getFragmentManager().beginTransaction().replace(android.R.id.content, dialog).commit();
}
@@ -85,7 +95,7 @@ public class CameraSettingsActivity extends FragmentActivity {
private static DecimalFormat sMegaPixelFormat = new DecimalFormat("##0.0");
private String[] mCamcorderProfileNames;
private CameraDeviceInfo mInfos;
- private final String mPrefKey;
+ private String mPrefKey;
private boolean mGetSubPrefAsRoot = true;
// Selected resolutions for the different cameras and sizes.
@@ -96,13 +106,13 @@ public class CameraSettingsActivity extends FragmentActivity {
private SelectedVideoQualities mVideoQualitiesBack;
private SelectedVideoQualities mVideoQualitiesFront;
- public CameraSettingsFragment(String prefKey) {
- mPrefKey = prefKey;
- }
-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ Bundle arguments = getArguments();
+ if (arguments != null) {
+ mPrefKey = arguments.getString(PREF_SCREEN_EXTRA);
+ }
Context context = this.getActivity().getApplicationContext();
addPreferencesFromResource(R.xml.camera_preferences);