diff options
-rw-r--r-- | res/layout-land/launcher.xml | 175 | ||||
-rw-r--r-- | res/layout-port/launcher.xml | 169 | ||||
-rw-r--r-- | res/layout-sw720dp/launcher.xml | 171 | ||||
-rw-r--r-- | src/com/android/launcher2/AppWidgetResizeFrame.java | 6 | ||||
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 32 |
5 files changed, 306 insertions, 247 deletions
diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml index 7f705f5..0892352 100644 --- a/res/layout-land/launcher.xml +++ b/res/layout-land/launcher.xml @@ -14,94 +14,105 @@ limitations under the License. --> -<com.android.launcher2.DragLayer +<!-- Full screen view projects under the status bar and contains the background --> +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" - android:id="@+id/drag_layer" - android:background="@drawable/workspace_bg" + android:id="@+id/launcher" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:background="@drawable/workspace_bg"> - <!-- The workspace contains 5 screens of cells --> - <com.android.launcher2.Workspace - android:id="@+id/workspace" + <com.android.launcher2.DragLayer + android:id="@+id/drag_layer" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingLeft="@dimen/workspace_left_padding" - android:paddingRight="@dimen/workspace_right_padding" - android:paddingTop="@dimen/workspace_top_padding" - android:paddingBottom="@dimen/workspace_bottom_padding" - launcher:defaultScreen="2" - launcher:cellCountX="@integer/cell_count_x" - launcher:cellCountY="@integer/cell_count_y" - launcher:pageSpacing="@dimen/workspace_page_spacing" - launcher:scrollIndicatorPaddingLeft="@dimen/qsb_bar_height" - launcher:scrollIndicatorPaddingRight="@dimen/button_bar_height"> - - <include android:id="@+id/cell1" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell2" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell3" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell4" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell5" layout="@layout/workspace_screen" /> - </com.android.launcher2.Workspace> - - <include - android:id="@+id/qsb_divider" - layout="@layout/workspace_divider" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_marginLeft="@dimen/qsb_bar_height" - android:layout_gravity="left" /> - <include - android:id="@+id/dock_divider" - layout="@layout/workspace_divider" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:layout_marginRight="@dimen/button_bar_height" - android:layout_gravity="right" /> - <include - android:id="@+id/paged_view_indicator" - layout="@layout/scroll_indicator" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="bottom" /> - - <include layout="@layout/hotseat" - android:id="@+id/hotseat" - android:layout_width="@dimen/button_bar_height_plus_padding" - android:layout_height="match_parent" - android:layout_gravity="right" /> - <include - android:id="@+id/qsb_bar" - layout="@layout/qsb_bar" /> - - <com.android.launcher2.DrawableStateProxyView - android:id="@+id/voice_button_proxy" - android:layout_width="@dimen/qsb_bar_height" - android:layout_height="@dimen/app_icon_size" - android:layout_gravity="top|left" - android:layout_marginTop="64dp" - android:clickable="true" - android:onClick="onClickVoiceButton" - android:importantForAccessibility="no" - launcher:sourceViewId="@+id/voice_button" /> - - <include layout="@layout/apps_customize_pane" - android:id="@+id/apps_customize_pane" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="invisible" /> + android:fitsSystemWindows="true"> - <include layout="@layout/workspace_cling" - android:id="@+id/workspace_cling" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" /> + <!-- The workspace contains 5 screens of cells --> + <com.android.launcher2.Workspace + android:id="@+id/workspace" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingLeft="@dimen/workspace_left_padding" + android:paddingRight="@dimen/workspace_right_padding" + android:paddingTop="@dimen/workspace_top_padding" + android:paddingBottom="@dimen/workspace_bottom_padding" + launcher:defaultScreen="2" + launcher:cellCountX="@integer/cell_count_x" + launcher:cellCountY="@integer/cell_count_y" + launcher:pageSpacing="@dimen/workspace_page_spacing" + launcher:scrollIndicatorPaddingLeft="@dimen/qsb_bar_height" + launcher:scrollIndicatorPaddingRight="@dimen/button_bar_height"> - <include layout="@layout/folder_cling" - android:id="@+id/folder_cling" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" /> -</com.android.launcher2.DragLayer> + <include android:id="@+id/cell1" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell2" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell3" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell4" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell5" layout="@layout/workspace_screen" /> + </com.android.launcher2.Workspace> + + <include + android:id="@+id/qsb_divider" + layout="@layout/workspace_divider" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_marginLeft="@dimen/qsb_bar_height" + android:layout_gravity="left" /> + + <include + android:id="@+id/dock_divider" + layout="@layout/workspace_divider" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_marginRight="@dimen/button_bar_height" + android:layout_gravity="right" /> + + <include + android:id="@+id/paged_view_indicator" + layout="@layout/scroll_indicator" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="bottom" /> + + <include layout="@layout/hotseat" + android:id="@+id/hotseat" + android:layout_width="@dimen/button_bar_height_plus_padding" + android:layout_height="match_parent" + android:layout_gravity="right" /> + + <include + android:id="@+id/qsb_bar" + layout="@layout/qsb_bar" /> + + <com.android.launcher2.DrawableStateProxyView + android:id="@+id/voice_button_proxy" + android:layout_width="@dimen/qsb_bar_height" + android:layout_height="@dimen/app_icon_size" + android:layout_gravity="top|left" + android:layout_marginTop="64dp" + android:clickable="true" + android:onClick="onClickVoiceButton" + android:importantForAccessibility="no" + launcher:sourceViewId="@+id/voice_button" /> + + <include layout="@layout/apps_customize_pane" + android:id="@+id/apps_customize_pane" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="invisible" /> + + <include layout="@layout/workspace_cling" + android:id="@+id/workspace_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + + <include layout="@layout/folder_cling" + android:id="@+id/folder_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + </com.android.launcher2.DragLayer> +</FrameLayout>
\ No newline at end of file diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml index a427501..ad7eff4 100644 --- a/res/layout-port/launcher.xml +++ b/res/layout-port/launcher.xml @@ -14,90 +14,103 @@ limitations under the License. --> -<com.android.launcher2.DragLayer +<!-- Full screen view projects under the status bar and contains the background --> +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" - android:id="@+id/drag_layer" - android:background="@drawable/workspace_bg" + android:id="@+id/launcher" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:background="@drawable/workspace_bg"> - <!-- Keep these behind the workspace so that they are not visible when - we go into AllApps --> - <include - android:id="@+id/dock_divider" - layout="@layout/workspace_divider" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginBottom="@dimen/button_bar_height" - android:layout_gravity="bottom" /> - <include - android:id="@+id/paged_view_indicator" - layout="@layout/scroll_indicator" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="bottom" - android:layout_marginBottom="@dimen/button_bar_height" /> - - <!-- The workspace contains 5 screens of cells --> - <com.android.launcher2.Workspace - android:id="@+id/workspace" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:paddingLeft="@dimen/workspace_left_padding" - android:paddingRight="@dimen/workspace_right_padding" - android:paddingTop="@dimen/workspace_top_padding" - android:paddingBottom="@dimen/workspace_bottom_padding" - launcher:defaultScreen="2" - launcher:cellCountX="@integer/cell_count_x" - launcher:cellCountY="@integer/cell_count_y" - launcher:pageSpacing="@dimen/workspace_page_spacing" - launcher:scrollIndicatorPaddingLeft="@dimen/workspace_divider_padding_left" - launcher:scrollIndicatorPaddingRight="@dimen/workspace_divider_padding_right"> - - <include android:id="@+id/cell1" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell2" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell3" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell4" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell5" layout="@layout/workspace_screen" /> - </com.android.launcher2.Workspace> - - <include layout="@layout/hotseat" - android:id="@+id/hotseat" - android:layout_width="match_parent" - android:layout_height="@dimen/button_bar_height_plus_padding" - android:layout_gravity="bottom" /> - - <include - android:id="@+id/qsb_bar" - layout="@layout/qsb_bar" /> - - <com.android.launcher2.DrawableStateProxyView - android:id="@+id/voice_button_proxy" - android:layout_width="80dp" - android:layout_height="@dimen/qsb_bar_height" - android:layout_gravity="top|right" - android:clickable="true" - android:onClick="onClickVoiceButton" - android:importantForAccessibility="no" - launcher:sourceViewId="@+id/voice_button" /> - - <include layout="@layout/apps_customize_pane" - android:id="@+id/apps_customize_pane" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="invisible" /> + <com.android.launcher2.DragLayer + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" - <include layout="@layout/workspace_cling" - android:id="@+id/workspace_cling" + android:id="@+id/drag_layer" + android:background="@drawable/workspace_bg" android:layout_width="match_parent" android:layout_height="match_parent" - android:visibility="gone" /> + android:fitsSystemWindows="true"> - <include layout="@layout/folder_cling" - android:id="@+id/folder_cling" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" /> -</com.android.launcher2.DragLayer> + <!-- Keep these behind the workspace so that they are not visible when + we go into AllApps --> + <include + android:id="@+id/dock_divider" + layout="@layout/workspace_divider" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/button_bar_height" + android:layout_gravity="bottom" /> + + <include + android:id="@+id/paged_view_indicator" + layout="@layout/scroll_indicator" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="bottom" + android:layout_marginBottom="@dimen/button_bar_height" /> + + <!-- The workspace contains 5 screens of cells --> + <com.android.launcher2.Workspace + android:id="@+id/workspace" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingLeft="@dimen/workspace_left_padding" + android:paddingRight="@dimen/workspace_right_padding" + android:paddingTop="@dimen/workspace_top_padding" + android:paddingBottom="@dimen/workspace_bottom_padding" + launcher:defaultScreen="2" + launcher:cellCountX="@integer/cell_count_x" + launcher:cellCountY="@integer/cell_count_y" + launcher:pageSpacing="@dimen/workspace_page_spacing" + launcher:scrollIndicatorPaddingLeft="@dimen/workspace_divider_padding_left" + launcher:scrollIndicatorPaddingRight="@dimen/workspace_divider_padding_right"> + + <include android:id="@+id/cell1" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell2" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell3" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell4" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell5" layout="@layout/workspace_screen" /> + </com.android.launcher2.Workspace> + + <include layout="@layout/hotseat" + android:id="@+id/hotseat" + android:layout_width="match_parent" + android:layout_height="@dimen/button_bar_height_plus_padding" + android:layout_gravity="bottom" /> + + <include + android:id="@+id/qsb_bar" + layout="@layout/qsb_bar" /> + + <com.android.launcher2.DrawableStateProxyView + android:id="@+id/voice_button_proxy" + android:layout_width="80dp" + android:layout_height="@dimen/qsb_bar_height" + android:layout_gravity="top|right" + android:clickable="true" + android:onClick="onClickVoiceButton" + android:importantForAccessibility="no" + launcher:sourceViewId="@+id/voice_button" /> + + <include layout="@layout/apps_customize_pane" + android:id="@+id/apps_customize_pane" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="invisible" /> + + <include layout="@layout/workspace_cling" + android:id="@+id/workspace_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + + <include layout="@layout/folder_cling" + android:id="@+id/folder_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + </com.android.launcher2.DragLayer> +</FrameLayout>
\ No newline at end of file diff --git a/res/layout-sw720dp/launcher.xml b/res/layout-sw720dp/launcher.xml index 418469b..b554042 100644 --- a/res/layout-sw720dp/launcher.xml +++ b/res/layout-sw720dp/launcher.xml @@ -14,91 +14,104 @@ limitations under the License. --> -<com.android.launcher2.DragLayer +<!-- Full screen view projects under the status bar and contains the background --> +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" - android:id="@+id/drag_layer" - android:background="@drawable/workspace_bg" + android:id="@+id/launcher" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:background="@drawable/workspace_bg"> - <!-- Keep these behind the workspace so that they are not visible when - we go into AllApps --> - <include - android:id="@+id/dock_divider" - layout="@layout/workspace_divider" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginBottom="@dimen/button_bar_height_plus_padding" - android:layout_gravity="bottom|center_horizontal" /> - <include - android:id="@+id/paged_view_indicator" - layout="@layout/scroll_indicator" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="bottom" - android:layout_marginBottom="@dimen/button_bar_height_plus_padding" /> - - <!-- The workspace contains 5 screens of cells --> - <com.android.launcher2.Workspace - android:id="@+id/workspace" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:paddingLeft="@dimen/workspace_left_padding" - android:paddingRight="@dimen/workspace_right_padding" - android:paddingTop="@dimen/workspace_top_padding" - android:paddingBottom="@dimen/workspace_bottom_padding" - launcher:defaultScreen="2" - launcher:cellCountX="@integer/cell_count_x" - launcher:cellCountY="@integer/cell_count_y" - launcher:pageSpacing="@dimen/workspace_page_spacing" - launcher:scrollIndicatorPaddingLeft="@dimen/workspace_divider_padding_left" - launcher:scrollIndicatorPaddingRight="@dimen/workspace_divider_padding_right"> - - <include android:id="@+id/cell1" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell2" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell3" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell4" layout="@layout/workspace_screen" /> - <include android:id="@+id/cell5" layout="@layout/workspace_screen" /> - </com.android.launcher2.Workspace> - - <include layout="@layout/hotseat" - android:id="@+id/hotseat" - android:layout_width="match_parent" - android:layout_height="@dimen/button_bar_height_plus_padding" - android:layout_gravity="bottom" /> - - <include - android:id="@+id/qsb_bar" - layout="@layout/qsb_bar" /> - - <com.android.launcher2.DrawableStateProxyView - android:id="@+id/voice_button_proxy" - android:layout_width="80dp" - android:layout_height="@dimen/qsb_bar_height" - android:layout_marginRight="@dimen/qsb_voice_proxy_padding_right" - android:layout_gravity="top|right" - android:clickable="true" - android:onClick="onClickVoiceButton" - android:importantForAccessibility="no" - launcher:sourceViewId="@+id/voice_button" /> - - <include layout="@layout/apps_customize_pane" - android:id="@+id/apps_customize_pane" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="invisible" /> + <com.android.launcher2.DragLayer + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher" - <include layout="@layout/workspace_cling" - android:id="@+id/workspace_cling" + android:id="@+id/drag_layer" + android:background="@drawable/workspace_bg" android:layout_width="match_parent" android:layout_height="match_parent" - android:visibility="gone" /> + android:fitsSystemWindows="true"> - <include layout="@layout/folder_cling" - android:id="@+id/folder_cling" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" /> -</com.android.launcher2.DragLayer> + <!-- Keep these behind the workspace so that they are not visible when + we go into AllApps --> + <include + android:id="@+id/dock_divider" + layout="@layout/workspace_divider" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/button_bar_height_plus_padding" + android:layout_gravity="bottom|center_horizontal" /> + + <include + android:id="@+id/paged_view_indicator" + layout="@layout/scroll_indicator" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="bottom" + android:layout_marginBottom="@dimen/button_bar_height_plus_padding" /> + + <!-- The workspace contains 5 screens of cells --> + <com.android.launcher2.Workspace + android:id="@+id/workspace" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingLeft="@dimen/workspace_left_padding" + android:paddingRight="@dimen/workspace_right_padding" + android:paddingTop="@dimen/workspace_top_padding" + android:paddingBottom="@dimen/workspace_bottom_padding" + launcher:defaultScreen="2" + launcher:cellCountX="@integer/cell_count_x" + launcher:cellCountY="@integer/cell_count_y" + launcher:pageSpacing="@dimen/workspace_page_spacing" + launcher:scrollIndicatorPaddingLeft="@dimen/workspace_divider_padding_left" + launcher:scrollIndicatorPaddingRight="@dimen/workspace_divider_padding_right"> + + <include android:id="@+id/cell1" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell2" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell3" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell4" layout="@layout/workspace_screen" /> + <include android:id="@+id/cell5" layout="@layout/workspace_screen" /> + </com.android.launcher2.Workspace> + + <include layout="@layout/hotseat" + android:id="@+id/hotseat" + android:layout_width="match_parent" + android:layout_height="@dimen/button_bar_height_plus_padding" + android:layout_gravity="bottom" /> + + <include + android:id="@+id/qsb_bar" + layout="@layout/qsb_bar" /> + + <com.android.launcher2.DrawableStateProxyView + android:id="@+id/voice_button_proxy" + android:layout_width="80dp" + android:layout_height="@dimen/qsb_bar_height" + android:layout_marginRight="@dimen/qsb_voice_proxy_padding_right" + android:layout_gravity="top|right" + android:clickable="true" + android:onClick="onClickVoiceButton" + android:importantForAccessibility="no" + launcher:sourceViewId="@+id/voice_button" /> + + <include layout="@layout/apps_customize_pane" + android:id="@+id/apps_customize_pane" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="invisible" /> + + <include layout="@layout/workspace_cling" + android:id="@+id/workspace_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + + <include layout="@layout/folder_cling" + android:id="@+id/folder_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + </com.android.launcher2.DragLayer> +</FrameLayout>
\ No newline at end of file diff --git a/src/com/android/launcher2/AppWidgetResizeFrame.java b/src/com/android/launcher2/AppWidgetResizeFrame.java index 7762ece..13ee6f9 100644 --- a/src/com/android/launcher2/AppWidgetResizeFrame.java +++ b/src/com/android/launcher2/AppWidgetResizeFrame.java @@ -399,8 +399,10 @@ public class AppWidgetResizeFrame extends FrameLayout { public void snapToWidget(boolean animate) { final DragLayer.LayoutParams lp = (DragLayer.LayoutParams) getLayoutParams(); - int xOffset = mCellLayout.getLeft() + mCellLayout.getPaddingLeft() - mWorkspace.getScrollX(); - int yOffset = mCellLayout.getTop() + mCellLayout.getPaddingTop() - mWorkspace.getScrollY(); + int xOffset = mCellLayout.getLeft() + mCellLayout.getPaddingLeft() + + mDragLayer.getPaddingLeft() - mWorkspace.getScrollX(); + int yOffset = mCellLayout.getTop() + mCellLayout.getPaddingTop() + + mDragLayer.getPaddingTop() - mWorkspace.getScrollY(); int newWidth = mWidgetView.getWidth() + 2 * mBackgroundPadding - mWidgetPaddingLeft - mWidgetPaddingRight; diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index c221815..ffd63d2 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -50,8 +50,10 @@ import android.content.res.Resources; import android.database.ContentObserver; import android.graphics.Bitmap; import android.graphics.Canvas; +import android.graphics.Color; import android.graphics.PorterDuff; import android.graphics.Rect; +import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.AsyncTask; @@ -209,6 +211,7 @@ public final class Launcher extends Activity private Workspace mWorkspace; private View mQsbDivider; private View mDockDivider; + private View mLauncherView; private DragLayer mDragLayer; private DragController mDragController; @@ -280,6 +283,9 @@ public final class Launcher extends Activity private static Drawable.ConstantState[] sVoiceSearchIcon = new Drawable.ConstantState[2]; private static Drawable.ConstantState[] sAppMarketIcon = new Drawable.ConstantState[2]; + private Drawable mWorkspaceBackgroundDrawable; + private Drawable mBlackBackgroundDrawable; + private final ArrayList<Integer> mSynchronouslyBoundPages = new ArrayList<Integer>(); static final ArrayList<String> sDumpLogs = new ArrayList<String>(); @@ -727,6 +733,9 @@ public final class Launcher extends Activity } mOnResumeState = State.NONE; + // Background was set to gradient in onPause(), restore to black if in all apps. + setWorkspaceBackground(mState == State.WORKSPACE); + // Process any items that were added while Launcher was away InstallShortcutReceiver.flushInstallQueue(this); @@ -928,10 +937,15 @@ public final class Launcher extends Activity private void setupViews() { final DragController dragController = mDragController; + mLauncherView = findViewById(R.id.launcher); mDragLayer = (DragLayer) findViewById(R.id.drag_layer); mWorkspace = (Workspace) mDragLayer.findViewById(R.id.workspace); - mQsbDivider = (ImageView) findViewById(R.id.qsb_divider); - mDockDivider = (ImageView) findViewById(R.id.dock_divider); + mQsbDivider = findViewById(R.id.qsb_divider); + mDockDivider = findViewById(R.id.dock_divider); + + mLauncherView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); + mWorkspaceBackgroundDrawable = getResources().getDrawable(R.drawable.workspace_bg); + mBlackBackgroundDrawable = new ColorDrawable(Color.BLACK); // Setup the drag layer mDragLayer.setup(this, dragController); @@ -952,12 +966,11 @@ public final class Launcher extends Activity mSearchDropTargetBar = (SearchDropTargetBar) mDragLayer.findViewById(R.id.qsb_bar); // Setup AppsCustomize - mAppsCustomizeTabHost = (AppsCustomizeTabHost) - findViewById(R.id.apps_customize_pane); + mAppsCustomizeTabHost = (AppsCustomizeTabHost) findViewById(R.id.apps_customize_pane); mAppsCustomizeContent = (AppsCustomizePagedView) mAppsCustomizeTabHost.findViewById(R.id.apps_customize_pane_content); mAppsCustomizeContent.setup(this, dragController); - + // Setup the drag controller (drop targets have to be added in reverse order in priority) dragController.setDragScoller(mWorkspace); dragController.setScrollView(mDragLayer); @@ -2351,10 +2364,12 @@ public final class Launcher extends Activity } // Now a part of LauncherModel.Callbacks. Used to reorder loading steps. + @Override public boolean isAllAppsVisible() { return (mState == State.APPS_CUSTOMIZE) || (mOnResumeState == State.APPS_CUSTOMIZE); } + @Override public boolean isAllAppsButtonRank(int rank) { return mHotseat.isAllAppsButtonRank(rank); } @@ -2362,7 +2377,6 @@ public final class Launcher extends Activity /** * Helper method for the cameraZoomIn/cameraZoomOut animations * @param view The view being animated - * @param state The state that we are moving in or out of (eg. APPS_CUSTOMIZE) * @param scaleFactor The scale factor used for the zoom */ private void setPivotsForZoom(View view, float scaleFactor) { @@ -2380,6 +2394,11 @@ public final class Launcher extends Activity } } + private void setWorkspaceBackground(boolean workspace) { + mLauncherView.setBackground(workspace ? + mWorkspaceBackgroundDrawable : mBlackBackgroundDrawable); + } + void updateWallpaperVisibility(boolean visible) { int wpflags = visible ? WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER : 0; int curflags = getWindow().getAttributes().flags @@ -2387,6 +2406,7 @@ public final class Launcher extends Activity if (wpflags != curflags) { getWindow().setFlags(wpflags, WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER); } + setWorkspaceBackground(visible); } private void dispatchOnLauncherTransitionPrepare(View v, boolean animated, boolean toWorkspace) { |