diff options
author | Yvonne Wong <ywong@cyngn.com> | 2015-12-08 16:54:40 -0800 |
---|---|---|
committer | Yvonne Wong <ywong@cyngn.com> | 2015-12-10 01:43:18 -0800 |
commit | 7600c7f3125a845ce6d4add4ceff90b884e1c033 (patch) | |
tree | 08bbde6eb2cf2da2a1b1d1a62d5dcbdf4d02f715 /src/com/android/launcher3/Launcher.java | |
parent | 045e7db9f0add18e1d95b806417e40fd213de35e (diff) | |
download | android_packages_apps_Trebuchet-7600c7f3125a845ce6d4add4ceff90b884e1c033.tar.gz android_packages_apps_Trebuchet-7600c7f3125a845ce6d4add4ceff90b884e1c033.tar.bz2 android_packages_apps_Trebuchet-7600c7f3125a845ce6d4add4ceff90b884e1c033.zip |
Reimplement CM Settings Overview Panel Part 5
- Enable default screen button
- Make UI changes to settings panel
- Add a broadcast receiver for hide/unhide search bar setting
Change-Id: I849dd412231795b894e7af7ee575e60feb618c70
Diffstat (limited to 'src/com/android/launcher3/Launcher.java')
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 46 |
1 files changed, 42 insertions, 4 deletions
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 3198c0ff5..729b9949f 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -108,6 +108,7 @@ import com.android.launcher3.compat.LauncherActivityInfoCompat; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.compat.UserHandleCompat; import com.android.launcher3.compat.UserManagerCompat; +import com.android.launcher3.list.SettingsPinnedHeaderAdapter; import com.android.launcher3.model.WidgetsModel; import com.android.launcher3.settings.SettingsProvider; import com.android.launcher3.util.ComponentKey; @@ -369,6 +370,8 @@ public class Launcher extends Activity // the press state and keep this reference to reset the press state when we return to launcher. private BubbleTextView mWaitingForResume; + private long mDefaultScreenId; + public Animator.AnimatorListener mAnimatorListener = new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator arg0) {} @@ -382,7 +385,7 @@ public class Launcher extends Activity public void onAnimationCancel(Animator arg0) {} }; - Runnable mUpdateDynamicGridRunnable = new Runnable() { + Runnable mReloadLauncherRunnable = new Runnable() { @Override public void run() { reloadLauncher(mWorkspace.getRestorePage(), true, false); @@ -393,7 +396,19 @@ public class Launcher extends Activity @Override public void onReceive(Context context, Intent intent) { // Update the workspace - if (waitUntilResume(mUpdateDynamicGridRunnable, true)) { + if (waitUntilResume(mReloadLauncherRunnable, true)) { + return; + } + + reloadLauncher(mWorkspace.getRestorePage(), true, false); + } + }; + + private BroadcastReceiver searchBarVisibilityChangedReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + // Update the workspace + if (waitUntilResume(mReloadLauncherRunnable, true)) { return; } @@ -572,6 +587,10 @@ public class Launcher extends Activity cyanogenmod.content.Intent.ACTION_PROTECTED_CHANGED); registerReceiver(protectedAppsChangedReceiver, protectedAppsFilter, cyanogenmod.platform.Manifest.permission.PROTECTED_APP, null); + + IntentFilter searchBarVisibilityFilter = new IntentFilter( + SettingsPinnedHeaderAdapter.ACTION_SEARCH_BAR_VISIBILITY_CHANGED); + registerReceiver(searchBarVisibilityChangedReceiver, searchBarVisibilityFilter); } @Override @@ -1788,6 +1807,8 @@ public class Launcher extends Activity mHideIconLabels = SettingsProvider.getBoolean(this, SettingsProvider.SETTINGS_UI_HOMESCREEN_HIDE_ICON_LABELS, R.bool.preferences_interface_homescreen_hide_icon_labels_default); + mDefaultScreenId = SettingsProvider.getLongCustomDefault(this, + SettingsProvider.SETTINGS_UI_HOMESCREEN_DEFAULT_SCREEN_ID, 1); mModel = app.setLauncher(this); mIconCache = app.getIconCache(); @@ -1829,7 +1850,6 @@ public class Launcher extends Activity mWorkspace.updateCustomContentVisibility(); mSearchDropTargetBar.setupQsb(this); - mSearchDropTargetBar.setVisibility(View.INVISIBLE); if (reloadAppDrawer) { reloadAppDrawer(); @@ -2313,6 +2333,7 @@ public class Launcher extends Activity } unregisterReceiver(protectedAppsChangedReceiver); + unregisterReceiver(searchBarVisibilityChangedReceiver); } public DragController getDragController() { @@ -3097,7 +3118,24 @@ public class Launcher extends Activity protected void onClickDefaultScreenButton(View v) { if (LOGD) Log.d(TAG, "onClickDefaultScreenButton"); - // TODO + + if (!mWorkspace.isInOverviewMode()) return; + + mDefaultScreenId = mWorkspace.getScreenIdForPageIndex(mWorkspace.getPageNearestToCenterOfScreen()); + updateDefaultScreenButton(); + SettingsProvider.get(this).edit() + .putLong(SettingsProvider.SETTINGS_UI_HOMESCREEN_DEFAULT_SCREEN_ID, + mDefaultScreenId) + .commit(); + } + + protected void updateDefaultScreenButton() { + if (mOverviewPanel != null) { + View defaultPageButton = mOverviewPanel.findViewById(R.id.default_screen_button); + defaultPageButton.setActivated( + mWorkspace.getScreenIdForPageIndex(mWorkspace.getPageNearestToCenterOfScreen()) + == mDefaultScreenId); + } } public View.OnTouchListener getHapticFeedbackTouchListener() { |