Misc layout fixes

- Apply entity header effect to battery summary screen.
- BidiWrap wifi ap name is it's correctly displayed in RLT languages
- Remove footer preference layout - settingslib already has one

Fix: 62039146
Fix: 62138362
Fix: 37920219
Test: make RunSettingsRoboTests

Change-Id: Idf1385ee40772c63075e5f81eb039c6da56256ab
This commit is contained in:
Fan Zhang
2017-06-03 17:17:27 -07:00
parent 2be17c0dcd
commit fe23da579d
6 changed files with 78 additions and 69 deletions

View File

@@ -17,24 +17,32 @@
package com.android.settings.fuelgauge;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.support.annotation.VisibleForTesting;
import android.support.v14.preference.PreferenceFragment;
import android.support.v7.preference.PreferenceScreen;
import android.widget.TextView;
import com.android.settings.R;
import com.android.settings.applications.LayoutPreference;
import com.android.settings.core.PreferenceController;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.Utils;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
/**
* Controller that update the battery header view
*/
public class BatteryHeaderPreferenceController extends PreferenceController {
public class BatteryHeaderPreferenceController extends PreferenceController
implements LifecycleObserver, OnStart {
@VisibleForTesting
static final String KEY_BATTERY_HEADER = "battery_header";
@VisibleForTesting
BatteryMeterView mBatteryMeterView;
@VisibleForTesting
@@ -42,16 +50,26 @@ public class BatteryHeaderPreferenceController extends PreferenceController {
@VisibleForTesting
TextView mSummary;
private final Activity mActivity;
private final PreferenceFragment mHost;
private final Lifecycle mLifecycle;
private LayoutPreference mBatteryLayoutPref;
public BatteryHeaderPreferenceController(Context context) {
public BatteryHeaderPreferenceController(Context context, Activity activity,
PreferenceFragment host, Lifecycle lifecycle) {
super(context);
mActivity = activity;
mHost = host;
mLifecycle = lifecycle;
if (mLifecycle != null) {
mLifecycle.addObserver(this);
}
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mBatteryLayoutPref = (LayoutPreference) screen.findPreference(KEY_BATTERY_HEADER);
mBatteryMeterView = (BatteryMeterView) mBatteryLayoutPref
.findViewById(R.id.battery_header_icon);
@@ -76,6 +94,14 @@ public class BatteryHeaderPreferenceController extends PreferenceController {
return KEY_BATTERY_HEADER;
}
@Override
public void onStart() {
EntityHeaderController.newInstance(mActivity, mHost,
mBatteryLayoutPref.findViewById(R.id.battery_entity_header))
.setRecyclerView(mHost.getListView(), mLifecycle)
.styleActionBar(mActivity);
}
public void updateHeaderPreference(BatteryInfo info) {
mTimeText.setText(Utils.formatPercentage(info.batteryLevel));
if (info.remainingLabel == null) {