diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceProvisionedControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceProvisionedControllerImpl.java index c995162c8bb1b..f5e745f650a97 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceProvisionedControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/DeviceProvisionedControllerImpl.java @@ -14,6 +14,8 @@ package com.android.systemui.statusbar.policy; +import static com.android.systemui.Dependency.MAIN_HANDLER_NAME; + import android.app.ActivityManager; import android.content.ContentResolver; import android.content.Context; @@ -21,13 +23,14 @@ import android.database.ContentObserver; import android.net.Uri; import android.provider.Settings.Global; import android.provider.Settings.Secure; +import android.os.Handler; -import com.android.systemui.Dependency; import com.android.systemui.settings.CurrentUserTracker; import java.util.ArrayList; import javax.inject.Inject; +import javax.inject.Named; import javax.inject.Singleton; /** @@ -41,16 +44,28 @@ public class DeviceProvisionedControllerImpl extends CurrentUserTracker implemen private final Context mContext; private final Uri mDeviceProvisionedUri; private final Uri mUserSetupUri; + protected final ContentObserver mSettingsObserver; /** */ @Inject - public DeviceProvisionedControllerImpl(Context context) { + public DeviceProvisionedControllerImpl(Context context, + @Named(MAIN_HANDLER_NAME) Handler mainHandler) { super(context); mContext = context; mContentResolver = context.getContentResolver(); mDeviceProvisionedUri = Global.getUriFor(Global.DEVICE_PROVISIONED); mUserSetupUri = Secure.getUriFor(Secure.USER_SETUP_COMPLETE); + mSettingsObserver = new ContentObserver(mainHandler) { + @Override + public void onChange(boolean selfChange, Uri uri, int userId) { + if (mUserSetupUri.equals(uri)) { + notifySetupChanged(); + } else { + notifyProvisionedChanged(); + } + } + }; } @Override @@ -127,17 +142,4 @@ public class DeviceProvisionedControllerImpl extends CurrentUserTracker implemen mListeners.get(i).onDeviceProvisionedChanged(); } } - - protected final ContentObserver mSettingsObserver = new ContentObserver(Dependency.get( - Dependency.MAIN_HANDLER)) { - - @Override - public void onChange(boolean selfChange, Uri uri, int userId) { - if (mUserSetupUri.equals(uri)) { - notifySetupChanged(); - } else { - notifyProvisionedChanged(); - } - } - }; } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarFragmentTest.java index 728723b4094c0..babd452475d4c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarFragmentTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NavigationBarFragmentTest.java @@ -40,7 +40,6 @@ import com.android.systemui.stackdivider.Divider; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper; import com.android.systemui.statusbar.policy.DeviceProvisionedController; -import com.android.systemui.statusbar.policy.DeviceProvisionedControllerImpl; import org.junit.Before; import org.junit.Test; @@ -105,7 +104,7 @@ public class NavigationBarFragmentTest extends SysuiBaseFragmentTest { @Override protected Fragment instantiate(Context context, String className, Bundle arguments) { DeviceProvisionedController deviceProvisionedController = - new DeviceProvisionedControllerImpl(context); + mock(DeviceProvisionedController.class); assertNotNull(mAccessibilityWrapper); return new NavigationBarFragment(mAccessibilityWrapper, deviceProvisionedController,