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

Commit 17a07fb2 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Move TV-specific classes out of SystemUI" into main

parents 701f3f0f 98ca007d
Loading
Loading
Loading
Loading
+0 −59
Original line number Diff line number Diff line
@@ -548,26 +548,6 @@
            android:excludeFromRecents="true">
        </activity>

        <!-- started from UsbDeviceSettingsManager -->
        <activity android:name=".usb.tv.TvUsbConfirmActivity"
                  android:exported="true"
                  android:launchMode="singleTop"
                  android:permission="android.permission.MANAGE_USB"
                  android:theme="@style/BottomSheet"
                  android:finishOnCloseSystemDialogs="true"
                  android:excludeFromRecents="true">
        </activity>

        <!-- started from UsbDeviceSettingsManager -->
        <activity android:name=".usb.tv.TvUsbPermissionActivity"
                  android:exported="true"
                  android:launchMode="singleTop"
                  android:permission="android.permission.MANAGE_USB"
                  android:theme="@style/BottomSheet"
                  android:finishOnCloseSystemDialogs="true"
                  android:excludeFromRecents="true">
        </activity>

        <!-- started from UsbDeviceSettingsManager -->
        <activity android:name=".usb.UsbResolverActivity"
            android:exported="true"
@@ -577,16 +557,6 @@
            android:excludeFromRecents="true">
        </activity>

        <!-- started from HdmiCecLocalDevicePlayback -->
        <activity android:name=".hdmi.HdmiCecSetMenuLanguageActivity"
                  android:exported="true"
                  android:launchMode="singleTop"
                  android:permission="android.permission.CHANGE_CONFIGURATION"
                  android:theme="@style/BottomSheet"
                  android:finishOnCloseSystemDialogs="true"
                  android:excludeFromRecents="true">
        </activity>

        <!-- started from SensoryPrivacyService -->
        <activity android:name=".sensorprivacy.SensorUseStartedActivity"
                  android:exported="true"
@@ -597,27 +567,6 @@
                  android:showForAllUsers="true">
        </activity>

        <!-- started from SensoryPrivacyService -->
        <activity android:name=".sensorprivacy.television.TvUnblockSensorActivity"
                  android:exported="true"
                  android:launchMode="singleTop"
                  android:permission="android.permission.MANAGE_SENSOR_PRIVACY"
                  android:theme="@style/BottomSheet"
                  android:finishOnCloseSystemDialogs="true"
                  android:showForAllUsers="true">
        </activity>

        <!-- started from SensoryPrivacyService -->
        <activity android:name=".sensorprivacy.television.TvSensorPrivacyChangedActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:permission="android.permission.MANAGE_SENSOR_PRIVACY"
            android:theme="@style/BottomSheet"
            android:finishOnCloseSystemDialogs="true"
            android:showForAllUsers="true">
        </activity>


        <!-- started from UsbDeviceSettingsManager -->
        <activity android:name=".usb.UsbAccessoryUriActivity"
            android:exported="true"
@@ -703,14 +652,6 @@
            android:exported="false"
            android:permission="android.permission.MANAGE_MEDIA_PROJECTION"/>

        <!-- started from TvNotificationPanel -->
        <activity
            android:name=".statusbar.tv.notifications.TvNotificationPanelActivity"
            android:excludeFromRecents="true"
            android:launchMode="singleTask"
            android:noHistory="true"
            android:theme="@style/TvSidePanelTheme" />

        <!-- started from SliceProvider -->
        <activity android:name=".SlicePermissionActivity"
            android:theme="@style/Theme.SystemUI.Dialog.Alert"
+0 −2
Original line number Diff line number Diff line
@@ -49,7 +49,6 @@ import com.android.systemui.dock.DockManager;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.fragments.FragmentService;
import com.android.systemui.hdmi.HdmiCecSetMenuLanguageHelper;
import com.android.systemui.keyguard.ScreenLifecycle;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.media.dialog.MediaOutputDialogFactory;
@@ -242,7 +241,6 @@ public class Dependency {
    @Inject Lazy<LocationController> mLocationController;
    @Inject Lazy<RotationLockController> mRotationLockController;
    @Inject Lazy<ZenModeController> mZenModeController;
    @Inject Lazy<HdmiCecSetMenuLanguageHelper> mHdmiCecSetMenuLanguageHelper;
    @Inject Lazy<HotspotController> mHotspotController;
    @Inject Lazy<CastController> mCastController;
    @Inject Lazy<FlashlightController> mFlashlightController;
+0 −28
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.app.Activity;

import com.android.systemui.ForegroundServicesDialog;
import com.android.systemui.contrast.ContrastDialogActivity;
import com.android.systemui.hdmi.HdmiCecSetMenuLanguageActivity;
import com.android.systemui.keyguard.WorkLockActivity;
import com.android.systemui.people.PeopleSpaceActivity;
import com.android.systemui.people.widget.LaunchConversationActivity;
@@ -28,10 +27,7 @@ import com.android.systemui.screenshot.LongScreenshotActivity;
import com.android.systemui.screenshot.appclips.AppClipsActivity;
import com.android.systemui.screenshot.appclips.AppClipsTrampolineActivity;
import com.android.systemui.sensorprivacy.SensorUseStartedActivity;
import com.android.systemui.sensorprivacy.television.TvSensorPrivacyChangedActivity;
import com.android.systemui.sensorprivacy.television.TvUnblockSensorActivity;
import com.android.systemui.settings.brightness.BrightnessDialog;
import com.android.systemui.statusbar.tv.notifications.TvNotificationPanelActivity;
import com.android.systemui.telephony.ui.activity.SwitchToManagedProfileForCallActivity;
import com.android.systemui.tuner.TunerActivity;
import com.android.systemui.usb.UsbAccessoryUriActivity;
@@ -118,12 +114,6 @@ public abstract class DefaultActivityBinder {
    @ClassKey(CreateUserActivity.class)
    public abstract Activity bindCreateUserActivity(CreateUserActivity activity);

    /** Inject into TvNotificationPanelActivity. */
    @Binds
    @IntoMap
    @ClassKey(TvNotificationPanelActivity.class)
    public abstract Activity bindTvNotificationPanelActivity(TvNotificationPanelActivity activity);

    /** Inject into PeopleSpaceActivity. */
    @Binds
    @IntoMap
@@ -160,25 +150,7 @@ public abstract class DefaultActivityBinder {
    @ClassKey(SensorUseStartedActivity.class)
    public abstract Activity bindSensorUseStartedActivity(SensorUseStartedActivity activity);

    /** Inject into TvUnblockSensorActivity. */
    @Binds
    @IntoMap
    @ClassKey(TvUnblockSensorActivity.class)
    public abstract Activity bindTvUnblockSensorActivity(TvUnblockSensorActivity activity);

    /** Inject into HdmiCecSetMenuLanguageActivity. */
    @Binds
    @IntoMap
    @ClassKey(HdmiCecSetMenuLanguageActivity.class)
    public abstract Activity bindHdmiCecSetMenuLanguageActivity(
            HdmiCecSetMenuLanguageActivity activity);

    /** Inject into TvSensorPrivacyChangedActivity. */
    @Binds
    @IntoMap
    @ClassKey(TvSensorPrivacyChangedActivity.class)
    public abstract Activity bindTvSensorPrivacyChangedActivity(
            TvSensorPrivacyChangedActivity activity);

    /** Inject into SwitchToManagedProfileForCallActivity. */
    @Binds
+1 −3
Original line number Diff line number Diff line
@@ -21,11 +21,9 @@ import android.os.HandlerThread;
import androidx.annotation.Nullable;

import com.android.systemui.SystemUIInitializer;
import com.android.systemui.tv.TvWMComponent;
import com.android.wm.shell.back.BackAnimation;
import com.android.wm.shell.bubbles.Bubbles;
import com.android.wm.shell.common.annotations.ShellMainThread;
import com.android.wm.shell.dagger.TvWMShellModule;
import com.android.wm.shell.dagger.WMShellModule;
import com.android.wm.shell.dagger.WMSingleton;
import com.android.wm.shell.desktopmode.DesktopMode;
@@ -52,7 +50,7 @@ import java.util.Optional;
 * provided by its particular device/form-factor SystemUI implementation.
 *
 * ie. {@link WMComponent} includes {@link WMShellModule}
 *     and {@link TvWMComponent} includes {@link TvWMShellModule}
 * and {@code TvWMComponent} includes {@link com.android.wm.shell.dagger.TvWMShellModule}
 */
@WMSingleton
@Subcomponent(modules = {WMShellModule.class})
+0 −98
Original line number Diff line number Diff line
/*
 * Copyright (C) 2022 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.systemui.hdmi;

import android.hardware.hdmi.HdmiControlManager;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import com.android.systemui.R;
import com.android.systemui.tv.TvBottomSheetActivity;

import javax.inject.Inject;

/**
 * Confirmation dialog shown when Set Menu Language CEC message was received.
 */
public class HdmiCecSetMenuLanguageActivity extends TvBottomSheetActivity
        implements View.OnClickListener {
    private static final String TAG = HdmiCecSetMenuLanguageActivity.class.getSimpleName();

    private final HdmiCecSetMenuLanguageHelper mHdmiCecSetMenuLanguageHelper;

    @Inject
    public HdmiCecSetMenuLanguageActivity(
            HdmiCecSetMenuLanguageHelper hdmiCecSetMenuLanguageHelper) {
        mHdmiCecSetMenuLanguageHelper = hdmiCecSetMenuLanguageHelper;
    }

    @Override
    public final void onCreate(Bundle b) {
        super.onCreate(b);
        getWindow().addPrivateFlags(
                WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
        String languageTag = getIntent().getStringExtra(HdmiControlManager.EXTRA_LOCALE);
        mHdmiCecSetMenuLanguageHelper.setLocale(languageTag);
        if (mHdmiCecSetMenuLanguageHelper.isLocaleDenylisted()) {
            finish();
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        CharSequence title = getString(R.string.hdmi_cec_set_menu_language_title,
                mHdmiCecSetMenuLanguageHelper.getLocale().getDisplayLanguage());
        CharSequence text = getString(R.string.hdmi_cec_set_menu_language_description);
        initUI(title, text);
    }

    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.bottom_sheet_positive_button) {
            mHdmiCecSetMenuLanguageHelper.acceptLocale();
        } else {
            mHdmiCecSetMenuLanguageHelper.declineLocale();
        }
        finish();
    }

    void initUI(CharSequence title, CharSequence text) {
        TextView titleTextView = findViewById(R.id.bottom_sheet_title);
        TextView contentTextView = findViewById(R.id.bottom_sheet_body);
        ImageView icon = findViewById(R.id.bottom_sheet_icon);
        ImageView secondIcon = findViewById(R.id.bottom_sheet_second_icon);
        Button okButton = findViewById(R.id.bottom_sheet_positive_button);
        Button cancelButton = findViewById(R.id.bottom_sheet_negative_button);

        titleTextView.setText(title);
        contentTextView.setText(text);
        icon.setImageResource(com.android.internal.R.drawable.ic_settings_language);
        secondIcon.setVisibility(View.GONE);

        okButton.setText(R.string.hdmi_cec_set_menu_language_accept);
        okButton.setOnClickListener(this);

        cancelButton.setText(R.string.hdmi_cec_set_menu_language_decline);
        cancelButton.setOnClickListener(this);
        cancelButton.requestFocus();
    }
}
Loading