Handle Looper in PreferenceController

When indexing content in search, the preference controllers
are init'd on the background thread, thus you can't create a
handler without calling Looper.prepare().

We have PreferenceConttrollerContractTest to catch these
errors, but it was not running in presubmit.
Bug tracking: b/73242024

This caused the indexing thread to crash, thus
not adding any non-indexable keys for settings results.

Test: atest PreferenceControllerContractTest
Fixes: 73168342

Change-Id: I89fe596435d317bb3e3baebdaace97a67700d77e
diff --git a/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceController.java
index 1c787ab..1cc72a7 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/AutoBatterySeekBarPreferenceController.java
@@ -20,6 +20,7 @@
 import android.database.ContentObserver;
 import android.net.Uri;
 import android.os.Handler;
+import android.os.Looper;
 import android.provider.Settings;
 import android.support.annotation.VisibleForTesting;
 import android.support.v7.preference.Preference;
@@ -46,7 +47,7 @@
 
     public AutoBatterySeekBarPreferenceController(Context context, Lifecycle lifecycle) {
         super(context, KEY_AUTO_BATTERY_SEEK_BAR);
-        mContentObserver = new AutoBatterySaverSettingObserver(new Handler());
+        mContentObserver = new AutoBatterySaverSettingObserver(new Handler(Looper.getMainLooper()));
         if (lifecycle != null) {
             lifecycle.addObserver(this);
         }