diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
index 8e52b0da54e..9dcf7de7cb4 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -34,6 +34,7 @@ import android.app.StatusBarManager.WindowType;
import android.app.StatusBarManager.WindowVisibleState;
import android.content.ComponentName;
import android.content.Context;
+import android.view.View;
import android.hardware.biometrics.BiometricAuthenticator.Modality;
import android.hardware.biometrics.BiometricManager.BiometricMultiSensorMode;
import android.hardware.biometrics.IBiometricSysuiReceiver;
@@ -47,6 +48,7 @@ import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.os.ParcelFileDescriptor;
+import android.provider.Settings;
import android.util.Log;
import android.util.Pair;
import android.util.SparseArray;
@@ -170,6 +172,8 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
private ProtoTracer mProtoTracer;
private final @Nullable CommandRegistry mRegistry;
+ private Context mContext;
+
/**
* These methods are called back on the main thread.
*/
@@ -410,6 +414,7 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
mProtoTracer = protoTracer;
mRegistry = registry;
context.getSystemService(DisplayManager.class).registerDisplayListener(this, mHandler);
+ mContext = context;
// We always have default display.
setDisabled(DEFAULT_DISPLAY, DISABLE_NONE, DISABLE2_NONE);
}
@@ -436,9 +441,13 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
public boolean panelsEnabled() {
final int disabled1 = getDisabled1(DEFAULT_DISPLAY);
final int disabled2 = getDisabled2(DEFAULT_DISPLAY);
return (disabled1 & StatusBarManager.DISABLE_EXPAND) == 0
&& (disabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0
- && !ONLY_CORE_APPS;
+ && !ONLY_CORE_APPS
+ && Settings.System.getInt(mContext.getContentResolver(),
+ "hidestatusbar",0) == 0;
}
//这段修改主要是对处于锁屏状态下从时间位置开始下滑,还是能够下拉出状态栏,做出的修改
diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt
index 01ee666e8ae..2dda313156c 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/LockscreenShadeTransitionController.kt
@@ -7,6 +7,7 @@ import android.animation.ValueAnimator
import android.content.Context
import android.content.res.Configuration
import android.os.SystemClock
+import android.provider.Settings
import android.util.DisplayMetrics
import android.util.MathUtils
import android.view.MotionEvent
@@ -22,6 +23,7 @@ import com.android.systemui.biometrics.UdfpsKeyguardViewController
import com.android.systemui.classifier.Classifier
import com.android.systemui.classifier.FalsingCollector
import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.flags.FeatureFlags
import com.android.systemui.media.MediaHierarchyManager
import com.android.systemui.plugins.ActivityStarter.OnDismissAction
import com.android.systemui.plugins.FalsingManager
@@ -40,7 +42,6 @@ import com.android.systemui.statusbar.phone.StatusBar
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.Utils
import javax.inject.Inject
-import com.android.systemui.flags.FeatureFlags
private const val SPRING_BACK_ANIMATION_LENGTH_MS = 375L
private const val RUBBERBAND_FACTOR_STATIC = 0.15f
@@ -131,7 +132,7 @@ class LockscreenShadeTransitionController @Inject constructor(
/**
* The touch helper responsible for the drag down animation.
*/
- val touchHelper = DragDownHelper(falsingManager, falsingCollector, this, context)
+ val touchHelper = DragDownHelper(statusBarStateController,falsingManager, falsingCollector, this, context)
init {
updateResources()
@@ -556,6 +557,7 @@ class LockscreenShadeTransitionController @Inject constructor(
* the notification where the drag started.
*/
class DragDownHelper(
+ private val statusBarStateController: SysuiStatusBarStateController,
private val falsingManager: FalsingManager,
private val falsingCollector: FalsingCollector,
private val dragDownCallback: LockscreenShadeTransitionController,
@@ -565,6 +567,7 @@ class DragDownHelper(
private var dragDownAmountOnStart = 0.0f
lateinit var expandCallback: ExpandHelper.Callback
lateinit var host: View
+ private var mContext = context;
private var minDragDistance = 0
private var initialTouchX = 0f
@@ -622,6 +625,19 @@ class DragDownHelper(
else
touchSlop
if (h > touchSlop && h > Math.abs(x - initialTouchX)) {
+ if (Settings.System.getInt(
+ mContext.contentResolver,
+ "hidestatusbar", 0
+ ) != 0) {
+ if (statusBarStateController.state == StatusBarState.KEYGUARD) {
+ return true
+ }
+ }
falsingCollector.onNotificationStartDraggingDown()
isDraggingDown = true
captureStartingChild(initialTouchX, initialTouchY)
diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
index 903b17cfdf5..654224e19c8 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -2202,6 +2202,14 @@ public class NotificationPanelViewController extends PanelViewController {
}
private void setQsExpansion(float height) {
+ if (Settings.System.getInt(mView.getContext().getContentResolver(),"hidestatusbar",0) != 0){
+ if(mStatusBarStateController.getState() != StatusBarState.SHADE){
+ return;
+ }
+ }
height = Math.min(Math.max(height, mQsMinExpansionHeight), mQsMaxExpansionHeight);
mQsFullyExpanded = height == mQsMaxExpansionHeight && mQsMaxExpansionHeight != 0;
if (height > mQsMinExpansionHeight && !mQsExpanded && !mStackScrollerOverscrolling
diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
index 41eda00257c..07acc525a9c 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
@@ -25,6 +25,7 @@ import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Point;
import android.graphics.Rect;
+import android.provider.Settings;
import android.util.AttributeSet;
import android.util.EventLog;
import android.util.Pair;
@@ -226,6 +227,11 @@ public class PhoneStatusBarView extends PanelBar {
@Override
public boolean onTouchEvent(MotionEvent event) {
+ if(Settings.System.getInt(mContext.getContentResolver(), "hidestatusbar",0)!=0){
+ return false;
+ }
boolean barConsumedEvent = mBar.interceptTouchEvent(event);
if (DEBUG_GESTURES) {
diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index 756d4d9ee2c..39208850fbd 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -332,6 +332,7 @@ public class StatusBar extends SystemUI implements DemoMode,
*/
private static final int HINT_RESET_DELAY_MS = 1200;
+
private static final AudioAttributes VIBRATION_ATTRIBUTES = new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
@@ -346,6 +347,11 @@ public class StatusBar extends SystemUI implements DemoMode,
public static final int[] CAMERA_LAUNCH_GESTURE_VIBRATION_AMPLITUDES =
new int[]{39, 82, 139, 213, 0, 127};
+ private static final String ACTION_HIDE_STATUS_BAR = "android.intent.action.HIDE_STATUS_BAR";
+ private static final String ACTION_SHOW_STATUS_BAR = "android.intent.action.DISPLAY_STATUS_BAR";
/**
* If true, the system is in the half-boot-to-decryption-screen state.
* Prudently disable QS and notifications.
@@ -361,6 +367,7 @@ public class StatusBar extends SystemUI implements DemoMode,
private OpSystemUICustomizationFactoryBase mSystemUIFactoryBase = null;
///@}
+
static {
boolean onlyCoreApps;
try {
@@ -990,7 +997,11 @@ public class StatusBar extends SystemUI implements DemoMode,
}
createAndAddWindows(result);
+ if (!(Settings.System.getInt(mContext.getContentResolver(),"hidestatusbar",0) == 0)){
+ mStatusBarWindowController.setBarVisibility(View.GONE);
+ }
if (mWallpaperSupported) {
// Make sure we always have the most current wallpaper info.
IntentFilter wallpaperChangedFilter = new IntentFilter(Intent.ACTION_WALLPAPER_CHANGED);
@@ -1141,6 +1152,8 @@ public class StatusBar extends SystemUI implements DemoMode,
mStackScrollerController =
mNotificationPanelViewController.getNotificationStackScrollLayoutController();
mStackScroller = mStackScrollerController.getView();
NotificationListContainer notifListContainer =
mStackScrollerController.getNotificationListContainer();
mNotificationLogger.setUpWithContainer(notifListContainer);
@@ -1445,11 +1458,16 @@ public class StatusBar extends SystemUI implements DemoMode,
@VisibleForTesting
protected void registerBroadcastReceiver() {
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
filter.addAction(Intent.ACTION_SCREEN_OFF);
+ filter.addAction(ACTION_HIDE_STATUS_BAR);
+ filter.addAction(ACTION_SHOW_STATUS_BAR);
filter.addAction(DevicePolicyManager.ACTION_SHOW_DEVICE_MONITORING_DIALOG);
+
mBroadcastDispatcher.registerReceiver(mBroadcastReceiver, filter, null, UserHandle.ALL);
}
protected QS createDefaultQSFragment() {
@@ -3141,7 +3159,19 @@ public class StatusBar extends SystemUI implements DemoMode,
}
else if (DevicePolicyManager.ACTION_SHOW_DEVICE_MONITORING_DIALOG.equals(action)) {
mQSPanelController.showDeviceMonitoringDialog();
+ }
+ else if (ACTION_HIDE_STATUS_BAR.equals(action)) {
+ mStatusBarWindowController.setBarVisibility(View.GONE);
+ Log.d(TAG,"ACTION_HIDE_STATUS_BAR");
+ Settings.System.putInt(mContext.getContentResolver(),"hidestatusbar",1);
+ }
+ else if (ACTION_SHOW_STATUS_BAR.equals(action)) {
+ mStatusBarWindowController.setBarVisibility(View.VISIBLE);
+ Log.d(TAG,"ACTION_SHOW_STATUS_BAR");
+ Settings.System.putInt(mContext.getContentResolver(),"hidestatusbar",0);
}
Trace.endSection();
}
};
diff --git a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java
index 9a25a707885..35f7b87b993 100644
--- a/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java
+++ b/alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java
@@ -214,4 +214,9 @@ public class StatusBarWindowController {
mLpChanged.privateFlags &= ~PRIVATE_FLAG_FORCE_SHOW_STATUS_BAR;
}
}
+ public void setBarVisibility(int visibility) {
+ mStatusBarView.setVisibility(visibility);
+ }
}
Android 12 动态控制状态栏的显示与隐藏功能
最新推荐文章于 2024-07-16 16:48:25 发布