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

Commit ae7ef2d5 authored by Sunny Goyal's avatar Sunny Goyal Committed by Automerger Merge Worker
Browse files

Merge "AllSet page fixes" into sc-dev am: 50f43df3

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15147340

Change-Id: I7a000e357abf704bceea0bedca3407439ca50206
parents 6eee4e4f 50f43df3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -124,6 +124,8 @@
            android:excludeFromRecents="true"
            android:screenOrientation="portrait"
            android:permission="android.permission.REBOOT"
            android:theme="@style/AllSetTheme"
            android:label="@string/allset_title"
            android:exported="true">
            <intent-filter>
                <action android:name="com.android.quickstep.action.GESTURE_ONBOARDING_ALL_SET"/>
+7 −6
Original line number Diff line number Diff line
@@ -20,8 +20,7 @@
    android:paddingStart="@dimen/allset_page_margin_horizontal"
    android:paddingEnd="@dimen/allset_page_margin_horizontal"
    android:layoutDirection="locale"
    android:textDirection="locale"
    android:background="?android:attr/colorBackground">
    android:textDirection="locale">

    <LinearLayout
        android:layout_width="match_parent"
@@ -59,13 +58,15 @@

    <TextView
        android:id="@+id/navigation_settings"
        style="@style/TextAppearance.GestureTutorial.Feedback.Subtitle"
        android:textSize="14sp"
        style="@style/TextAppearance.GestureTutorial.LinkText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/hint"
        android:gravity="center_horizontal"
        android:layout_marginBottom="72dp"/>
        android:gravity="center"
        android:layout_marginBottom="72dp"
        android:minHeight="48dp"
        android:background="?android:attr/selectableItemBackground"
        android:text="@string/allset_navigation_settings" />

    <TextView
        android:id="@id/hint"
+27 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2021 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.
-->
<resources>

    <style name="AllSetTheme" parent="@android:style/Theme.DeviceDefault.NoActionBar">
        <item name="android:navigationBarColor">@android:color/transparent</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
        <item name="android:enforceNavigationBarContrast">false</item>
        <item name="android:windowLightStatusBar">false</item>
        <item name="android:windowBackground">#FF000000</item>
    </style>

</resources>
 No newline at end of file
+8 −0
Original line number Diff line number Diff line
@@ -110,6 +110,14 @@
        <item name="android:textSize">14sp</item>
    </style>

    <style name="AllSetTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
        <item name="android:navigationBarColor">@android:color/transparent</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
        <item name="android:enforceNavigationBarContrast">false</item>
        <item name="android:windowLightStatusBar">true</item>
        <item name="android:windowBackground">#FFFFFFFF</item>
    </style>

    <!--
      Can be applied to views to color things like ripples and list highlights the workspace text
      color.
+41 −72
Original line number Diff line number Diff line
@@ -16,23 +16,22 @@
package com.android.quickstep.interaction;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
import android.util.Log;
import android.view.View;
import android.view.View.AccessibilityDelegate;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.Nullable;

import com.android.launcher3.R;
import com.android.launcher3.Utilities;

import java.net.URISyntaxException;

@@ -48,30 +47,22 @@ public class AllSetActivity extends Activity {
    private static final String EXTRA_ACCENT_COLOR_DARK_MODE = "suwColorAccentDark";
    private static final String EXTRA_ACCENT_COLOR_LIGHT_MODE = "suwColorAccentLight";

    private int mAccentColor;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_allset);
        setTitle(R.string.allset_title);

        final int mode =
                getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
        mAccentColor = getIntent().getIntExtra(
                mode == Configuration.UI_MODE_NIGHT_YES
                        ? EXTRA_ACCENT_COLOR_DARK_MODE : EXTRA_ACCENT_COLOR_LIGHT_MODE,
                /* defValue= */ Color.BLACK);
        int mode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
        boolean isDarkTheme = mode == Configuration.UI_MODE_NIGHT_YES;
        int accentColor = getIntent().getIntExtra(
                isDarkTheme ? EXTRA_ACCENT_COLOR_DARK_MODE : EXTRA_ACCENT_COLOR_LIGHT_MODE,
                isDarkTheme ? Color.WHITE : Color.BLACK);

        ((ImageView) findViewById(R.id.icon)).getDrawable().mutate().setTint(mAccentColor);
        ((ImageView) findViewById(R.id.icon)).getDrawable().mutate().setTint(accentColor);

        TextView navigationSettings = findViewById(R.id.navigation_settings);
        navigationSettings.setMovementMethod(LinkMovementMethod.getInstance());
        AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo(
                AnnotationSpan.LinkInfo.DEFAULT_ANNOTATION,
                new AllSetLinkSpan(
                        /* context= */ this,
                        view -> {
        TextView tv = findViewById(R.id.navigation_settings);
        tv.setTextColor(accentColor);
        tv.setOnClickListener(v -> {
            try {
                startActivityForResult(
                        Intent.parseUri(URI_SYSTEM_NAVIGATION_SETTING, 0), 0);
@@ -79,55 +70,33 @@ public class AllSetActivity extends Activity {
                Log.e(LOG_TAG, "Failed to parse system nav settings intent", e);
            }
            finish();
                        }));
        navigationSettings.setText(
                AnnotationSpan.linkify(getText(R.string.allset_navigation_settings), linkInfo));
    }

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        if (hasFocus) {
            hideSystemUI();
        }
    }
        });

    private void hideSystemUI() {
        getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_FULLSCREEN);
        getWindow().setNavigationBarColor(Color.TRANSPARENT);
        findViewById(R.id.hint).setAccessibilityDelegate(new SkipButtonAccessibilityDelegate());
    }

    private final class AllSetLinkSpan extends AnnotationSpan {

        private final String mFontFamily;
        private final int mTextSize;
    /**
     * Accessibility delegate which exposes a click event without making the view
     * clickable in touch mode
     */
    private class SkipButtonAccessibilityDelegate extends AccessibilityDelegate {

        AllSetLinkSpan(Context context, View.OnClickListener listener) {
            super(listener);
            TypedArray typedArray =
                    context.obtainStyledAttributes(R.style.TextAppearance_GestureTutorial_LinkText,
                            R.styleable.AllSetLinkSpan);
            mFontFamily = typedArray.getString(R.styleable.AllSetLinkSpan_android_fontFamily);
            mTextSize =
                    typedArray.getDimensionPixelSize(
                            R.styleable.AllSetLinkSpan_android_textSize, /* defValue= */ -1);
            typedArray.recycle();
        @Override
        public AccessibilityNodeInfo createAccessibilityNodeInfo(View host) {
            AccessibilityNodeInfo info = super.createAccessibilityNodeInfo(host);
            info.addAction(AccessibilityAction.ACTION_CLICK);
            info.setClickable(true);
            return info;
        }

        @Override
        public void updateDrawState(TextPaint ds) {
            super.updateDrawState(ds);
            ds.setColor(mAccentColor);
            ds.setTypeface(Typeface.create(mFontFamily, Typeface.NORMAL));
            ds.setUnderlineText(false);
            if (mTextSize != -1) {
                ds.setTextSize(mTextSize);
        public boolean performAccessibilityAction(View host, int action, Bundle args) {
            if (action == AccessibilityAction.ACTION_CLICK.getId()) {
                startActivity(Utilities.createHomeIntent());
                finish();
                return true;
            }
            return super.performAccessibilityAction(host, action, args);
        }
    }

}
Loading