Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 828e4c49 authored by Adam Lesinski's avatar Adam Lesinski
Browse files

Reinflate QSB RSSI Tile on config change

Resources that change based on MCC or MNC will now
show on the RSSI tile in Quick Settings.

bug:10518893
Change-Id: I55a77f967d2630b5c1aa17382069a15f37745405
parent dcd05b44
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.os.UserHandle;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
@@ -308,6 +309,7 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
        refreshBluetoothTile();
        refreshBrightnessTile();
        refreshRotationLockTile();
        refreshRssiTile();
    }

    // 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
    void addBluetoothTile(QuickSettingsTileView view, RefreshCallback cb) {
        mBluetoothTile = view;
+14 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.statusbar.phone;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
@@ -26,13 +27,16 @@ import android.widget.FrameLayout;
 *
 */
class QuickSettingsTileView extends FrameLayout {
    private static final String TAG = "QuickSettingsTileView";

    private int mContentLayoutId;
    private int mColSpan;
    private int mRowSpan;

    public QuickSettingsTileView(Context context, AttributeSet attrs) {
        super(context, attrs);

        mContentLayoutId = -1;
        mColSpan = 1;
        mRowSpan = 1;
    }
@@ -46,9 +50,19 @@ class QuickSettingsTileView extends FrameLayout {
    }

    void setContent(int layoutId, LayoutInflater inflater) {
        mContentLayoutId = layoutId;
        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
    public void setVisibility(int vis) {
        if (QuickSettings.DEBUG_GONE_TILES) {