summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/settings
diff options
context:
space:
mode:
authorAlan Newberger <alann@google.com>2014-10-14 12:54:05 -0700
committerAlan Newberger <alann@google.com>2014-10-14 13:27:10 -0700
commitbda2da2ec52bf2cc4c4df058bac20be6eb9ceab3 (patch)
tree1e66919d6d94a7c371c5316e1a4e0cff243da125 /src/com/android/camera/settings
parenta5db8bebb51ff666b4fa4bbadc3d0457f36041f2 (diff)
downloadandroid_packages_apps_Camera2-bda2da2ec52bf2cc4c4df058bac20be6eb9ceab3.tar.gz
android_packages_apps_Camera2-bda2da2ec52bf2cc4c4df058bac20be6eb9ceab3.tar.bz2
android_packages_apps_Camera2-bda2da2ec52bf2cc4c4df058bac20be6eb9ceab3.zip
Migrate Settings Fragment to use arguments
Fix error in settings fragment using a constructor vs argument bundle. Bug: 17626333 Change-Id: I5842706a3b5060dac1f997ca4035b4cc31ce0287
Diffstat (limited to 'src/com/android/camera/settings')
-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);