am 97fee818: Merge "Reinflate QSB RSSI Tile on config change" into klp-dev

* commit '97fee8186789beb281d1dcfcd0d69f885a2a1e3e':
  Reinflate QSB RSSI Tile on config change
This commit is contained in:
Adam Lesinski
2013-10-10 12:56:55 -07:00
committed by Android Git Automerger
2 changed files with 22 additions and 0 deletions

View File

@@ -34,6 +34,7 @@ import android.os.UserHandle;
import android.provider.Settings; import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException; import android.provider.Settings.SettingNotFoundException;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
@@ -308,6 +309,7 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
refreshBluetoothTile(); refreshBluetoothTile();
refreshBrightnessTile(); refreshBrightnessTile();
refreshRotationLockTile(); refreshRotationLockTile();
refreshRssiTile();
} }
// Settings // Settings
@@ -501,6 +503,12 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
} }
} }
void refreshRssiTile() {
// We reinflate the original view due to potential styling changes that may have
// taken place due to a configuration change.
mRSSITile.reinflateContent(LayoutInflater.from(mContext));
}
// Bluetooth // Bluetooth
void addBluetoothTile(QuickSettingsTileView view, RefreshCallback cb) { void addBluetoothTile(QuickSettingsTileView view, RefreshCallback cb) {
mBluetoothTile = view; mBluetoothTile = view;

View File

@@ -18,6 +18,7 @@ package com.android.systemui.statusbar.phone;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.widget.FrameLayout; import android.widget.FrameLayout;
@@ -26,13 +27,16 @@ import android.widget.FrameLayout;
* *
*/ */
class QuickSettingsTileView extends FrameLayout { class QuickSettingsTileView extends FrameLayout {
private static final String TAG = "QuickSettingsTileView";
private int mContentLayoutId;
private int mColSpan; private int mColSpan;
private int mRowSpan; private int mRowSpan;
public QuickSettingsTileView(Context context, AttributeSet attrs) { public QuickSettingsTileView(Context context, AttributeSet attrs) {
super(context, attrs); super(context, attrs);
mContentLayoutId = -1;
mColSpan = 1; mColSpan = 1;
mRowSpan = 1; mRowSpan = 1;
} }
@@ -46,9 +50,19 @@ class QuickSettingsTileView extends FrameLayout {
} }
void setContent(int layoutId, LayoutInflater inflater) { void setContent(int layoutId, LayoutInflater inflater) {
mContentLayoutId = layoutId;
inflater.inflate(layoutId, this); inflater.inflate(layoutId, this);
} }
void reinflateContent(LayoutInflater inflater) {
if (mContentLayoutId != -1) {
removeAllViews();
setContent(mContentLayoutId, inflater);
} else {
Log.e(TAG, "Not reinflating content: No layoutId set");
}
}
@Override @Override
public void setVisibility(int vis) { public void setVisibility(int vis) {
if (QuickSettings.DEBUG_GONE_TILES) { if (QuickSettings.DEBUG_GONE_TILES) {