Loading packages/SystemUI/plugin/src/com/android/systemui/plugins/ActivityStarter.java +11 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ package com.android.systemui.plugins; import android.annotation.Nullable; import android.app.PendingIntent; import android.content.Intent; Loading @@ -36,7 +37,17 @@ public interface ActivityStarter { void postStartActivityDismissingKeyguard(PendingIntent intent); void postQSRunnableDismissingKeyguard(Runnable runnable); void dismissKeyguardThenExecute(OnDismissAction action, @Nullable Runnable cancel, boolean afterKeyguardGone); interface Callback { void onActivityStarted(int resultCode); } interface OnDismissAction { /** * @return {@code true} if the dismiss should be deferred */ boolean onDismiss(); } } packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java +1 −8 Original line number Diff line number Diff line Loading @@ -29,13 +29,13 @@ import android.telephony.TelephonyManager; import android.util.AttributeSet; import android.util.Log; import android.view.KeyEvent; import android.view.accessibility.AccessibilityEvent; import android.widget.FrameLayout; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardSecurityContainer.SecurityCallback; import com.android.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.settingslib.Utils; import com.android.systemui.plugins.ActivityStarter.OnDismissAction; import java.io.File; Loading @@ -50,13 +50,6 @@ import java.io.File; */ public class KeyguardHostView extends FrameLayout implements SecurityCallback { public interface OnDismissAction { /** * @return true if the dismiss should be deferred */ boolean onDismiss(); } private AudioManager mAudioManager; private TelephonyManager mTelephonyManager = null; protected ViewMediatorCallback mViewMediatorCallback; Loading packages/SystemUI/src/com/android/systemui/ActivityStarterDelegate.java +30 −7 Original line number Diff line number Diff line Loading @@ -29,46 +29,69 @@ public class ActivityStarterDelegate implements ActivityStarter { @Override public void startPendingIntentDismissingKeyguard(PendingIntent intent) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.startPendingIntentDismissingKeyguard(intent); } @Override public void startActivity(Intent intent, boolean dismissShade) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, dismissShade); } @Override public void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, onlyProvisioned, dismissShade); } @Override public void startActivity(Intent intent, boolean dismissShade, Callback callback) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, dismissShade, callback); } @Override public void postStartActivityDismissingKeyguard(Intent intent, int delay) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.postStartActivityDismissingKeyguard(intent, delay); } @Override public void postStartActivityDismissingKeyguard(PendingIntent intent) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.postStartActivityDismissingKeyguard(intent); } @Override public void postQSRunnableDismissingKeyguard(Runnable runnable) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.postQSRunnableDismissingKeyguard(runnable); } @Override public void dismissKeyguardThenExecute(OnDismissAction action, Runnable cancel, boolean afterKeyguardGone) { if (mActualStarter == null) { return; } mActualStarter.dismissKeyguardThenExecute(action, cancel, afterKeyguardGone); } public void setActivityStarterImpl(ActivityStarter starter) { mActualStarter = starter; } Loading packages/SystemUI/src/com/android/systemui/Dependency.java +14 −0 Original line number Diff line number Diff line Loading @@ -48,16 +48,22 @@ import com.android.systemui.power.EnhancedEstimates; import com.android.systemui.power.EnhancedEstimatesImpl; import com.android.systemui.power.PowerNotificationWarnings; import com.android.systemui.power.PowerUI; import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.notification.AppOpsListener; import com.android.systemui.statusbar.VibratorHelper; import com.android.systemui.statusbar.notification.NotificationData.KeyguardEnvironment; import com.android.systemui.statusbar.phone.ConfigurationControllerImpl; import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; import com.android.systemui.statusbar.phone.LightBarController; import com.android.systemui.statusbar.phone.LockscreenGestureLogger; import com.android.systemui.statusbar.phone.ManagedProfileController; import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl; import com.android.systemui.statusbar.phone.ShadeController; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl; import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback; import com.android.systemui.statusbar.phone.StatusBarWindowController; import com.android.systemui.statusbar.policy.AccessibilityController; import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper; Loading Loading @@ -343,6 +349,14 @@ public class Dependency extends SystemUI { mProviders.put(LockscreenGestureLogger.class, () -> new LockscreenGestureLogger()); mProviders.put(KeyguardEnvironment.class, () -> new KeyguardEnvironmentImpl()); mProviders.put(ShadeController.class, () -> SysUiServiceProvider.getComponent(mContext, StatusBar.class)); mProviders.put(NotificationRemoteInputManager.Callback.class, () -> new StatusBarRemoteInputCallback(mContext)); mProviders.put(InitController.class, InitController::new); // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); Loading packages/SystemUI/src/com/android/systemui/InitController.java 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.android.systemui; import java.util.ArrayList; /** * Created by {@link Dependency} on SystemUI startup. Add tasks which need to be executed only * after all other dependencies have been created. */ public class InitController { private final ArrayList<Runnable> mTasks = new ArrayList<>(); /** * Add a task to be executed after {@link Dependency#start()} * @param runnable the task to be executed */ public void addPostInitTask(Runnable runnable) { mTasks.add(runnable); } /** * Run post-init tasks and remove them from the tasks list */ public void executePostInitTasks() { while (!mTasks.isEmpty()) { mTasks.remove(0).run(); } } } Loading
packages/SystemUI/plugin/src/com/android/systemui/plugins/ActivityStarter.java +11 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ package com.android.systemui.plugins; import android.annotation.Nullable; import android.app.PendingIntent; import android.content.Intent; Loading @@ -36,7 +37,17 @@ public interface ActivityStarter { void postStartActivityDismissingKeyguard(PendingIntent intent); void postQSRunnableDismissingKeyguard(Runnable runnable); void dismissKeyguardThenExecute(OnDismissAction action, @Nullable Runnable cancel, boolean afterKeyguardGone); interface Callback { void onActivityStarted(int resultCode); } interface OnDismissAction { /** * @return {@code true} if the dismiss should be deferred */ boolean onDismiss(); } }
packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java +1 −8 Original line number Diff line number Diff line Loading @@ -29,13 +29,13 @@ import android.telephony.TelephonyManager; import android.util.AttributeSet; import android.util.Log; import android.view.KeyEvent; import android.view.accessibility.AccessibilityEvent; import android.widget.FrameLayout; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardSecurityContainer.SecurityCallback; import com.android.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.settingslib.Utils; import com.android.systemui.plugins.ActivityStarter.OnDismissAction; import java.io.File; Loading @@ -50,13 +50,6 @@ import java.io.File; */ public class KeyguardHostView extends FrameLayout implements SecurityCallback { public interface OnDismissAction { /** * @return true if the dismiss should be deferred */ boolean onDismiss(); } private AudioManager mAudioManager; private TelephonyManager mTelephonyManager = null; protected ViewMediatorCallback mViewMediatorCallback; Loading
packages/SystemUI/src/com/android/systemui/ActivityStarterDelegate.java +30 −7 Original line number Diff line number Diff line Loading @@ -29,46 +29,69 @@ public class ActivityStarterDelegate implements ActivityStarter { @Override public void startPendingIntentDismissingKeyguard(PendingIntent intent) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.startPendingIntentDismissingKeyguard(intent); } @Override public void startActivity(Intent intent, boolean dismissShade) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, dismissShade); } @Override public void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, onlyProvisioned, dismissShade); } @Override public void startActivity(Intent intent, boolean dismissShade, Callback callback) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, dismissShade, callback); } @Override public void postStartActivityDismissingKeyguard(Intent intent, int delay) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.postStartActivityDismissingKeyguard(intent, delay); } @Override public void postStartActivityDismissingKeyguard(PendingIntent intent) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.postStartActivityDismissingKeyguard(intent); } @Override public void postQSRunnableDismissingKeyguard(Runnable runnable) { if (mActualStarter == null) return; if (mActualStarter == null) { return; } mActualStarter.postQSRunnableDismissingKeyguard(runnable); } @Override public void dismissKeyguardThenExecute(OnDismissAction action, Runnable cancel, boolean afterKeyguardGone) { if (mActualStarter == null) { return; } mActualStarter.dismissKeyguardThenExecute(action, cancel, afterKeyguardGone); } public void setActivityStarterImpl(ActivityStarter starter) { mActualStarter = starter; } Loading
packages/SystemUI/src/com/android/systemui/Dependency.java +14 −0 Original line number Diff line number Diff line Loading @@ -48,16 +48,22 @@ import com.android.systemui.power.EnhancedEstimates; import com.android.systemui.power.EnhancedEstimatesImpl; import com.android.systemui.power.PowerNotificationWarnings; import com.android.systemui.power.PowerUI; import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.notification.AppOpsListener; import com.android.systemui.statusbar.VibratorHelper; import com.android.systemui.statusbar.notification.NotificationData.KeyguardEnvironment; import com.android.systemui.statusbar.phone.ConfigurationControllerImpl; import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; import com.android.systemui.statusbar.phone.LightBarController; import com.android.systemui.statusbar.phone.LockscreenGestureLogger; import com.android.systemui.statusbar.phone.ManagedProfileController; import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl; import com.android.systemui.statusbar.phone.ShadeController; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl; import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback; import com.android.systemui.statusbar.phone.StatusBarWindowController; import com.android.systemui.statusbar.policy.AccessibilityController; import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper; Loading Loading @@ -343,6 +349,14 @@ public class Dependency extends SystemUI { mProviders.put(LockscreenGestureLogger.class, () -> new LockscreenGestureLogger()); mProviders.put(KeyguardEnvironment.class, () -> new KeyguardEnvironmentImpl()); mProviders.put(ShadeController.class, () -> SysUiServiceProvider.getComponent(mContext, StatusBar.class)); mProviders.put(NotificationRemoteInputManager.Callback.class, () -> new StatusBarRemoteInputCallback(mContext)); mProviders.put(InitController.class, InitController::new); // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); Loading
packages/SystemUI/src/com/android/systemui/InitController.java 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.android.systemui; import java.util.ArrayList; /** * Created by {@link Dependency} on SystemUI startup. Add tasks which need to be executed only * after all other dependencies have been created. */ public class InitController { private final ArrayList<Runnable> mTasks = new ArrayList<>(); /** * Add a task to be executed after {@link Dependency#start()} * @param runnable the task to be executed */ public void addPostInitTask(Runnable runnable) { mTasks.add(runnable); } /** * Run post-init tasks and remove them from the tasks list */ public void executePostInitTasks() { while (!mTasks.isEmpty()) { mTasks.remove(0).run(); } } }