diff options
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java index c84f618..43203c8 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java @@ -16,7 +16,9 @@ package com.android.systemui.tuner; import android.app.Activity; +import android.app.Fragment; import android.os.Bundle; +import android.view.MenuItem; public class TunerActivity extends Activity { @@ -27,4 +29,36 @@ public class TunerActivity extends Activity { .commit(); } + /** + * Base class for direct entry points into + * tuner fragments + */ + private static abstract class FragmentTunerActivityBase extends Activity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + getActionBar().setDisplayHomeAsUpEnabled(true); + getFragmentManager().beginTransaction().replace(android.R.id.content, + getFragment()).commit(); + } + + protected abstract Fragment getFragment(); + + @Override + public final boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + finish(); + return true; + } + return super.onOptionsItemSelected(item); + } + } + + public static final class DemoModeActivity extends FragmentTunerActivityBase { + @Override + protected Fragment getFragment() { + return new DemoModeFragment(); + } + } } |