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

Commit 9cedca1a authored by Utkarsh Gupta's avatar Utkarsh Gupta Committed by Roman Birg
Browse files

Mobile data tile: open network settings

Long pressing the tile open network settings.
More settings under expanded tile open data usage settings.

Change-Id: I47a6eea35a4d427c70fe3a6dee3c0d198a431082
parent 45e6691f
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -35,17 +36,26 @@ import com.android.systemui.statusbar.policy.NetworkController.NetworkSignalChan

/** Quick settings tile: Cellular **/
public class CellularTile extends QSTile<QSTile.SignalState> {
    private static final Intent CELLULAR_SETTINGS = new Intent().setComponent(new ComponentName(
    private static final Intent DATA_USAGE_SETTINGS = new Intent().setComponent(new ComponentName(
            "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity"));
    private static final Intent WIRELESS_SETTINGS = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
    private static final Intent MOBILE_NETWORK_SETTINGS = new Intent(Intent.ACTION_MAIN)
            .setComponent(new ComponentName("com.android.phone",
                    "com.android.phone.MobileNetworkSettings"));
    private static final Intent MOBILE_NETWORK_SETTINGS_MSIM = new Intent(Intent.ACTION_MAIN)
            .setClassName("com.android.phone", "com.android.phone.msim.SelectSubscription")
            .putExtra("PACKAGE", "com.android.phone")
            .putExtra("TARGET_CLASS", "com.android.phone.MobileNetworkSettings")
            .putExtra("TARGET_THEME", "Theme.Material.Settings");

    private final NetworkController mController;
    private final CellularDetailAdapter mDetailAdapter;
    TelephonyManager mTelephonyManager;

    public CellularTile(Host host) {
        super(host);
        mController = host.getNetworkController();
        mDetailAdapter = new CellularDetailAdapter();
        mTelephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
    }

    @Override
@@ -77,13 +87,17 @@ public class CellularTile extends QSTile<QSTile.SignalState> {
        if (mController.isMobileDataSupported()) {
            showDetail(true);
        } else {
            mHost.startSettingsActivity(CELLULAR_SETTINGS);
            mHost.startSettingsActivity(DATA_USAGE_SETTINGS);
        }
    }

    @Override
    protected void handleLongClick() {
        mHost.startSettingsActivity(WIRELESS_SETTINGS);
        if (mTelephonyManager.getDefault().getPhoneCount() > 1) {
            mHost.startSettingsActivity(MOBILE_NETWORK_SETTINGS_MSIM);
        } else {
            mHost.startSettingsActivity(MOBILE_NETWORK_SETTINGS);
        }
    }

    @Override
@@ -223,7 +237,7 @@ public class CellularTile extends QSTile<QSTile.SignalState> {

        @Override
        public Intent getSettingsIntent() {
            return CELLULAR_SETTINGS;
            return DATA_USAGE_SETTINGS;
        }

        @Override