Merge "Revert "[Dagger] Remove Dependency.get from VolumeDialogImpl."" into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
efbfcd1290
@@ -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 {
|
||||
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 = {
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 */);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user