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

Commit 76c43b9e authored by John Spurlock's avatar John Spurlock
Browse files

Fix crash in cast tile.

Change-Id: Idf2b35213d46b138b7ac866222950c6ddb48433f
parent 7fd239cf
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ public abstract class QSTile<TState extends State> implements Disposable {
    protected final Host mHost;
    protected final Context mContext;
    protected final H mHandler;
    protected final Handler mUiHandler = new Handler(Looper.getMainLooper());

    private Callback mCallback;
    protected final TState mState = newTileState();
+31 −28
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ public class BugreportTile extends QSTile<QSTile.State> {
    @Override
    protected void handleClick() {
        mHost.collapsePanels();
        showBugreportDialog();
        mUiHandler.post(mShowDialog);
    }

    @Override
@@ -69,7 +69,9 @@ public class BugreportTile extends QSTile<QSTile.State> {
        state.label = mContext.getString(com.android.internal.R.string.bugreport_title);
    }

    private void showBugreportDialog() {
    private final Runnable mShowDialog = new Runnable() {
        @Override
        public void run() {
            final AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
            builder.setPositiveButton(com.android.internal.R.string.report, new OnClickListener() {
                @Override
@@ -100,4 +102,5 @@ public class BugreportTile extends QSTile<QSTile.State> {
            }
            dialog.show();
        }
    };
}
+19 −13
Original line number Diff line number Diff line
@@ -74,19 +74,7 @@ public class CastTile extends QSTile<QSTile.BooleanState> {
    @Override
    protected void handleClick() {
        mHost.collapsePanels();

        final Dialog[] dialog = new Dialog[1];
        dialog[0] = MediaRouteDialogPresenter.createDialog(mContext,
                MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY,
                new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog[0].dismiss();
                mHost.startSettingsActivity(WIFI_DISPLAY_SETTINGS);
            }
        });
        dialog[0].getWindow().setType(WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY);
        dialog[0].show();
        mUiHandler.post(mShowDialog);
    }

    @Override
@@ -120,4 +108,22 @@ public class CastTile extends QSTile<QSTile.BooleanState> {
            refreshState(info);
        }
    };

    private final Runnable mShowDialog = new Runnable() {
        private Dialog mDialog;
        @Override
        public void run() {
            mDialog = MediaRouteDialogPresenter.createDialog(mContext,
                    MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY,
                    new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mDialog.dismiss();
                    mHost.startSettingsActivity(WIFI_DISPLAY_SETTINGS);
                }
            });
            mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY);
            mDialog.show();
        }
    };
}