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

Commit 470dfcd0 authored by Daniel Sandler's avatar Daniel Sandler Committed by Android Git Automerger
Browse files

am a092482c: am 293f861a: Merge "Activate Dreams (screen saver) when desk-docked." into ics-mr1

* commit 'a092482c':
  Activate Dreams (screen saver) when desk-docked.
parents f27e94ce a092482c
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -46,17 +46,26 @@
            </intent-filter>
        </receiver>

        <!-- handle dock insertion, launch screensaver instead -->
        <!-- 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" />
                <category android:name="android.intent.category.DESK_DOCK" />
            </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:excludeFromRecents="true">
        </activity>
+29 −4
Original line number Diff line number Diff line
@@ -12,14 +12,22 @@ 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(
                    getContentResolver(), Settings.Secure.DREAM_COMPONENT);
                    context.getContentResolver(), Settings.Secure.DREAM_COMPONENT);
            if (component == null) {
                component = getResources().getString(com.android.internal.R.string.config_defaultDreamComponent);
                component = context.getResources().getString(
                    com.android.internal.R.string.config_defaultDreamComponent);
            }
            if (component != null) {
                ComponentName cn = ComponentName.unflattenFromString(component);
@@ -29,7 +37,8 @@ public class DreamsDockLauncher extends Activity {
                        | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
                        | Intent.FLAG_ACTIVITY_NO_USER_ACTION
                        );
                startActivity(zzz);
                Slog.v(TAG, "Starting screen saver on dock event: " + component);
                context.startActivity(zzz);
            } else {
                Slog.e(TAG, "Couldn't start screen saver: none selected");
            }
@@ -37,6 +46,22 @@ public class DreamsDockLauncher extends Activity {
            // no screensaver? give up
            Slog.e(TAG, "Couldn't start screen saver: none installed");
        }
        finish();
    }

    // Trap low-level dock events and launch the screensaver.
    public static class DockEventReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            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);
                }
            }
        }
    }
}