summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/AndroidManifest_cm.xml11
-rw-r--r--packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java34
2 files changed, 43 insertions, 2 deletions
diff --git a/packages/SystemUI/AndroidManifest_cm.xml b/packages/SystemUI/AndroidManifest_cm.xml
index 0d96372..d3837b6 100644
--- a/packages/SystemUI/AndroidManifest_cm.xml
+++ b/packages/SystemUI/AndroidManifest_cm.xml
@@ -53,7 +53,14 @@
android:label="@string/lockscreen_targets_message"
android:theme="@android:style/Theme.Material.Settings"
android:process=":cmsettings"
- android:exported="true">
- </activity>
+ android:exported="true" />
+
+ <activity android:name=".tuner.TunerActivity$DemoModeActivity"
+ android:icon="@drawable/tuner"
+ android:theme="@android:style/Theme.Material.Settings"
+ android:label="@string/demo_mode"
+ android:process=":tuner"
+ android:exported="true"
+ android:permission="android.permission.STATUS_BAR" />
</application>
</manifest>
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();
+ }
+ }
}