Merge "Switch cast over to support library dialog" into oc-dev

This commit is contained in:
Jason Monk
2017-04-03 13:34:13 +00:00
committed by Android (Google) Code Review
3 changed files with 33 additions and 2 deletions

View File

@@ -34,6 +34,7 @@ LOCAL_STATIC_ANDROID_LIBRARIES := \
android-support-v7-recyclerview \
android-support-v7-preference \
android-support-v7-appcompat \
android-support-v7-mediarouter \
android-support-v14-preference \
android-support-v17-leanback

View File

@@ -20,22 +20,29 @@ import android.content.Context;
import android.content.Intent;
import android.provider.Settings;
import android.service.quicksettings.Tile;
import android.support.v7.app.MediaRouteChooserDialog;
import android.support.v7.app.MediaRouteControllerDialog;
import android.support.v7.media.MediaControlIntent;
import android.support.v7.media.MediaRouteSelector;
import android.util.Log;
import android.view.ContextThemeWrapper;
import android.view.View;
import android.view.View.OnAttachStateChangeListener;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.Button;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.R.style;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.QSTile.BooleanState;
import com.android.systemui.qs.QSDetailItems;
import com.android.systemui.qs.QSDetailItems.Item;
import com.android.systemui.qs.QSHost;
import com.android.systemui.plugins.qs.QSTile.BooleanState;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.policy.CastController;
import com.android.systemui.statusbar.policy.CastController.CastDevice;
@@ -109,13 +116,35 @@ public class CastTile extends QSTileImpl<BooleanState> {
if (mKeyguard.isSecure() && !mKeyguard.canSkipBouncer()) {
mActivityStarter.postQSRunnableDismissingKeyguard(() -> {
showDetail(true);
mHost.openPanels();
});
return;
}
showDetail(true);
}
@Override
public void showDetail(boolean show) {
mUiHandler.post(() -> {
Context context = new ContextThemeWrapper(mContext,
R.style.Theme_AppCompat_Light_Dialog_Alert);
if (mState.value) {
MediaRouteControllerDialog dialog = new MediaRouteControllerDialog(context);
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL);
dialog.show();
} else {
// Instead of showing detail, show standard media routing UI.
MediaRouteChooserDialog dialog = new MediaRouteChooserDialog(context);
MediaRouteSelector selector = new MediaRouteSelector.Builder()
.addControlCategory(MediaControlIntent.CATEGORY_LIVE_VIDEO)
.build();
dialog.setRouteSelector(selector);
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL);
dialog.show();
}
mHost.collapsePanels();
});
}
@Override
public CharSequence getTileLabel() {
return mContext.getString(R.string.quick_settings_cast_title);

View File

@@ -41,6 +41,7 @@ LOCAL_STATIC_ANDROID_LIBRARIES := \
android-support-v7-recyclerview \
android-support-v7-preference \
android-support-v7-appcompat \
android-support-v7-mediarouter \
android-support-v14-preference \
android-support-v17-leanback