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

Commit ce50b9ed authored by Sunny Goyal's avatar Sunny Goyal
Browse files

AllSet page fixes

> Updating background color
> Updating activity theme to not be transparent
> Updating default accent color
> Adding an accessible target to exit

Bug: 190447132
Bug: 190136972
Bug: 190454597
Test: Manual
Change-Id: Ia8ef67ed429c062a8d1109d7f444343ec4ca09cf
parent 6604eb54
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -130,6 +130,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