Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 98d7c7a8 authored by Jason Monk's avatar Jason Monk
Browse files

The return and fixing of demo mode

Change-Id: I2bcf3435b92c80b4ab3c46cba02902820c942c7c
Fixes: 27919212
parent 67dd5183
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -235,6 +235,19 @@
                    android:value="com.android.settings.category.system" />
        </activity>

        <activity-alias android:name=".DemoMode"
                  android:targetActivity=".tuner.TunerActivity"
                  android:icon="@drawable/tuner"
                  android:theme="@style/TunerSettings"
                  android:label="@string/demo_mode"
                  android:process=":tuner"
                  android:exported="true">
            <intent-filter>
                <action android:name="com.android.settings.action.DEMO_MODE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity-alias>

        <!-- Service used by secondary users to register themselves with the system user. -->
        <service android:name=".recents.RecentsSystemUserService"
            android:exported="false"
+1 −32
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ import android.provider.Settings;

import com.android.systemui.statusbar.policy.BatteryController;

public class BatteryMeterDrawable extends Drawable implements DemoMode,
public class BatteryMeterDrawable extends Drawable implements
        BatteryController.BatteryStateChangeCallback {

    private static final float ASPECT_RATIO = 9.5f / 14.5f;
@@ -184,14 +184,12 @@ public class BatteryMeterDrawable extends Drawable implements DemoMode,
        mContext.getContentResolver().registerContentObserver(
                Settings.System.getUriFor(SHOW_PERCENT_SETTING), false, mSettingObserver);
        updateShowPercent();
        if (mDemoMode) return;
        mBatteryController.addStateChangedCallback(this);
    }

    public void stopListening() {
        mListening = false;
        mContext.getContentResolver().unregisterContentObserver(mSettingObserver);
        if (mDemoMode) return;
        mBatteryController.removeStateChangedCallback(this);
    }

@@ -507,35 +505,6 @@ public class BatteryMeterDrawable extends Drawable implements DemoMode,
        return 0;
    }

    private boolean mDemoMode;

    @Override
    public void dispatchDemoCommand(String command, Bundle args) {
        if (!mDemoMode && command.equals(COMMAND_ENTER)) {
            mBatteryController.removeStateChangedCallback(this);
            mDemoMode = true;
            if (mListening) {
                mBatteryController.removeStateChangedCallback(this);
            }
        } else if (mDemoMode && command.equals(COMMAND_EXIT)) {
            mDemoMode = false;
            postInvalidate();
            if (mListening) {
                mBatteryController.addStateChangedCallback(this);
            }
        } else if (mDemoMode && command.equals(COMMAND_BATTERY)) {
           String level = args.getString("level");
           String plugged = args.getString("plugged");
           if (level != null) {
               mLevel = Math.min(Math.max(Integer.parseInt(level), 0), 100);
           }
           if (plugged != null) {
               mPluggedIn = Boolean.parseBoolean(plugged);
           }
           postInvalidate();
        }
    }

    private final class SettingObserver extends ContentObserver {
        public SettingObserver() {
            super(new Handler());
+5 −0
Original line number Diff line number Diff line
@@ -239,6 +239,11 @@ public class CarBatteryController extends BroadcastReceiver implements BatteryCo
        }
    }

    @Override
    public void dispatchDemoCommand(String command, Bundle args) {
        // TODO: Car demo mode.
    }

    @Override
    public boolean isPowerSave() {
        // Power save is not valid for the car, so always return false.
+1 −2
Original line number Diff line number Diff line
@@ -3591,11 +3591,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
            dispatchDemoCommandToView(command, args, R.id.clock);
        }
        if (modeChange || command.equals(COMMAND_BATTERY)) {
            dispatchDemoCommandToView(command, args, R.id.battery);
            mBatteryController.dispatchDemoCommand(command, args);
        }
        if (modeChange || command.equals(COMMAND_STATUS)) {
            mIconController.dispatchDemoCommand(command, args);

        }
        if (mNetworkController != null && (modeChange || command.equals(COMMAND_NETWORK))) {
            mNetworkController.dispatchDemoCommand(command, args);
+3 −1
Original line number Diff line number Diff line
@@ -16,10 +16,12 @@

package com.android.systemui.statusbar.policy;

import com.android.systemui.DemoMode;

import java.io.FileDescriptor;
import java.io.PrintWriter;

public interface BatteryController {
public interface BatteryController extends DemoMode {
    /**
     * Prints the current state of the {@link BatteryController} to the given {@link PrintWriter}.
     */
Loading