summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Caitlin Cassidy <ccassidy@google.com> 2021-08-19 22:03:30 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-08-19 22:03:30 +0000
commitefbfcd12900e28bfdb90cabfe8f3765bc46ab248 (patch)
tree11dae3f6c74d0515041439a3f011984e0aa2b804
parente0b3b959f27fdbb571be6f56c62616b036d13e3f (diff)
parentf02365656fd91a9569ce4e93da6f1da9648bf972 (diff)
Merge "Revert "[Dagger] Remove Dependency.get from VolumeDialogImpl."" into sc-v2-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java14
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java32
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java36
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java41
7 files changed, 38 insertions, 95 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java
index 0923caaf0d76..9cb9a362d460 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java
@@ -68,7 +68,6 @@ import com.android.systemui.statusbar.policy.IndividualSensorPrivacyController;
import com.android.systemui.statusbar.policy.IndividualSensorPrivacyControllerImpl;
import com.android.systemui.statusbar.policy.SensorPrivacyController;
import com.android.systemui.statusbar.policy.SensorPrivacyControllerImpl;
-import com.android.systemui.volume.dagger.VolumeModule;
import javax.inject.Named;
@@ -83,8 +82,7 @@ import dagger.Provides;
@Module(includes = {
MediaModule.class,
PowerModule.class,
- QSModule.class,
- VolumeModule.class
+ QSModule.class
})
public abstract class SystemUIDefaultModule {
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
index 55aad5d5d145..102fc40ef1ad 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
@@ -75,6 +75,7 @@ import com.android.systemui.util.sensors.SensorModule;
import com.android.systemui.util.settings.SettingsUtilModule;
import com.android.systemui.util.time.SystemClock;
import com.android.systemui.util.time.SystemClockImpl;
+import com.android.systemui.volume.dagger.VolumeModule;
import com.android.systemui.wallet.dagger.WalletModule;
import com.android.systemui.wmshell.BubblesManager;
import com.android.wm.shell.bubbles.Bubbles;
@@ -111,6 +112,7 @@ import dagger.Provides;
TunerModule.class,
UserModule.class,
UtilModule.class,
+ VolumeModule.class,
WalletModule.class
},
subcomponents = {
diff --git a/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java
index 891244823271..35251002fb7b 100644
--- a/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java
+++ b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIModule.java
@@ -70,7 +70,6 @@ import com.android.systemui.statusbar.policy.IndividualSensorPrivacyControllerIm
import com.android.systemui.statusbar.policy.SensorPrivacyController;
import com.android.systemui.statusbar.policy.SensorPrivacyControllerImpl;
import com.android.systemui.statusbar.tv.notifications.TvNotificationHandler;
-import com.android.systemui.volume.dagger.VolumeModule;
import javax.inject.Named;
@@ -84,8 +83,7 @@ import dagger.Provides;
*/
@Module(includes = {
PowerModule.class,
- QSModule.class,
- VolumeModule.class,
+ QSModule.class
},
subcomponents = {
})
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
index c083c14a3730..f2e031cfa1df 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
@@ -20,6 +20,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
+import android.media.AudioManager;
import android.media.VolumePolicy;
import android.os.Bundle;
import android.view.WindowManager.LayoutParams;
@@ -83,8 +84,7 @@ public class VolumeDialogComponent implements VolumeComponent, TunerService.Tuna
DemoModeController demoModeController,
PluginDependencyProvider pluginDependencyProvider,
ExtensionController extensionController,
- TunerService tunerService,
- VolumeDialog volumeDialog) {
+ TunerService tunerService) {
mContext = context;
mKeyguardViewMediator = keyguardViewMediator;
mActivityStarter = activityStarter;
@@ -94,7 +94,7 @@ public class VolumeDialogComponent implements VolumeComponent, TunerService.Tuna
pluginDependencyProvider.allowPluginDependency(VolumeDialogController.class);
extensionController.newExtension(VolumeDialog.class)
.withPlugin(VolumeDialog.class)
- .withDefault(() -> volumeDialog)
+ .withDefault(this::createDefault)
.withCallback(dialog -> {
if (mDialog != null) {
mDialog.destroy();
@@ -108,6 +108,14 @@ public class VolumeDialogComponent implements VolumeComponent, TunerService.Tuna
demoModeController.addCallback(this);
}
+ protected VolumeDialog createDefault() {
+ VolumeDialogImpl impl = new VolumeDialogImpl(mContext);
+ impl.setStreamImportant(AudioManager.STREAM_SYSTEM, false);
+ impl.setAutomute(true);
+ impl.setSilentMode(false);
+ return impl;
+ }
+
@Override
public void onTuningChanged(String key, String newValue) {
boolean volumeDownToEnterSilent = mVolumePolicy.volumeDownToEnterSilent;
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
index 58f74a0d2a02..dbf115b62a58 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
@@ -106,6 +106,7 @@ import androidx.annotation.Nullable;
import com.android.internal.graphics.drawable.BackgroundBlurDrawable;
import com.android.internal.view.RotationPolicy;
import com.android.settingslib.Utils;
+import com.android.systemui.Dependency;
import com.android.systemui.Prefs;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
@@ -234,10 +235,6 @@ public class VolumeDialogImpl implements VolumeDialog,
private final Object mSafetyWarningLock = new Object();
private final Accessibility mAccessibility = new Accessibility();
- private final ConfigurationController mConfigurationController;
- private final MediaOutputDialogFactory mMediaOutputDialogFactory;
- private final ActivityStarter mActivityStarter;
-
private boolean mShowing;
private boolean mShowA11yStream;
@@ -259,24 +256,14 @@ public class VolumeDialogImpl implements VolumeDialog,
private Consumer<Boolean> mCrossWindowBlurEnabledListener;
private BackgroundBlurDrawable mDialogRowsViewBackground;
- public VolumeDialogImpl(
- Context context,
- VolumeDialogController volumeDialogController,
- AccessibilityManagerWrapper accessibilityManagerWrapper,
- DeviceProvisionedController deviceProvisionedController,
- ConfigurationController configurationController,
- MediaOutputDialogFactory mediaOutputDialogFactory,
- ActivityStarter activityStarter) {
+ public VolumeDialogImpl(Context context) {
mContext =
new ContextThemeWrapper(context, R.style.volume_dialog_theme);
- mController = volumeDialogController;
+ mController = Dependency.get(VolumeDialogController.class);
mKeyguard = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
- mAccessibilityMgr = accessibilityManagerWrapper;
- mDeviceProvisionedController = deviceProvisionedController;
- mConfigurationController = configurationController;
- mMediaOutputDialogFactory = mediaOutputDialogFactory;
- mActivityStarter = activityStarter;
+ mAccessibilityMgr = Dependency.get(AccessibilityManagerWrapper.class);
+ mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class);
mShowActiveStreamOnly = showActiveStreamOnly();
mHasSeenODICaptionsTooltip =
Prefs.getBoolean(context, Prefs.Key.HAS_SEEN_ODI_CAPTIONS_TOOLTIP, false);
@@ -319,14 +306,14 @@ public class VolumeDialogImpl implements VolumeDialog,
mController.addCallback(mControllerCallbackH, mHandler);
mController.getState();
- mConfigurationController.addCallback(this);
+ Dependency.get(ConfigurationController.class).addCallback(this);
}
@Override
public void destroy() {
mController.removeCallback(mControllerCallbackH);
mHandler.removeCallbacksAndMessages(null);
- mConfigurationController.removeCallback(this);
+ Dependency.get(ConfigurationController.class).removeCallback(this);
}
@Override
@@ -1030,8 +1017,9 @@ public class VolumeDialogImpl implements VolumeDialog,
Events.writeEvent(Events.EVENT_SETTINGS_CLICK);
Intent intent = new Intent(Settings.Panel.ACTION_VOLUME);
dismissH(DISMISS_REASON_SETTINGS_CLICKED);
- mMediaOutputDialogFactory.dismiss();
- mActivityStarter.startActivity(intent, true /* dismissShade */);
+ Dependency.get(MediaOutputDialogFactory.class).dismiss();
+ Dependency.get(ActivityStarter.class).startActivity(intent,
+ true /* dismissShade */);
});
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java b/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java
index 79aa643fc6c2..1ef4c169b786 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java
@@ -16,23 +16,11 @@
package com.android.systemui.volume.dagger;
-import android.content.Context;
-import android.media.AudioManager;
-
-import com.android.systemui.media.dialog.MediaOutputDialogFactory;
-import com.android.systemui.plugins.ActivityStarter;
-import com.android.systemui.plugins.VolumeDialog;
-import com.android.systemui.plugins.VolumeDialogController;
-import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper;
-import com.android.systemui.statusbar.policy.ConfigurationController;
-import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.volume.VolumeComponent;
import com.android.systemui.volume.VolumeDialogComponent;
-import com.android.systemui.volume.VolumeDialogImpl;
import dagger.Binds;
import dagger.Module;
-import dagger.Provides;
/** Dagger Module for code in the volume package. */
@@ -41,28 +29,4 @@ public interface VolumeModule {
/** */
@Binds
VolumeComponent provideVolumeComponent(VolumeDialogComponent volumeDialogComponent);
-
- /** */
- @Provides
- static VolumeDialog provideVolumeDialog(
- Context context,
- VolumeDialogController volumeDialogController,
- AccessibilityManagerWrapper accessibilityManagerWrapper,
- DeviceProvisionedController deviceProvisionedController,
- ConfigurationController configurationController,
- MediaOutputDialogFactory mediaOutputDialogFactory,
- ActivityStarter activityStarter) {
- VolumeDialogImpl impl = new VolumeDialogImpl(
- context,
- volumeDialogController,
- accessibilityManagerWrapper,
- deviceProvisionedController,
- configurationController,
- mediaOutputDialogFactory,
- activityStarter);
- impl.setStreamImportant(AudioManager.STREAM_SYSTEM, false);
- impl.setAutomute(true);
- impl.setSilentMode(false);
- return impl;
- }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java
index 949345662e79..dd4830e893af 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java
@@ -41,13 +41,9 @@ import androidx.test.filters.SmallTest;
import com.android.systemui.Prefs;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
-import com.android.systemui.media.dialog.MediaOutputDialogFactory;
-import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.VolumeDialogController;
import com.android.systemui.plugins.VolumeDialogController.State;
import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper;
-import com.android.systemui.statusbar.policy.ConfigurationController;
-import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import org.junit.Before;
import org.junit.Test;
@@ -72,34 +68,23 @@ public class VolumeDialogImplTest extends SysuiTestCase {
View mDrawerNormal;
@Mock
- VolumeDialogController mVolumeDialogController;
+ VolumeDialogController mController;
+
@Mock
KeyguardManager mKeyguard;
+
@Mock
AccessibilityManagerWrapper mAccessibilityMgr;
- @Mock
- DeviceProvisionedController mDeviceProvisionedController;
- @Mock
- ConfigurationController mConfigurationController;
- @Mock
- MediaOutputDialogFactory mMediaOutputDialogFactory;
- @Mock
- ActivityStarter mActivityStarter;
@Before
public void setup() throws Exception {
MockitoAnnotations.initMocks(this);
+ mController = mDependency.injectMockDependency(VolumeDialogController.class);
+ mAccessibilityMgr = mDependency.injectMockDependency(AccessibilityManagerWrapper.class);
getContext().addMockSystemService(KeyguardManager.class, mKeyguard);
- mDialog = new VolumeDialogImpl(
- getContext(),
- mVolumeDialogController,
- mAccessibilityMgr,
- mDeviceProvisionedController,
- mConfigurationController,
- mMediaOutputDialogFactory,
- mActivityStarter);
+ mDialog = new VolumeDialogImpl(getContext());
mDialog.init(0, null);
State state = createShellState();
mDialog.onStateChangedH(state);
@@ -185,7 +170,7 @@ public class VolumeDialogImplTest extends SysuiTestCase {
Mockito.reset(mAccessibilityMgr);
ArgumentCaptor<VolumeDialogController.Callbacks> controllerCallbackCapture =
ArgumentCaptor.forClass(VolumeDialogController.Callbacks.class);
- verify(mVolumeDialogController).addCallback(controllerCallbackCapture.capture(), any());
+ verify(mController).addCallback(controllerCallbackCapture.capture(), any());
VolumeDialogController.Callbacks callbacks = controllerCallbackCapture.getValue();
callbacks.onShowSafetyWarning(AudioManager.FLAG_SHOW_UI);
verify(mAccessibilityMgr).getRecommendedTimeoutMillis(
@@ -216,13 +201,13 @@ public class VolumeDialogImplTest extends SysuiTestCase {
mDialog.onStateChangedH(initialSilentState);
// expected: shouldn't call vibrate yet
- verify(mVolumeDialogController, never()).vibrate(any());
+ verify(mController, never()).vibrate(any());
// changed ringer to vibrate
mDialog.onStateChangedH(vibrateState);
// expected: vibrate device
- verify(mVolumeDialogController).vibrate(any());
+ verify(mController).vibrate(any());
}
@Test
@@ -240,7 +225,7 @@ public class VolumeDialogImplTest extends SysuiTestCase {
mDialog.onStateChangedH(vibrateState);
// shouldn't call vibrate
- verify(mVolumeDialogController, never()).vibrate(any());
+ verify(mController, never()).vibrate(any());
}
@Test
@@ -253,7 +238,7 @@ public class VolumeDialogImplTest extends SysuiTestCase {
mDrawerVibrate.performClick();
// Make sure we've actually changed the ringer mode.
- verify(mVolumeDialogController, times(1)).setRingerMode(
+ verify(mController, times(1)).setRingerMode(
AudioManager.RINGER_MODE_VIBRATE, false);
}
@@ -267,7 +252,7 @@ public class VolumeDialogImplTest extends SysuiTestCase {
mDrawerMute.performClick();
// Make sure we've actually changed the ringer mode.
- verify(mVolumeDialogController, times(1)).setRingerMode(
+ verify(mController, times(1)).setRingerMode(
AudioManager.RINGER_MODE_SILENT, false);
}
@@ -281,7 +266,7 @@ public class VolumeDialogImplTest extends SysuiTestCase {
mDrawerNormal.performClick();
// Make sure we've actually changed the ringer mode.
- verify(mVolumeDialogController, times(1)).setRingerMode(
+ verify(mController, times(1)).setRingerMode(
AudioManager.RINGER_MODE_NORMAL, false);
}