diff options
Diffstat (limited to 'src/com/android/launcher3/BaseDraggingActivity.java')
-rw-r--r-- | src/com/android/launcher3/BaseDraggingActivity.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/launcher3/BaseDraggingActivity.java b/src/com/android/launcher3/BaseDraggingActivity.java index 1400432c9..e47dbe535 100644 --- a/src/com/android/launcher3/BaseDraggingActivity.java +++ b/src/com/android/launcher3/BaseDraggingActivity.java @@ -28,12 +28,14 @@ import android.os.StrictMode; import android.os.UserHandle; import android.util.Log; import android.view.ActionMode; +import android.view.Surface; import android.view.View; import android.widget.Toast; import com.android.launcher3.LauncherSettings.Favorites; import com.android.launcher3.badge.BadgeInfo; import com.android.launcher3.compat.LauncherAppsCompat; +import com.android.launcher3.uioverrides.DisplayRotationListener; import com.android.launcher3.uioverrides.WallpaperColorInfo; import com.android.launcher3.shortcuts.DeepShortcutManager; import com.android.launcher3.views.BaseDragLayer; @@ -61,10 +63,13 @@ public abstract class BaseDraggingActivity extends BaseActivity private int mThemeRes = R.style.LauncherTheme; + private DisplayRotationListener mRotationListener; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mIsSafeModeEnabled = getPackageManager().isSafeMode(); + mRotationListener = new DisplayRotationListener(this, this::onDeviceRotationChanged); // Update theme WallpaperColorInfo wallpaperColorInfo = WallpaperColorInfo.getInstance(this); @@ -237,12 +242,30 @@ public abstract class BaseDraggingActivity extends BaseActivity protected void onDestroy() { super.onDestroy(); WallpaperColorInfo.getInstance(this).removeOnChangeListener(this); + mRotationListener.disable(); } public <T extends BaseDraggingActivity> void setOnStartCallback(OnStartCallback<T> callback) { mOnStartCallback = callback; } + protected void onDeviceProfileInitiated() { + if (mDeviceProfile.isVerticalBarLayout()) { + mRotationListener.enable(); + mDeviceProfile.updateIsSeascape(getWindowManager()); + } else { + mRotationListener.disable(); + } + } + + private void onDeviceRotationChanged() { + if (mDeviceProfile.updateIsSeascape(getWindowManager())) { + reapplyUi(); + } + } + + protected abstract void reapplyUi(); + /** * Callback for listening for onStart */ |