Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(411)

Unified Diff: blimp/client/app/android/java/src/org/chromium/blimp/app/settings/Preferences.java

Issue 2542083004: Make //blimp/client/app a real embedder of //blimp/client/public (Closed)
Patch Set: Fix findbugs issue Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: blimp/client/app/android/java/src/org/chromium/blimp/app/settings/Preferences.java
diff --git a/blimp/client/app/android/java/src/org/chromium/blimp/app/settings/Preferences.java b/blimp/client/app/android/java/src/org/chromium/blimp/app/settings/Preferences.java
index 4a64c9c8d633651024f8fff278daf49325d4edbb..f246631623803725ccc46fc2038c8e873a9c5d18 100644
--- a/blimp/client/app/android/java/src/org/chromium/blimp/app/settings/Preferences.java
+++ b/blimp/client/app/android/java/src/org/chromium/blimp/app/settings/Preferences.java
@@ -4,21 +4,42 @@
package org.chromium.blimp.app.settings;
-import android.app.Activity;
+import android.app.Fragment;
+import android.content.Intent;
import android.os.Bundle;
+import android.preference.Preference;
+import android.preference.PreferenceFragment;
+import android.support.v7.app.AppCompatActivity;
/**
* An activity to display the settings and version info.
*/
-public class Preferences extends Activity {
- private static final String TAG = "Preferences";
+public class Preferences
+ extends AppCompatActivity implements PreferenceFragment.OnPreferenceStartFragmentCallback {
+ private static final String EXTRA_SHOW_FRAGMENT = "show_fragment";
+ private static final String EXTRA_SHOW_FRAGMENT_ARGUMENTS = "show_fragment_args";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- getFragmentManager()
- .beginTransaction()
- .replace(android.R.id.content, new AboutBlimpPreferences())
- .commit();
+
+ String initialFragment = getIntent().getStringExtra(EXTRA_SHOW_FRAGMENT);
+ Bundle initialArguments = getIntent().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+
+ if (initialFragment == null) initialFragment = AppBlimpPreferenceScreen.class.getName();
+ Fragment fragment = Fragment.instantiate(this, initialFragment, initialArguments);
+
+ getFragmentManager().beginTransaction().replace(android.R.id.content, fragment).commit();
+ }
+
+ @Override
+ public boolean onPreferenceStartFragment(
+ PreferenceFragment preferenceFragment, Preference preference) {
+ Intent intent = new Intent(Intent.ACTION_MAIN);
+ intent.setClass(this, getClass());
+ intent.putExtra(EXTRA_SHOW_FRAGMENT, preference.getFragment());
+ intent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, preference.getExtras());
+ startActivity(intent);
+ return true;
}
}

Powered by Google App Engine
This is Rietveld 408576698