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

Commit 4c36d490 authored by Sayak Dutta's avatar Sayak Dutta
Browse files

Fix following three issues in SD Card UX

1) Link should not work if up-events happen outside the target region
2) Activity should retain it's last state on changing configuration
3) Improve color contrast for "Format card" button

Bug: 246485658
Bug: 246681292
Bug: 246871051

Change-Id: Iebc87e35a3f8496a33a43d906b7faba05d95fe6c
parent 1d302c6f
Loading
Loading
Loading
Loading
+4 −12
Original line number Diff line number Diff line
@@ -2478,39 +2478,31 @@
        <activity android:name=".deviceinfo.StorageWizardInit"
                android:theme="@style/GlifTheme.Light"
                android:exported="true"
                android:configChanges="keyboardHidden|orientation|screenSize"
                android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
        <activity android:name=".deviceinfo.StorageWizardFormatProgress"
                android:theme="@style/GlifTheme.Light"
                android:exported="false"
                android:configChanges="keyboardHidden|orientation|screenSize"/>
                android:exported="false"/>
        <activity android:name=".deviceinfo.StorageWizardFormatSlow"
                android:theme="@style/GlifTheme.Light"
                android:exported="false"
                android:configChanges="keyboardHidden|orientation|screenSize"/>
                android:exported="false"/>
        <activity android:name=".deviceinfo.StorageWizardMigrateConfirm"
                android:theme="@style/GlifTheme.Light"
                android:exported="false"
                android:configChanges="keyboardHidden|orientation|screenSize"/>
                android:exported="false"/>
        <activity android:name=".deviceinfo.StorageWizardMigrateProgress"
                android:theme="@style/GlifTheme.Light"
                android:exported="true"
                android:configChanges="keyboardHidden|orientation|screenSize"
                android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
        <activity android:name=".deviceinfo.StorageWizardReady"
                android:theme="@style/GlifTheme.Light"
                android:exported="true"
                android:configChanges="keyboardHidden|orientation|screenSize"
                android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

        <activity android:name=".deviceinfo.StorageWizardMoveConfirm"
                android:theme="@style/GlifTheme.Light"
                android:exported="false"
                android:configChanges="keyboardHidden|orientation|screenSize"/>
                android:exported="false"/>
        <activity android:name=".deviceinfo.StorageWizardMoveProgress"
                android:theme="@style/GlifTheme.Light"
                android:exported="true"
                android:configChanges="keyboardHidden|orientation|screenSize"
                android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

        <!-- Exported for SystemUI to trigger -->
+2 −3
Original line number Diff line number Diff line
@@ -47,8 +47,7 @@
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="@string/storage_menu_format_button"
                android:textColor="@android:color/white"
                android:backgroundTint="@color/storage_wizard_button_red" />
                android:backgroundTint="?android:attr/colorAccent" />
        </FrameLayout>
  </LinearLayout>

+10 −1
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton;
import com.google.android.setupdesign.GlifLayout;
import com.google.android.setupdesign.util.ThemeHelper;
import com.google.android.setupdesign.util.ThemeResolver;

import java.text.NumberFormat;
import java.util.List;
@@ -72,7 +73,15 @@ public abstract class StorageWizardBase extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        setTheme(SetupWizardUtils.getTheme(this, getIntent()));
        boolean isDayNightThemeSupportedBySuW = ThemeHelper.isSetupWizardDayNightEnabled(this);
        int sudTheme =
            new ThemeResolver.Builder(ThemeResolver.getDefault())
                .setDefaultTheme(ThemeHelper.getSuwDefaultTheme(this))
                .setUseDayNight(true)
                .build()
                .resolve("", !isDayNightThemeSupportedBySuW);

        this.setTheme(sudTheme);
        ThemeHelper.trySetDynamicColor(this);
        super.onCreate(savedInstanceState);

+48 −9
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.text.Spannable;
import android.text.method.LinkMovementMethod;
import android.text.style.TypefaceSpan;
import android.text.style.URLSpan;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
@@ -40,6 +41,12 @@ public class StorageWizardInit extends StorageWizardBase {

    private ViewFlipper mFlipper;

    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
        savedInstanceState.putBoolean("IS_PORTABLE", mPortable);
        super.onSaveInstanceState(savedInstanceState);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -64,10 +71,13 @@ public class StorageWizardInit extends StorageWizardBase {
        mPortable = true;

        mFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
        if (savedInstanceState != null) {
            mPortable = savedInstanceState.getBoolean("IS_PORTABLE");
        }
        if(mPortable) {
            mFlipper.setDisplayedChild(0);
            setHeaderText(R.string.storage_wizard_init_v2_external_title,
                getDiskShortDescription());

            setNextButtonText(R.string.storage_wizard_init_v2_external_action);
            setBackButtonText(R.string.wizard_back_adoptable);
            setNextButtonVisibility(View.VISIBLE);
@@ -75,6 +85,15 @@ public class StorageWizardInit extends StorageWizardBase {
                setBackButtonVisibility(View.GONE);
            }
        }
        else {
            mFlipper.setDisplayedChild(1);
            setHeaderText(R.string.storage_wizard_init_v2_internal_title,
                getDiskShortDescription());
            setNextButtonText(R.string.storage_wizard_init_v2_internal_action);
            setBackButtonText(R.string.wizard_back_adoptable);
            setNextButtonVisibility(View.VISIBLE);
        }
    }

    @Override
    public void onNavigateBack(View v) {
@@ -144,6 +163,8 @@ public class StorageWizardInit extends StorageWizardBase {

        external_storage_textview.setMovementMethod(LinkMovementMethod.getInstance());
        internal_storage_textview.setMovementMethod(LinkMovementMethod.getInstance());
        external_storage_textview.setOnTouchListener(listener);
        internal_storage_textview.setOnTouchListener(listener);
    }

    private Spannable styleFont(String text) {
@@ -154,4 +175,22 @@ public class StorageWizardInit extends StorageWizardBase {
        }
        return s;
    }
    private View.OnTouchListener listener = new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getAction() == MotionEvent.ACTION_UP) {
                if (isInside(v, event)) {
                    return false;
                }
                return true;
            }
            return false;
        }

        private boolean isInside(View v, MotionEvent event) {
            return !(event.getX() < 0 || event.getY() < 0
                || event.getX() > v.getMeasuredWidth()
                || event.getY() > v.getMeasuredHeight());
        }
    };
}
 No newline at end of file