111159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown/* 232f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * Copyright (C) 2012 The Android Open Source Project 332f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * 432f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * Licensed under the Apache License, Version 2.0 (the "License"); 532f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * you may not use this file except in compliance with the License. 632f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * You may obtain a copy of the License at 732f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * 832f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * http://www.apache.org/licenses/LICENSE-2.0 932f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * 1032f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * Unless required by applicable law or agreed to in writing, software 1132f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * distributed under the License is distributed on an "AS IS" BASIS, 1232f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1332f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * See the License for the specific language governing permissions and 1432f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler * limitations under the License. 1532f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler */ 1632f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler 1732f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandlerpackage com.android.systemui; 1832f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler 1932f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandlerimport android.app.Activity; 2032f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandlerimport android.content.Intent; 2111159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brownimport android.service.dreams.Sandman; 2211159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown 2311159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown/** 2411159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown * A simple activity that launches a dream. 2511159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown * <p> 2611159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown * Note: This Activity is special. If this class is moved to another package or 2711159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown * renamed, be sure to update the component name in {@link Sandman}. 2811159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown * </p> 2911159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown */ 3032f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandlerpublic class Somnambulator extends Activity { 3132f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler public Somnambulator() { 3232f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler } 333a12029a3bb6a6d59b3ab65fa923ce96f9f15c26Daniel Sandler 3432f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler @Override 3532f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler public void onStart() { 3632f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler super.onStart(); 3711159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown 3832f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler final Intent launchIntent = getIntent(); 3932f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler final String action = launchIntent.getAction(); 4032f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler if (Intent.ACTION_CREATE_SHORTCUT.equals(action)) { 4132f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler Intent shortcutIntent = new Intent(this, Somnambulator.class); 4232f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 4332f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler | Intent.FLAG_ACTIVITY_NEW_TASK); 4432f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler Intent resultIntent = new Intent(); 4532f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler resultIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, 46b055aa8ec000fd62e4ce6456eac277463aacd7d2Daniel Sandler Intent.ShortcutIconResource.fromContext(this, R.mipmap.ic_launcher_dreams)); 4732f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler resultIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); 4832f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler resultIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.start_dreams)); 4932f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler setResult(RESULT_OK, resultIntent); 5032f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler } else { 513a12029a3bb6a6d59b3ab65fa923ce96f9f15c26Daniel Sandler boolean docked = launchIntent.hasCategory(Intent.CATEGORY_DESK_DOCK); 5211159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown if (docked) { 5311159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown Sandman.startDreamWhenDockedIfAppropriate(this); 543a12029a3bb6a6d59b3ab65fa923ce96f9f15c26Daniel Sandler } else { 5511159e9a785a143c9f3765bdf5a5ccfd77842d7aJeff Brown Sandman.startDreamByUserRequest(this); 5632f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler } 5732f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler } 5832f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler finish(); 5932f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler } 6032f6fd55b1bcabc97945827d88d60ba48edf1a40Daniel Sandler} 61