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

Commit d2b22a88 authored by Daniel Sandler's avatar Daniel Sandler
Browse files

Put screensavers back in the icebox for now. DO NOT MERGE.

Bug: 5689684
Change-Id: I3a5291c3520bb43e35d55714f1522e4ae7f6e63c
parent 2f504d9e
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
@@ -4019,28 +4019,6 @@ public final class Settings {
        public static final String SETUP_PREPAID_DETECTION_REDIR_HOST =
                "setup_prepaid_detection_redir_host";

        /**
         * Whether the screensaver is enabled.
         * @hide
         */
        public static final String SCREENSAVER_ENABLED = "screensaver_enabled";

        /**
         * The user's chosen screensaver component.
         *
         * This component will be launched by the PhoneWindowManager after a timeout when not on
         * battery, or upon dock insertion (if SCREENSAVER_ACTIVATE_ON_DOCK is set to 1).
         * @hide
         */
        public static final String SCREENSAVER_COMPONENT = "screensaver_component";

        /**
         * Whether the screensaver should be automatically launched when the device is inserted
         * into a (desk) dock.
         * @hide
         */
        public static final String SCREENSAVER_ACTIVATE_ON_DOCK = "screensaver_activate_on_dock";

        /** {@hide} */
        public static final String NETSTATS_ENABLED = "netstats_enabled";
        /** {@hide} */
+0 −3
Original line number Diff line number Diff line
@@ -741,7 +741,4 @@
    <string name="config_wimaxServiceClassname"></string>
    <!-- Name of the wimax state tracker clas -->
    <string name="config_wimaxStateTrackerClassname"></string>

    <!-- Name of screensaver components to look for if none has been chosen by the user -->
    <string name="config_defaultDreamComponent">com.google.android.deskclock/com.android.deskclock.Screensaver</string>
</resources>
+0 −20
Original line number Diff line number Diff line
@@ -46,26 +46,6 @@
            </intent-filter>
        </receiver>

        <!-- should you need to launch the screensaver, this is a good way to do it -->
        <activity android:name=".DreamsDockLauncher"
                android:theme="@android:style/Theme.Dialog"
                android:label="@string/dreams_dock_launcher">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <!-- launch screensaver on (desk) dock event -->
        <receiver android:name=".DreamsDockLauncher$DockEventReceiver" 
            android:exported="true"
            >
            <intent-filter>
                <action android:name="android.intent.action.DOCK_EVENT" />
            </intent-filter>
        </receiver>


        <activity android:name=".usb.UsbStorageActivity"
                  android:label="@*android:string/usb_storage_activity_title"
                  android:excludeFromRecents="true">
+0 −3
Original line number Diff line number Diff line
@@ -362,7 +362,4 @@

    <!-- Content description of the clear button in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
    <string name="accessibility_clear_all">Clear all notifications.</string>

    <!-- Description of the desk dock action that invokes the Android Dreams screen saver feature -->
    <string name="dreams_dock_launcher">Activate screen saver</string>
</resources>
+0 −78
Original line number Diff line number Diff line
package com.android.systemui;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Slog;

public class DreamsDockLauncher extends Activity {
    private static final String TAG = "DreamsDockLauncher";

    // Launch the screen saver if started as an activity.
    @Override
    protected void onCreate (Bundle icicle) {
        super.onCreate(icicle);
        launchDream(this);
        finish();
    }

    private static void launchDream(Context context) {
        try {
            String component = Settings.Secure.getString(
                    context.getContentResolver(), Settings.Secure.SCREENSAVER_COMPONENT);
            if (component == null) {
                component = context.getResources().getString(
                    com.android.internal.R.string.config_defaultDreamComponent);
            }
            if (component != null) {
                // dismiss the notification shade, recents, etc.
                context.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

                ComponentName cn = ComponentName.unflattenFromString(component);
                Intent zzz = new Intent(Intent.ACTION_MAIN)
                    .setComponent(cn)
                    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                            | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
                            | Intent.FLAG_ACTIVITY_NO_USER_ACTION
                            | Intent.FLAG_FROM_BACKGROUND
                            | Intent.FLAG_ACTIVITY_NO_HISTORY
                        );
                Slog.v(TAG, "Starting screen saver on dock event: " + component);
                context.startActivity(zzz);
            } else {
                Slog.e(TAG, "Couldn't start screen saver: none selected");
            }
        } catch (android.content.ActivityNotFoundException exc) {
            // no screensaver? give up
            Slog.e(TAG, "Couldn't start screen saver: none installed");
        }
    }

    // Trap low-level dock events and launch the screensaver.
    public static class DockEventReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            final boolean activateOnDock = 0 != Settings.Secure.getInt(
                context.getContentResolver(), 
                Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, 1);

            if (!activateOnDock) return;

            if (Intent.ACTION_DOCK_EVENT.equals(intent.getAction())) {
                Bundle extras = intent.getExtras();
                int state = extras
                        .getInt(Intent.EXTRA_DOCK_STATE, Intent.EXTRA_DOCK_STATE_UNDOCKED);
                if (state == Intent.EXTRA_DOCK_STATE_DESK
                        || state == Intent.EXTRA_DOCK_STATE_LE_DESK
                        || state == Intent.EXTRA_DOCK_STATE_HE_DESK) {
                    launchDream(context);
                }
            }
        }
    }
}
Loading