mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Merge "Apply ForciblyShown WindowLayoutParam flags for Transient Taskbar" into udc-qpr-dev am: 733d440ac1 am: a1e8f327ff
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/24709295 Change-Id: Id84c65adba08bae631cccfd6792c6a90b6992637 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -58,6 +58,7 @@ import android.view.Gravity;
|
||||
import android.view.RoundedCorner;
|
||||
import android.view.Surface;
|
||||
import android.view.View;
|
||||
import android.view.WindowInsets;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.Toast;
|
||||
@@ -854,6 +855,21 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
|
||||
mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams);
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies forcibly show flag to taskbar window iff transient taskbar is unstashed.
|
||||
*/
|
||||
public void applyForciblyShownFlagWhileTransientTaskbarUnstashed(boolean shouldForceShow) {
|
||||
if (!DisplayController.isTransientTaskbar(this)) {
|
||||
return;
|
||||
}
|
||||
if (shouldForceShow) {
|
||||
mWindowLayoutParams.forciblyShownTypes |= WindowInsets.Type.navigationBars();
|
||||
} else {
|
||||
mWindowLayoutParams.forciblyShownTypes &= ~WindowInsets.Type.navigationBars();
|
||||
}
|
||||
notifyUpdateLayoutParams();
|
||||
}
|
||||
|
||||
/**
|
||||
* Either adds or removes {@link WindowManager.LayoutParams#FLAG_NOT_FOCUSABLE} on the taskbar
|
||||
* window. If we're now focusable, also move nav buttons to a separate window above IME.
|
||||
@@ -960,8 +976,8 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
|
||||
}
|
||||
|
||||
} catch (NullPointerException
|
||||
| ActivityNotFoundException
|
||||
| SecurityException e) {
|
||||
| ActivityNotFoundException
|
||||
| SecurityException e) {
|
||||
Toast.makeText(this, R.string.activity_not_found, Toast.LENGTH_SHORT)
|
||||
.show();
|
||||
Log.e(TAG, "Unable to launch. tag=" + info + " intent=" + intent, e);
|
||||
@@ -1055,6 +1071,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
|
||||
|
||||
/**
|
||||
* Called when we detect a long press in the nav region before passing the gesture slop.
|
||||
*
|
||||
* @return Whether taskbar handled the long press, and thus should cancel the gesture.
|
||||
*/
|
||||
public boolean onLongPressToUnstashTaskbar() {
|
||||
@@ -1124,7 +1141,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
|
||||
* Called when we detect a motion down or up/cancel in the nav region while stashed.
|
||||
*
|
||||
* @param animateForward Whether to animate towards the unstashed hint state or back to stashed.
|
||||
* @param forceUnstash Whether we force the unstash hint.
|
||||
* @param forceUnstash Whether we force the unstash hint.
|
||||
*/
|
||||
public void startTaskbarUnstashHint(boolean animateForward, boolean forceUnstash) {
|
||||
// TODO(b/270395798): Clean up forceUnstash after removing long-press unstashing code.
|
||||
|
||||
@@ -1101,6 +1101,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
||||
TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_TRANSIENT_TASKBAR,
|
||||
!hasAnyFlag(FLAG_STASHED_IN_APP_AUTO));
|
||||
}
|
||||
mActivity.applyForciblyShownFlagWhileTransientTaskbarUnstashed(!isStashedInApp());
|
||||
}
|
||||
|
||||
private void notifyStashChange(boolean visible, boolean stashed) {
|
||||
|
||||
Reference in New Issue
Block a user