diff options
13 files changed, 133 insertions, 599 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java b/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java index a9a606f25e5f..b6d7d7e28fcf 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java +++ b/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java @@ -64,11 +64,9 @@ public class AlternateRecentsComponent implements ActivityOptions.OnAnimationSta Context mContext; SystemServicesProxy mSystemServicesProxy; - - // Recents service binding Handler mHandler; - boolean mBootCompleted = false; - boolean mStartAnimationTriggered = false; + boolean mBootCompleted; + boolean mStartAnimationTriggered; // Task launching RecentsConfiguration mConfig; @@ -95,9 +93,7 @@ public class AlternateRecentsComponent implements ActivityOptions.OnAnimationSta } public void onStart() { - if (Console.Enabled) { - Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|start]"); - } + // Do nothing } public void onBootCompleted() { @@ -106,9 +102,6 @@ public class AlternateRecentsComponent implements ActivityOptions.OnAnimationSta /** Shows the recents */ public void onShowRecents(boolean triggeredFromAltTab, View statusBarView) { - if (Console.Enabled) { - Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|showRecents]"); - } mStatusBarView = statusBarView; mTriggeredFromAltTab = triggeredFromAltTab; @@ -121,10 +114,6 @@ public class AlternateRecentsComponent implements ActivityOptions.OnAnimationSta /** Hides the recents */ public void onHideRecents(boolean triggeredFromAltTab) { - if (Console.Enabled) { - Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|hideRecents]"); - } - if (mBootCompleted) { if (isRecentsTopMost(getTopMostTask(), null)) { // Notify recents to hide itself @@ -139,13 +128,6 @@ public class AlternateRecentsComponent implements ActivityOptions.OnAnimationSta /** Toggles the alternate recents activity */ public void onToggleRecents(View statusBarView) { - if (Console.Enabled) { - Console.logStartTracingTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey); - Console.logStartTracingTime(Constants.Log.App.TimeRecentsLaunchTask, - Constants.Log.App.TimeRecentsLaunchKey); - Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|toggleRecents]", ""); - } mStatusBarView = statusBarView; mTriggeredFromAltTab = false; @@ -223,14 +205,6 @@ public class AlternateRecentsComponent implements ActivityOptions.OnAnimationSta intent.setPackage(mContext.getPackageName()); intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); mContext.sendBroadcast(intent); - - // Time this path - if (Console.Enabled) { - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "receivedToggleRecents"); - Console.logTraceTime(Constants.Log.App.TimeRecentsLaunchTask, - Constants.Log.App.TimeRecentsLaunchKey, "receivedToggleRecents"); - } mLastToggleTime = System.currentTimeMillis(); return; } else { @@ -395,11 +369,6 @@ public class AlternateRecentsComponent implements ActivityOptions.OnAnimationSta startAlternateRecentsActivity(topTask, opts, null); } } - - if (Console.Enabled) { - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "startRecentsActivity"); - } mLastToggleTime = System.currentTimeMillis(); } @@ -417,10 +386,9 @@ public class AlternateRecentsComponent implements ActivityOptions.OnAnimationSta intent.putExtra(EXTRA_TRIGGERED_FROM_ALT_TAB, mTriggeredFromAltTab); intent.putExtra(EXTRA_TRIGGERED_FROM_TASK_ID, (topTask != null) ? topTask.id : -1); if (opts != null) { - mContext.startActivityAsUser(intent, opts.toBundle(), new UserHandle( - UserHandle.USER_CURRENT)); + mContext.startActivityAsUser(intent, opts.toBundle(), UserHandle.CURRENT); } else { - mContext.startActivityAsUser(intent, new UserHandle(UserHandle.USER_CURRENT)); + mContext.startActivityAsUser(intent, UserHandle.CURRENT); } } diff --git a/packages/SystemUI/src/com/android/systemui/recents/Constants.java b/packages/SystemUI/src/com/android/systemui/recents/Constants.java index e7ac2e1ec568..c49e244a3265 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/Constants.java +++ b/packages/SystemUI/src/com/android/systemui/recents/Constants.java @@ -52,43 +52,6 @@ public class Constants { } } - public static class Log { - public static class App { - public static final String TimeRecentsStartupKey = "startup"; - public static final String TimeRecentsLaunchKey = "launchTask"; - public static final String TimeRecentsScreenshotTransitionKey = "screenshot"; - public static final boolean TimeRecentsStartup = false; - public static final boolean TimeRecentsLaunchTask = false; - public static final boolean TimeRecentsScreenshotTransition = false; - - - public static final boolean RecentsComponent = false; - public static final boolean TaskDataLoader = false; - public static final boolean SystemUIHandshake = false; - public static final boolean TimeSystemCalls = false; - public static final boolean Memory = false; - public static final boolean Search = false; - } - - public static class UI { - public static final boolean Draw = false; - public static final boolean ClickEvents = false; - public static final boolean TouchEvents = false; - public static final boolean MeasureAndLayout = false; - public static final boolean HwLayers = false; - public static final boolean Focus = false; - } - - public static class TaskStack { - public static final boolean SynchronizeViewsWithModel = false; - } - - public static class ViewPool { - public static final boolean PoolCallbacks = false; - } - } - - /** XXX: We are going to move almost all of these into a resource once they are nailed down. */ public static class Values { public static class App { public static int AppWidgetHostId = 1024; diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java index 1e581c1daf4a..29a02623552f 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java @@ -52,16 +52,23 @@ import java.lang.ref.WeakReference; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; -/* Activity */ +/** + * The main Recents activity that is started from AlternateRecentsComponent. + */ public class RecentsActivity extends Activity implements RecentsView.RecentsViewCallbacks, RecentsAppWidgetHost.RecentsAppWidgetHostCallbacks, FullscreenTransitionOverlayView.FullScreenTransitionViewCallbacks { + // Actions and Extras sent from AlternateRecentsComponent final static String EXTRA_TRIGGERED_FROM_ALT_TAB = "extra_triggered_from_alt_tab"; final static String ACTION_START_ENTER_ANIMATION = "action_start_enter_animation"; final static String ACTION_TOGGLE_RECENTS_ACTIVITY = "action_toggle_recents_activity"; final static String ACTION_HIDE_RECENTS_ACTIVITY = "action_hide_recents_activity"; + RecentsConfiguration mConfig; + boolean mVisible; + + // Top level views RecentsView mRecentsView; SystemBarScrimViews mScrimViews; ViewStub mEmptyViewStub; @@ -69,29 +76,29 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView ViewStub mFullscreenOverlayStub; FullscreenTransitionOverlayView mFullScreenOverlayView; - RecentsConfiguration mConfig; - + // Search AppWidget RecentsAppWidgetHost mAppWidgetHost; AppWidgetProviderInfo mSearchAppWidgetInfo; AppWidgetHostView mSearchAppWidgetHostView; - boolean mVisible; // Runnables to finish the Recents activity - FinishRecentsRunnable mFinishRunnable = new FinishRecentsRunnable(true); + FinishRecentsRunnable mFinishRunnable = new FinishRecentsRunnable(); FinishRecentsRunnable mFinishLaunchHomeRunnable; /** - * A Runnable to finish Recents either with/without a transition, and either by calling finish() - * or just launching the specified intent. + * A common Runnable to finish Recents either by calling finish() (with a custom animation) or + * launching Home with some ActivityOptions. Generally we always launch home when we exit + * Recents rather than just finishing the activity since we don't know what is behind Recents in + * the task stack. The only case where we finish() directly is when we are cancelling the full + * screen transition from the app. */ class FinishRecentsRunnable implements Runnable { - boolean mUseCustomFinishTransition; Intent mLaunchIntent; ActivityOptions mLaunchOpts; - public FinishRecentsRunnable(boolean withTransition) { - mUseCustomFinishTransition = withTransition; + public FinishRecentsRunnable() { + // Do nothing } /** @@ -111,77 +118,66 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView // Finish Recents if (mLaunchIntent != null) { if (mLaunchOpts != null) { - startActivityAsUser(mLaunchIntent, new UserHandle(UserHandle.USER_CURRENT)); + startActivityAsUser(mLaunchIntent, UserHandle.CURRENT); } else { - startActivityAsUser(mLaunchIntent, mLaunchOpts.toBundle(), - new UserHandle(UserHandle.USER_CURRENT)); + startActivityAsUser(mLaunchIntent, mLaunchOpts.toBundle(), UserHandle.CURRENT); } } else { finish(); - if (mUseCustomFinishTransition) { - overridePendingTransition(R.anim.recents_to_launcher_enter, - R.anim.recents_to_launcher_exit); - } + overridePendingTransition(R.anim.recents_to_launcher_enter, + R.anim.recents_to_launcher_exit); } } } - // Broadcast receiver to handle messages from AlternateRecentsComponent + /** + * Broadcast receiver to handle messages from AlternateRecentsComponent. + */ final BroadcastReceiver mServiceBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|serviceBroadcast]", action, Console.AnsiRed); - } if (action.equals(ACTION_HIDE_RECENTS_ACTIVITY)) { if (intent.getBooleanExtra(EXTRA_TRIGGERED_FROM_ALT_TAB, false)) { - // Dismiss recents, launching the focused task - dismissRecentsIfVisible(); + // If we are hiding from releasing Alt-Tab, dismiss Recents to the focused app + dismissRecentsToFocusedTaskOrHome(false); } else { - // If we are mid-animation into Recents, then reverse it and finish - if (mFullScreenOverlayView == null || - !mFullScreenOverlayView.cancelAnimateOnEnterRecents(mFinishRunnable)) { - // Otherwise, either finish Recents, or launch Home directly - ReferenceCountedTrigger exitTrigger = new ReferenceCountedTrigger(context, - null, mFinishLaunchHomeRunnable, null); - mRecentsView.startExitToHomeAnimation( - new ViewAnimation.TaskViewExitContext(exitTrigger)); - } + // Otherwise, dismiss Recents to Home + dismissRecentsToHome(true); } } else if (action.equals(ACTION_TOGGLE_RECENTS_ACTIVITY)) { - // Try and unfilter and filtered stacks - if (!mRecentsView.unfilterFilteredStacks()) { - // If there are no filtered stacks, dismiss recents and launch the first task - dismissRecentsIfVisible(); - } + // If we are toggling Recents, then first unfilter any filtered stacks first + dismissRecentsToFocusedTaskOrHome(true); } else if (action.equals(ACTION_START_ENTER_ANIMATION)) { // Try and start the enter animation (or restart it on configuration changed) ReferenceCountedTrigger t = new ReferenceCountedTrigger(context, null, null, null); mRecentsView.startEnterRecentsAnimation(new ViewAnimation.TaskViewEnterContext( mFullScreenOverlayView, t)); - // Call our callback onEnterAnimationTriggered(); } } }; - // Broadcast receiver to handle messages from the system + /** + * Broadcast receiver to handle messages from the system + */ final BroadcastReceiver mSystemBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); - if (action.equals(Intent.ACTION_SCREEN_OFF) && mVisible) { - mFinishLaunchHomeRunnable.run(); + if (action.equals(Intent.ACTION_SCREEN_OFF)) { + // When the screen turns off, dismiss Recents to Home + dismissRecentsToHome(false); } else if (action.equals(SearchManager.INTENT_GLOBAL_SEARCH_ACTIVITY_CHANGED)) { - // Refresh the search widget + // When the search activity changes, update the Search widget refreshSearchWidget(); } } }; - // Debug trigger + /** + * A custom debug trigger to listen for a debug key chord. + */ final DebugTrigger mDebugTrigger = new DebugTrigger(new Runnable() { @Override public void run() { @@ -211,15 +207,17 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView mConfig.launchedToTaskId = launchIntent.getIntExtra( AlternateRecentsComponent.EXTRA_TRIGGERED_FROM_TASK_ID, -1); - // Add the default no-recents layout - if (mEmptyView == null) { - mEmptyView = mEmptyViewStub.inflate(); - } + // Update the top level view's visibilities if (mConfig.launchedWithNoRecentTasks) { + if (mEmptyView == null) { + mEmptyView = mEmptyViewStub.inflate(); + } mEmptyView.setVisibility(View.VISIBLE); mRecentsView.setSearchBarVisibility(View.GONE); } else { - mEmptyView.setVisibility(View.GONE); + if (mEmptyView != null) { + mEmptyView.setVisibility(View.GONE); + } if (mRecentsView.hasSearchBar()) { mRecentsView.setSearchBarVisibility(View.VISIBLE); } else { @@ -227,7 +225,7 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView } } - // Show the scrim if we animate into Recents without window transitions + // Animate the SystemUI scrims into view mScrimViews.prepareEnterRecentsAnimation(); } @@ -250,12 +248,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView ssp.unbindSearchAppWidget(mAppWidgetHost, appWidgetId); appWidgetId = -1; } - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|onCreate|settings|appWidgetId]", - "Id: " + appWidgetId, - Console.AnsiBlue); - } } // If there is no id, then bind a new search app widget @@ -263,13 +255,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView Pair<Integer, AppWidgetProviderInfo> widgetInfo = ssp.bindSearchAppWidget(mAppWidgetHost); if (widgetInfo != null) { - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|onCreate|searchWidget]", - "Id: " + widgetInfo.first + " Info: " + widgetInfo.second, - Console.AnsiBlue); - } - // Save the app widget id into the settings mConfig.updateSearchBarAppWidgetId(this, widgetInfo.first); mSearchAppWidgetInfo = widgetInfo.second; @@ -283,12 +268,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView if (Constants.DebugFlags.App.EnableSearchLayout) { int appWidgetId = mConfig.searchBarAppWidgetId; if (appWidgetId >= 0) { - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|onCreate|addSearchAppWidgetView]", - "Id: " + appWidgetId, - Console.AnsiBlue); - } mSearchAppWidgetHostView = mAppWidgetHost.createView(this, appWidgetId, mSearchAppWidgetInfo); Bundle opts = new Bundle(); @@ -305,28 +284,50 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView } /** Dismisses recents if we are already visible and the intent is to toggle the recents view */ - boolean dismissRecentsIfVisible() { + boolean dismissRecentsToFocusedTaskOrHome(boolean checkFilteredStackState) { if (mVisible) { - // If we are mid-animation into Recents, then reverse it and finish - if (mFullScreenOverlayView == null || - !mFullScreenOverlayView.cancelAnimateOnEnterRecents(mFinishRunnable)) { - // If we have a focused task, then launch that task - if (!mRecentsView.launchFocusedTask()) { - if (mConfig.launchedFromHome) { - // Just start the animation out of recents - ReferenceCountedTrigger exitTrigger = new ReferenceCountedTrigger(this, - null, mFinishLaunchHomeRunnable, null); - mRecentsView.startExitToHomeAnimation( - new ViewAnimation.TaskViewExitContext(exitTrigger)); - } else { - // Otherwise, try and launch the first task - if (!mRecentsView.launchFirstTask()) { - // If there are no tasks, then just finish recents - mFinishLaunchHomeRunnable.run(); - } - } - } + // If we are mid-animation into Recents, reverse the animation now + if (mFullScreenOverlayView != null && + mFullScreenOverlayView.cancelAnimateOnEnterRecents(mFinishRunnable)) return true; + // If we currently have filtered stacks, then unfilter those first + if (checkFilteredStackState && + mRecentsView.unfilterFilteredStacks()) return true; + // If we have a focused Task, launch that Task now + if (mRecentsView.launchFocusedTask()) return true; + // If we launched from Home, then return to Home + if (mConfig.launchedFromHome) { + dismissRecentsToHomeRaw(true); + return true; } + // Otherwise, try and return to the first Task in the stack + if (mRecentsView.launchFirstTask()) return true; + // If none of the other cases apply, then just go Home + dismissRecentsToHomeRaw(true); + return true; + } + return false; + } + + /** Dismisses Recents directly to Home. */ + void dismissRecentsToHomeRaw(boolean animated) { + if (animated) { + ReferenceCountedTrigger exitTrigger = new ReferenceCountedTrigger(this, + null, mFinishLaunchHomeRunnable, null); + mRecentsView.startExitToHomeAnimation( + new ViewAnimation.TaskViewExitContext(exitTrigger)); + } else { + mFinishLaunchHomeRunnable.run(); + } + } + + /** Dismisses Recents directly to Home if we currently aren't transitioning. */ + boolean dismissRecentsToHome(boolean animated) { + if (mVisible) { + // If we are mid-animation into Recents, reverse the animation now + if (mFullScreenOverlayView != null && + mFullScreenOverlayView.cancelAnimateOnEnterRecents(mFinishRunnable)) return true; + // Return to Home + dismissRecentsToHomeRaw(animated); return true; } return false; @@ -336,13 +337,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if (Console.Enabled) { - Console.logDivider(Constants.Log.App.SystemUIHandshake); - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onCreate]", - getIntent().getAction() + " visible: " + mVisible, Console.AnsiRed); - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "onCreate"); - } // Initialize the loader and the configuration RecentsTaskLoader.initialize(this); @@ -410,11 +404,13 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView } void onConfigurationChange() { + // Update RecentsConfiguration + mConfig = RecentsConfiguration.reinitialize(this); + // Try and start the enter animation (or restart it on configuration changed) ReferenceCountedTrigger t = new ReferenceCountedTrigger(this, null, null, null); mRecentsView.startEnterRecentsAnimation(new ViewAnimation.TaskViewEnterContext( mFullScreenOverlayView, t)); - // Call our callback onEnterAnimationTriggered(); } @@ -423,18 +419,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView super.onNewIntent(intent); setIntent(intent); - if (Console.Enabled) { - Console.logDivider(Constants.Log.App.SystemUIHandshake); - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onNewIntent]", - intent.getAction() + " visible: " + mVisible, Console.AnsiRed); - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "onNewIntent"); - } - - // Initialize the loader and the configuration - RecentsTaskLoader.initialize(this); - mConfig = RecentsConfiguration.reinitialize(this); - // Update the recent tasks updateRecentsTasks(intent); @@ -446,10 +430,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override protected void onStart() { - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onStart]", "", - Console.AnsiRed); - } super.onStart(); // Register the broadcast receiver to handle messages from our service @@ -462,10 +442,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override protected void onResume() { - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onResume]", "", - Console.AnsiRed); - } super.onResume(); // Start listening for widget package changes if there is one bound, post it since we don't @@ -484,64 +460,28 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView }, 1); } + // Mark Recents as visible mVisible = true; } @Override - public void onAttachedToWindow() { - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|onAttachedToWindow]", "", - Console.AnsiRed); - } - super.onAttachedToWindow(); - } - - @Override - public void onDetachedFromWindow() { - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|onDetachedFromWindow]", "", - Console.AnsiRed); - } - super.onDetachedFromWindow(); - } - - @Override - protected void onPause() { - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onPause]", "", - Console.AnsiRed); - } - super.onPause(); - } - - @Override protected void onStop() { - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onStop]", "", - Console.AnsiRed); - } super.onStop(); // Unregister the RecentsService receiver unregisterReceiver(mServiceBroadcastReceiver); // Stop listening for widget package changes if there was one bound - if (mConfig.searchBarAppWidgetId >= 0) { + if (mAppWidgetHost.isListening()) { mAppWidgetHost.stopListening(); } } @Override protected void onDestroy() { - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onDestroy]", "", - Console.AnsiRed); - } super.onDestroy(); - // Unregister the screen off receiver + // Unregister the system broadcast receivers unregisterReceiver(mSystemBroadcastReceiver); RecentsTaskLoader.getInstance().unregisterReceivers(); } @@ -583,26 +523,8 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView // Test mode where back does not do anything if (mConfig.debugModeEnabled) return; - // If we are mid-animation into Recents, then reverse it and finish - if (mFullScreenOverlayView == null || - !mFullScreenOverlayView.cancelAnimateOnEnterRecents(mFinishRunnable)) { - // If we are currently filtering in any stacks, unfilter them first - if (!mRecentsView.unfilterFilteredStacks()) { - if (mConfig.launchedFromHome) { - // Just start the animation out of recents - ReferenceCountedTrigger exitTrigger = new ReferenceCountedTrigger(this, - null, mFinishLaunchHomeRunnable, null); - mRecentsView.startExitToHomeAnimation( - new ViewAnimation.TaskViewExitContext(exitTrigger)); - } else { - // Otherwise, try and launch the first task - if (!mRecentsView.launchFirstTask()) { - // If there are no tasks, then just finish recents - mFinishLaunchHomeRunnable.run(); - } - } - } - } + // Dismiss Recents to the focused Task or Home + dismissRecentsToFocusedTaskOrHome(true); } /** Called when debug mode is triggered */ @@ -623,7 +545,7 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView /** Called when the enter recents animation is triggered. */ public void onEnterAnimationTriggered() { - // Animate the scrims in + // Animate the SystemUI scrim views mScrimViews.startEnterRecentsAnimation(); } @@ -644,7 +566,7 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override public void onExitToHomeAnimationTriggered() { - // Animate the scrims out + // Animate the SystemUI scrim views out mScrimViews.startExitRecentsAnimation(); } @@ -664,7 +586,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override public void refreshSearchWidget() { - // Load the Search widget again bindSearchBarAppWidget(); addSearchBarAppWidgetView(); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsAppWidgetHost.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsAppWidgetHost.java index 43d7a54e8ff7..a63e167acf11 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsAppWidgetHost.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsAppWidgetHost.java @@ -33,6 +33,7 @@ public class RecentsAppWidgetHost extends AppWidgetHost { Context mContext; RecentsAppWidgetHostCallbacks mCb; RecentsConfiguration mConfig; + boolean mIsListening; public RecentsAppWidgetHost(Context context, int hostId) { super(context, hostId); @@ -42,6 +43,7 @@ public class RecentsAppWidgetHost extends AppWidgetHost { public void startListening(RecentsAppWidgetHostCallbacks cb) { mCb = cb; + mIsListening = true; super.startListening(); } @@ -51,6 +53,11 @@ public class RecentsAppWidgetHost extends AppWidgetHost { // Ensure that we release any references to the callbacks mCb = null; mContext = null; + mIsListening = false; + } + + public boolean isListening() { + return mIsListening; } @Override diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java index e62d9891066c..439765eaf8f0 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java @@ -35,6 +35,7 @@ import com.android.systemui.recents.misc.Console; * NOTE: We should not hold any references to a Context from a static instance */ public class RecentsConfiguration { static RecentsConfiguration sInstance; + static int sPrevConfigurationHashCode; DisplayMetrics mDisplayMetrics; @@ -138,7 +139,11 @@ public class RecentsConfiguration { if (sInstance == null) { sInstance = new RecentsConfiguration(context); } - sInstance.update(context); + int configHashCode = context.getResources().getConfiguration().hashCode(); + if (sPrevConfigurationHashCode != configHashCode) { + sInstance.update(context); + sPrevConfigurationHashCode = configHashCode; + } return sInstance; } @@ -179,10 +184,8 @@ public class RecentsConfiguration { transposeRecentsLayoutWithOrientation = res.getBoolean(R.bool.recents_transpose_layout_with_orientation); - // Search bar + // Search Bar searchBarSpaceHeightPx = res.getDimensionPixelSize(R.dimen.recents_search_bar_space_height); - - // Update the search widget id searchBarAppWidgetId = settings.getInt(Constants.Values.App.Key_SearchAppWidgetId, -1); // Task stack @@ -242,12 +245,6 @@ public class RecentsConfiguration { // Nav bar scrim navBarScrimEnterDuration = res.getInteger(R.integer.recents_nav_bar_scrim_enter_duration); - - if (Console.Enabled) { - Console.log(Constants.Log.UI.MeasureAndLayout, - "[RecentsConfiguration|orientation]", isLandscape ? "Landscape" : "Portrait", - Console.AnsiGreen); - } } /** Updates the system insets */ diff --git a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java index b8beda6f6858..ced404309466 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java +++ b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java @@ -31,6 +31,7 @@ import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; +import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; @@ -80,6 +81,8 @@ public class SystemServicesProxy { ComponentName mAssistComponent; Bitmap mDummyIcon; + int mDummyThumbnailWidth; + int mDummyThumbnailHeight; Paint mBgProtectionPaint; Canvas mBgProtectionCanvas; @@ -96,6 +99,13 @@ public class SystemServicesProxy { mDisplay = mWm.getDefaultDisplay(); mRecentsPackage = context.getPackageName(); + // Get the dummy thumbnail width/heights + Resources res = context.getResources(); + int wId = com.android.internal.R.dimen.thumbnail_width; + int hId = com.android.internal.R.dimen.thumbnail_height; + mDummyThumbnailWidth = res.getDimensionPixelSize(wId); + mDummyThumbnailHeight = res.getDimensionPixelSize(hId); + // Create the protection paints mBgProtectionPaint = new Paint(); mBgProtectionPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_ATOP)); @@ -213,7 +223,8 @@ public class SystemServicesProxy { // If we are mocking, then just return a dummy thumbnail if (Constants.DebugFlags.App.EnableSystemServicesProxy) { - Bitmap thumbnail = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); + Bitmap thumbnail = Bitmap.createBitmap(mDummyThumbnailWidth, mDummyThumbnailHeight, + Bitmap.Config.ARGB_8888); thumbnail.eraseColor(0xff333333); return thumbnail; } @@ -239,6 +250,8 @@ public class SystemServicesProxy { */ public static Bitmap getThumbnail(ActivityManager activityManager, int taskId) { ActivityManager.TaskThumbnail taskThumbnail = activityManager.getTaskThumbnail(taskId); + if (taskThumbnail == null) return null; + Bitmap thumbnail = taskThumbnail.mainThumbnail; ParcelFileDescriptor descriptor = taskThumbnail.thumbnailFileDescriptor; if (thumbnail == null && descriptor != null) { diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java index cbb8892dea94..71979c4f7015 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java @@ -29,7 +29,6 @@ import android.os.HandlerThread; import android.os.UserHandle; import com.android.systemui.recents.Constants; import com.android.systemui.recents.RecentsConfiguration; -import com.android.systemui.recents.misc.Console; import com.android.systemui.recents.misc.SystemServicesProxy; import java.util.Collections; @@ -44,9 +43,6 @@ class TaskResourceLoadQueue { /** Adds a new task to the load queue */ void addTask(Task t) { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|addTask]"); - } if (!mQueue.contains(t)) { mQueue.add(t); } @@ -60,25 +56,16 @@ class TaskResourceLoadQueue { * force reloaded. */ Task nextTask() { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|nextTask]"); - } return mQueue.poll(); } /** Removes a task from the load queue */ void removeTask(Task t) { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|removeTask]"); - } mQueue.remove(t); } /** Clears all the tasks from the load queue */ void clearTasks() { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|clearTasks]"); - } mQueue.clear(); } @@ -124,9 +111,6 @@ class TaskResourceLoader implements Runnable { /** Restarts the loader thread */ void start(Context context) { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, "[TaskResourceLoader|start]"); - } mContext = context; mCancelled = false; mSystemServicesProxy = new SystemServicesProxy(context); @@ -138,9 +122,6 @@ class TaskResourceLoader implements Runnable { /** Requests the loader thread to stop after the current iteration */ void stop() { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, "[TaskResourceLoader|stop]"); - } // Mark as cancelled for the thread to pick up mCancelled = true; mSystemServicesProxy = null; @@ -154,25 +135,13 @@ class TaskResourceLoader implements Runnable { @Override public void run() { while (true) { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - "[TaskResourceLoader|run|" + Thread.currentThread().getId() + "]"); - } if (mCancelled) { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - "[TaskResourceLoader|cancel|" + Thread.currentThread().getId() + "]"); - } // We have to unset the context here, since the background thread may be using it // when we call stop() mContext = null; // If we are cancelled, then wait until we are started again synchronized(mLoadThread) { try { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - "[TaskResourceLoader|waitOnLoadThreadCancelled]"); - } mLoadThread.wait(); } catch (InterruptedException ie) { ie.printStackTrace(); @@ -186,11 +155,6 @@ class TaskResourceLoader implements Runnable { if (t != null) { Drawable cachedIcon = mApplicationIconCache.getCheckLastActiveTime(t.key); Bitmap cachedThumbnail = mThumbnailCache.getCheckLastActiveTime(t.key); - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - " [TaskResourceLoader|load]", - t + " icon: " + cachedIcon + " thumbnail: " + cachedThumbnail); - } // Load the application icon if it is stale or we haven't cached one yet if (cachedIcon == null) { Drawable icon = null; @@ -198,10 +162,6 @@ class TaskResourceLoader implements Runnable { t.userId); if (info != null) { icon = ssp.getActivityIcon(info, t.userId); - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - " [TaskResourceLoader|loadedIcon]", icon); - } } // If we can't load the icon, then set the default application icon into the // cache. This will remain until the task's last active time is updated. @@ -213,10 +173,6 @@ class TaskResourceLoader implements Runnable { Bitmap thumbnail = ssp.getTaskThumbnail(t.key.id); if (thumbnail != null) { thumbnail.setHasAlpha(false); - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - " [TaskResourceLoader|loadedThumbnail]", thumbnail); - } } // Even if we can't load the icon, we set the default thumbnail into the // cache. This will remain until the task's last active time is updated. @@ -240,10 +196,6 @@ class TaskResourceLoader implements Runnable { if (!mCancelled && mLoadQueue.isEmpty()) { synchronized(mLoadQueue) { try { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - "[TaskResourceLoader|waitOnLoadQueue]"); - } mWaitingOnLoadQueue = true; mLoadQueue.wait(); mWaitingOnLoadQueue = false; @@ -290,12 +242,6 @@ public class RecentsTaskLoader { int thumbnailCacheSize = Constants.DebugFlags.App.DisableBackgroundCache ? 1 : mMaxThumbnailCacheSize; - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|init]", "thumbnailCache: " + thumbnailCacheSize + - " iconCache: " + iconCacheSize); - } - // Create the default assets Bitmap icon = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); icon.eraseColor(0x00000000); @@ -315,13 +261,6 @@ public class RecentsTaskLoader { mThumbnailCache = new BitmapLruCache(thumbnailCacheSize); mLoader = new TaskResourceLoader(mLoadQueue, mApplicationIconCache, mThumbnailCache, mDefaultThumbnail, mDefaultApplicationIcon); - - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|defaultBitmaps]", - "icon: " + mDefaultApplicationIcon + - " default thumbnail: " + mDefaultThumbnail, Console.AnsiRed); - } } /** Initializes the recents task loader */ @@ -343,29 +282,15 @@ public class RecentsTaskLoader { } private static List<ActivityManager.RecentTaskInfo> getRecentTasks(SystemServicesProxy ssp) { - long t1 = System.currentTimeMillis(); - List<ActivityManager.RecentTaskInfo> tasks = ssp.getRecentTasks(50, UserHandle.CURRENT.getIdentifier()); Collections.reverse(tasks); - if (Console.Enabled) { - Console.log(Constants.Log.App.TimeSystemCalls, - "[RecentsTaskLoader|getRecentTasks]", - "" + (System.currentTimeMillis() - t1) + "ms"); - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|tasks]", "" + tasks.size()); - } return tasks; } /** Reload the set of recent tasks */ public SpaceNode reload(Context context, int preloadCount) { - long t1 = System.currentTimeMillis(); - - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, "[RecentsTaskLoader|reload]"); - } RecentsConfiguration config = RecentsConfiguration.getInstance(); Resources res = context.getResources(); LinkedHashSet<Task> tasksToLoad = new LinkedHashSet<Task>(); @@ -378,7 +303,6 @@ public class RecentsTaskLoader { List<ActivityManager.RecentTaskInfo> tasks = getRecentTasks(ssp); // Add each task to the task stack - t1 = System.currentTimeMillis(); int taskCount = tasks.size(); for (int i = 0; i < taskCount; i++) { ActivityManager.RecentTaskInfo t = tasks.get(i); @@ -408,12 +332,6 @@ public class RecentsTaskLoader { // Preload the specified number of apps if (i >= (taskCount - preloadCount)) { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|preloadTask]", - "i: " + i + " task: " + t.baseIntent.getComponent().getPackageName()); - } - // Load the icon from the cache if possible task.applicationIcon = mApplicationIconCache.getCheckLastActiveTime(task.key); if (task.applicationIcon == null) { @@ -436,10 +354,6 @@ public class RecentsTaskLoader { // Load the thumbnail (if possible and not the foremost task, from the cache) task.thumbnail = mThumbnailCache.getCheckLastActiveTime(task.key); if (task.thumbnail == null) { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|loadingTaskThumbnail]"); - } if (isForemostTask) { // We force loading the thumbnail icon for the foremost task task.thumbnail = ssp.getTaskThumbnail(task.key.id); @@ -460,17 +374,8 @@ public class RecentsTaskLoader { } // Add the task to the stack - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - " [RecentsTaskLoader|task]", t.baseIntent.getComponent().getPackageName()); - } stack.addTask(task); } - if (Console.Enabled) { - Console.log(Constants.Log.App.TimeSystemCalls, - "[RecentsTaskLoader|getAllTaskTopThumbnail]", - "" + (System.currentTimeMillis() - t1) + "ms"); - } // Simulate the groupings that we describe stack.createAffiliatedGroupings(); @@ -512,12 +417,6 @@ public class RecentsTaskLoader { Drawable applicationIcon = mApplicationIconCache.get(t.key); Bitmap thumbnail = mThumbnailCache.get(t.key); - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, "[RecentsTaskLoader|loadTask]", - t + " applicationIcon: " + applicationIcon + " thumbnail: " + thumbnail + - " thumbnailCacheSize: " + mThumbnailCache.size()); - } - boolean requiresLoad = false; if (applicationIcon == null) { applicationIcon = mDefaultApplicationIcon; @@ -535,23 +434,12 @@ public class RecentsTaskLoader { /** Releases the task resource data back into the pool. */ public void unloadTaskData(Task t) { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|unloadTask]", t + - " thumbnailCacheSize: " + mThumbnailCache.size()); - } - mLoadQueue.removeTask(t); t.notifyTaskDataUnloaded(mDefaultThumbnail, mDefaultApplicationIcon); } /** Completely removes the resource data from the pool. */ public void deleteTaskData(Task t, boolean notifyTaskDataUnloaded) { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|deleteTask]", t); - } - mLoadQueue.removeTask(t); mThumbnailCache.remove(t.key); mApplicationIconCache.remove(t.key); @@ -562,9 +450,6 @@ public class RecentsTaskLoader { /** Stops the task loader and clears all pending tasks */ void stopLoader() { - if (Console.Enabled) { - Console.log(Constants.Log.App.TaskDataLoader, "[RecentsTaskLoader|stopLoader]"); - } mLoader.stop(); mLoadQueue.clearTasks(); } @@ -585,11 +470,6 @@ public class RecentsTaskLoader { * out of memory. */ public void onTrimMemory(int level) { - if (Console.Enabled) { - Console.log(Constants.Log.App.Memory, "[RecentsTaskLoader|onTrimMemory]", - Console.trimMemoryLevelToString(level)); - } - switch (level) { case ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN: // Stop the loader immediately when the UI is no longer visible diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/FullscreenTransitionOverlayView.java b/packages/SystemUI/src/com/android/systemui/recents/views/FullscreenTransitionOverlayView.java index 57b8ea43848f..63f59be31651 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/FullscreenTransitionOverlayView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/FullscreenTransitionOverlayView.java @@ -22,8 +22,6 @@ import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.content.Context; import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Color; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; @@ -34,9 +32,7 @@ import android.view.animation.AccelerateInterpolator; import android.widget.FrameLayout; import android.widget.ImageView; import com.android.systemui.R; -import com.android.systemui.recents.Constants; import com.android.systemui.recents.RecentsConfiguration; -import com.android.systemui.recents.misc.Console; /** @@ -152,11 +148,6 @@ public class FullscreenTransitionOverlayView extends FrameLayout { public void prepareAnimateOnEnterRecents(Bitmap screenshot) { if (!mConfig.launchedFromAppWithScreenshot) return; - if (Console.Enabled) { - Console.logStartTracingTime(Constants.Log.App.TimeRecentsScreenshotTransition, - Constants.Log.App.TimeRecentsScreenshotTransitionKey); - } - setClipTop(0); setClipBottom(getMeasuredHeight()); setDim(0); @@ -180,11 +171,6 @@ public class FullscreenTransitionOverlayView extends FrameLayout { /** Animates this view as it enters recents */ public void animateOnEnterRecents(ViewAnimation.TaskViewEnterContext ctx, final Runnable postAnimRunnable) { - if (Console.Enabled) { - Console.logTraceTime(Constants.Log.App.TimeRecentsScreenshotTransition, - Constants.Log.App.TimeRecentsScreenshotTransitionKey, "Starting"); - } - // Cancel the current animation if (mEnterAnimation != null) { mEnterAnimation.removeAllListeners(); @@ -226,11 +212,6 @@ public class FullscreenTransitionOverlayView extends FrameLayout { mCb.onEnterAnimationComplete(); // Run the given post-anim runnable postAnimRunnable.run(); - - if (Console.Enabled) { - Console.logTraceTime(Constants.Log.App.TimeRecentsScreenshotTransition, - Constants.Log.App.TimeRecentsScreenshotTransitionKey, "Completed"); - } } }); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java index 73bbf86165c6..7bb614453da5 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java @@ -141,20 +141,12 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV TaskView tv = (TaskView) stackView.getChildAt(j); Task task = tv.getTask(); if (tv.isFocusedTask()) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.Focus, "[RecentsView|launchFocusedTask]", - "Found focused Task"); - } onTaskViewClicked(stackView, tv, stack, task, false); return true; } } } } - if (Console.Enabled) { - Console.log(Constants.Log.UI.Focus, "[RecentsView|launchFocusedTask]", - "No Tasks focused"); - } return false; } @@ -228,12 +220,6 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV if (searchBar != null) { mSearchBar = searchBar; addView(mSearchBar); - - if (Console.Enabled) { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsView|setSearchBar]", - "" + (mSearchBar.getVisibility() == View.VISIBLE), - Console.AnsiBlue); - } } } } @@ -260,13 +246,6 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV int height = MeasureSpec.getSize(heightMeasureSpec); int heightMode = MeasureSpec.getMode(heightMeasureSpec); - if (Console.Enabled) { - Console.log(Constants.Log.UI.MeasureAndLayout, "[RecentsView|measure]", - "width: " + width + " height: " + height, Console.AnsiGreen); - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "RecentsView.onMeasure"); - } - // Get the search bar bounds and measure the search bar layout if (mSearchBar != null) { Rect searchBarSpaceBounds = new Rect(); @@ -303,13 +282,6 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV */ @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.MeasureAndLayout, "[RecentsView|layout]", - new Rect(left, top, right, bottom) + " changed: " + changed, Console.AnsiGreen); - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "RecentsView.onLayout"); - } - // Get the search bar bounds so that we lay it out if (mSearchBar != null) { Rect searchBarSpaceBounds = new Rect(); @@ -351,11 +323,6 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV @Override public WindowInsets onApplyWindowInsets(WindowInsets insets) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.MeasureAndLayout, - "[RecentsView|fitSystemWindows]", "insets: " + insets, Console.AnsiGreen); - } - // Update the configuration with the latest system insets and trigger a relayout mConfig.updateSystemInsets(insets.getSystemWindowInsets()); requestLayout(); @@ -482,11 +449,6 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV final Runnable launchRunnable = new Runnable() { @Override public void run() { - if (Console.Enabled) { - Console.logTraceTime(Constants.Log.App.TimeRecentsLaunchTask, - Constants.Log.App.TimeRecentsLaunchKey, "preStartActivity"); - } - if (task.isActive) { // Bring an active task to the foreground RecentsTaskLoader.getInstance().getSystemServicesProxy() @@ -515,19 +477,9 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV // And clean up the old task onTaskViewDismissed(task); } - - if (Console.Enabled) { - Console.logTraceTime(Constants.Log.App.TimeRecentsLaunchTask, - Constants.Log.App.TimeRecentsLaunchKey, "startActivity"); - } } }; - if (Console.Enabled) { - Console.logTraceTime(Constants.Log.App.TimeRecentsLaunchTask, - Constants.Log.App.TimeRecentsLaunchKey, "onTaskLaunched"); - } - // Launch the app right away if there is no task view, otherwise, animate the icon out first if (tv == null) { post(launchRunnable); diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java b/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java index 8409227a871e..e0298ab58d94 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java @@ -28,8 +28,6 @@ import android.view.MotionEvent; import android.view.VelocityTracker; import android.view.View; import android.view.animation.LinearInterpolator; -import com.android.systemui.recents.misc.Console; -import com.android.systemui.recents.Constants; /** * This class facilitates swipe to dismiss. It defines an interface to be implemented by the @@ -178,11 +176,6 @@ public class SwipeHelper { } public boolean onInterceptTouchEvent(MotionEvent ev) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.TouchEvents, - "[SwipeHelper|interceptTouchEvent]", - Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); - } final int action = ev.getAction(); switch (action) { @@ -294,12 +287,6 @@ public class SwipeHelper { } public boolean onTouchEvent(MotionEvent ev) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.TouchEvents, - "[SwipeHelper|touchEvent]", - Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); - } - if (!mDragging) { if (!onInterceptTouchEvent(ev)) { return mCanCurrViewBeDimissed; diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java index adc808a733fa..7b5216319134 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java @@ -167,10 +167,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal requestSynchronizeStackViewsWithModel(0); } void requestSynchronizeStackViewsWithModel(int duration) { - if (Console.Enabled) { - Console.log(Constants.Log.TaskStack.SynchronizeViewsWithModel, - "[TaskStackView|requestSynchronize]", "" + duration + "ms", Console.AnsiYellow); - } if (!mStackViewsDirty) { invalidate(mStackAlgorithm.mStackRect); } @@ -266,11 +262,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal if (visibleRangeOut != null) { visibleRangeOut[0] = frontMostVisibleIndex; visibleRangeOut[1] = backMostVisibleIndex; - if (Console.Enabled) { - Console.log(Constants.Log.TaskStack.SynchronizeViewsWithModel, - "[TaskStackView|updateStackTransforms]", - "Back: " + backMostVisibleIndex + " Front: " + frontMostVisibleIndex); - } } } @@ -290,11 +281,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal /** Synchronizes the views with the model */ void synchronizeStackViewsWithModel() { - if (Console.Enabled) { - Console.log(Constants.Log.TaskStack.SynchronizeViewsWithModel, - "[TaskStackView|synchronizeViewsWithModel]", - "mStackViewsDirty: " + mStackViewsDirty, Console.AnsiYellow); - } if (mStackViewsDirty) { // Get all the task transforms ArrayList<Task> tasks = mStack.getTasks(); @@ -344,11 +330,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal mStackViewsAnimationDuration); } - if (Console.Enabled) { - Console.log(Constants.Log.TaskStack.SynchronizeViewsWithModel, - " [TaskStackView|viewChildren]", "" + getChildCount()); - } - mStackViewsAnimationDuration = 0; mStackViewsDirty = false; } @@ -537,11 +518,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal mMaxScroll = mStackAlgorithm.mMaxScroll; // Debug logging - if (Constants.Log.UI.MeasureAndLayout) { - Console.log(" [TaskStack|minScroll] " + mMinScroll); - Console.log(" [TaskStack|maxScroll] " + mMaxScroll); - } - if (boundScrollToNewMinMax) { boundScroll(); } @@ -563,9 +539,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal /** Focuses the task at the specified index in the stack */ void focusTask(int taskIndex, boolean scrollToNewPosition) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.Focus, "[TaskStackView|focusTask]", "" + taskIndex); - } if (0 <= taskIndex && taskIndex < mStack.getTaskCount()) { mFocusedTaskIndex = taskIndex; @@ -575,9 +548,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal Runnable postScrollRunnable = null; if (tv != null) { tv.setFocusedTask(); - if (Console.Enabled) { - Console.log(Constants.Log.UI.Focus, "[TaskStackView|focusTask]", "Requesting focus"); - } } else { postScrollRunnable = new Runnable() { @Override @@ -586,10 +556,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal TaskView tv = getChildViewForTask(t); if (tv != null) { tv.setFocusedTask(); - if (Console.Enabled) { - Console.log(Constants.Log.UI.Focus, "[TaskStackView|focusTask]", - "Requesting focus after scroll animation"); - } } } }; @@ -611,11 +577,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal /** Focuses the next task in the stack */ void focusNextTask(boolean forward) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.Focus, "[TaskStackView|focusNextTask]", "" + - mFocusedTaskIndex); - } - // Find the next index to focus int numTasks = mStack.getTaskCount(); if (mFocusedTaskIndex < 0) { @@ -630,24 +591,12 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal /** Enables the hw layers and increments the hw layer requirement ref count */ void addHwLayersRefCount(String reason) { - if (Console.Enabled) { - int refCount = mHwLayersTrigger.getCount(); - Console.log(Constants.Log.UI.HwLayers, - "[TaskStackView|addHwLayersRefCount] refCount: " + - refCount + "->" + (refCount + 1) + " " + reason); - } mHwLayersTrigger.increment(); } /** Decrements the hw layer requirement ref count and disables the hw layers when we don't need them anymore. */ void decHwLayersRefCount(String reason) { - if (Console.Enabled) { - int refCount = mHwLayersTrigger.getCount(); - Console.log(Constants.Log.UI.HwLayers, - "[TaskStackView|decHwLayersRefCount] refCount: " + - refCount + "->" + (refCount - 1) + " " + reason); - } mHwLayersTrigger.decrement(); } @@ -676,10 +625,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void dispatchDraw(Canvas canvas) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.Draw, "[TaskStackView|dispatchDraw]", "", - Console.AnsiPurple); - } synchronizeStackViewsWithModel(); clipTaskViews(); super.dispatchDraw(canvas); @@ -703,25 +648,12 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int width = MeasureSpec.getSize(widthMeasureSpec); int height = MeasureSpec.getSize(heightMeasureSpec); - if (Console.Enabled) { - Console.log(Constants.Log.UI.MeasureAndLayout, "[TaskStackView|measure]", - "width: " + width + " height: " + height + - " awaitingFirstLayout: " + mAwaitingFirstLayout, Console.AnsiGreen); - } // Compute our stack/task rects Rect taskStackBounds = new Rect(); mConfig.getTaskStackBounds(width, height, taskStackBounds); computeRects(width, height, taskStackBounds.left, mConfig.systemInsets.bottom); - // Debug logging - if (Constants.Log.UI.MeasureAndLayout) { - Console.log(" [TaskStack|fullRect] " + mStackAlgorithm.mRect); - Console.log(" [TaskStack|stackRect] " + mStackAlgorithm.mStackRect); - Console.log(" [TaskStack|stackRectSansPeek] " + mStackAlgorithm.mStackRectSansPeek); - Console.log(" [TaskStack|taskRect] " + mStackAlgorithm.mTaskRect); - } - // If this is the first layout, then scroll to the front of the stack and synchronize the // stack views immediately if (mAwaitingFirstLayout) { @@ -749,19 +681,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal */ @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.MeasureAndLayout, "[TaskStackView|layout]", - "" + new Rect(left, top, right, bottom), Console.AnsiGreen); - } - - // Debug logging - if (Constants.Log.UI.MeasureAndLayout) { - Console.log(" [TaskStack|fullRect] " + mStackAlgorithm.mRect); - Console.log(" [TaskStack|stackRect] " + mStackAlgorithm.mStackRect); - Console.log(" [TaskStack|stackRectSansPeek] " + mStackAlgorithm.mStackRectSansPeek); - Console.log(" [TaskStack|taskRect] " + mStackAlgorithm.mTaskRect); - } - // Layout each of the children int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { @@ -1021,19 +940,12 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public TaskView createView(Context context) { - if (Console.Enabled) { - Console.log(Constants.Log.ViewPool.PoolCallbacks, "[TaskStackView|createPoolView]"); - } return (TaskView) mInflater.inflate(R.layout.recents_task_view, this, false); } @Override public void prepareViewToEnterPool(TaskView tv) { Task task = tv.getTask(); - if (Console.Enabled) { - Console.log(Constants.Log.ViewPool.PoolCallbacks, "[TaskStackView|returnToPool]", - tv.getTask() + " tv: " + tv); - } // Report that this tasks's data is no longer being used RecentsTaskLoader.getInstance().unloadTaskData(task); @@ -1050,11 +962,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void prepareViewToLeavePool(TaskView tv, Task task, boolean isNewView) { - if (Console.Enabled) { - Console.log(Constants.Log.ViewPool.PoolCallbacks, "[TaskStackView|leavePool]", - "isNewView: " + isNewView); - } - // Rebind the task and request that this task's data be filled into the TaskView tv.onTaskBound(task); RecentsTaskLoader.getInstance().loadTaskData(task); @@ -1083,10 +990,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal } // Add/attach the view to the hierarchy - if (Console.Enabled) { - Console.log(Constants.Log.ViewPool.PoolCallbacks, " [TaskStackView|insertIndex]", - "" + insertIndex); - } if (isNewView) { addView(tv, insertIndex); @@ -1112,11 +1015,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void onTaskViewAppIconClicked(TaskView tv) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.ClickEvents, "[TaskStack|Clicked|Icon]", - tv.getTask() + " is currently filtered: " + mStack.hasFilteredTasks(), - Console.AnsiCyan); - } if (Constants.DebugFlags.App.EnableTaskFiltering) { if (mStack.hasFilteredTasks()) { mStack.unfilterTasks(); @@ -1135,11 +1033,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void onTaskViewClicked(TaskView tv, Task task, boolean lockToTask) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.ClickEvents, "[TaskStack|Clicked|Thumbnail]", - task + " cb: " + mCb); - } - // Cancel any doze triggers mUIDozeTrigger.stopDozing(); diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java index 15ace134b35d..bd4ea90fb799 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java @@ -22,7 +22,6 @@ import android.view.VelocityTracker; import android.view.View; import android.view.ViewConfiguration; import android.view.ViewParent; -import com.android.systemui.recents.misc.Console; import com.android.systemui.recents.Constants; /* Handles touch events for a TaskStackView. */ @@ -100,12 +99,6 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { /** Touch preprocessing for handling below */ public boolean onInterceptTouchEvent(MotionEvent ev) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.TouchEvents, - "[TaskStackViewTouchHandler|interceptTouchEvent]", - Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); - } - // Return early if we have no children boolean hasChildren = (mSv.getChildCount() > 0); if (!hasChildren) { @@ -186,12 +179,6 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { /** Handles touch events once we have intercepted them */ public boolean onTouchEvent(MotionEvent ev) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.TouchEvents, - "[TaskStackViewTouchHandler|touchEvent]", - Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); - } - // Short circuit if we have no children boolean hasChildren = (mSv.getChildCount() > 0); if (!hasChildren) { @@ -290,16 +277,6 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { int overscrollRange = (int) (Math.min(1f, Math.abs((float) velocity / mMaximumVelocity)) * Constants.Values.TaskStackView.TaskStackOverscrollRange); - - if (Console.Enabled) { - Console.log(Constants.Log.UI.TouchEvents, - "[TaskStackViewTouchHandler|fling]", - "scroll: " + mSv.getStackScroll() + " velocity: " + velocity + - " maxVelocity: " + mMaximumVelocity + - " overscrollRange: " + overscrollRange, - Console.AnsiGreen); - } - // Fling scroll mSv.mScroller.fling(0, mSv.getStackScroll(), 0, -velocity, diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java index ab148632698c..7e3004737f7f 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java @@ -175,11 +175,6 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks, View.On /** Synchronizes this view's properties with the task's transform */ void updateViewPropertiesToTaskTransform(TaskViewTransform toTransform, int duration) { - if (Console.Enabled) { - Console.log(Constants.Log.UI.Draw, "[TaskView|updateViewPropertiesToTaskTransform]", - "duration: " + duration, Console.AnsiPurple); - } - // Update the bar view mBarView.updateViewPropertiesToTaskTransform(toTransform, duration); |