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
This commit is contained in:
@@ -2478,39 +2478,31 @@
|
|||||||
<activity android:name=".deviceinfo.StorageWizardInit"
|
<activity android:name=".deviceinfo.StorageWizardInit"
|
||||||
android:theme="@style/GlifTheme.Light"
|
android:theme="@style/GlifTheme.Light"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
|
||||||
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
||||||
<activity android:name=".deviceinfo.StorageWizardFormatProgress"
|
<activity android:name=".deviceinfo.StorageWizardFormatProgress"
|
||||||
android:theme="@style/GlifTheme.Light"
|
android:theme="@style/GlifTheme.Light"
|
||||||
android:exported="false"
|
android:exported="false"/>
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"/>
|
|
||||||
<activity android:name=".deviceinfo.StorageWizardFormatSlow"
|
<activity android:name=".deviceinfo.StorageWizardFormatSlow"
|
||||||
android:theme="@style/GlifTheme.Light"
|
android:theme="@style/GlifTheme.Light"
|
||||||
android:exported="false"
|
android:exported="false"/>
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"/>
|
|
||||||
<activity android:name=".deviceinfo.StorageWizardMigrateConfirm"
|
<activity android:name=".deviceinfo.StorageWizardMigrateConfirm"
|
||||||
android:theme="@style/GlifTheme.Light"
|
android:theme="@style/GlifTheme.Light"
|
||||||
android:exported="false"
|
android:exported="false"/>
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"/>
|
|
||||||
<activity android:name=".deviceinfo.StorageWizardMigrateProgress"
|
<activity android:name=".deviceinfo.StorageWizardMigrateProgress"
|
||||||
android:theme="@style/GlifTheme.Light"
|
android:theme="@style/GlifTheme.Light"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
|
||||||
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
||||||
<activity android:name=".deviceinfo.StorageWizardReady"
|
<activity android:name=".deviceinfo.StorageWizardReady"
|
||||||
android:theme="@style/GlifTheme.Light"
|
android:theme="@style/GlifTheme.Light"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
|
||||||
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
||||||
|
|
||||||
<activity android:name=".deviceinfo.StorageWizardMoveConfirm"
|
<activity android:name=".deviceinfo.StorageWizardMoveConfirm"
|
||||||
android:theme="@style/GlifTheme.Light"
|
android:theme="@style/GlifTheme.Light"
|
||||||
android:exported="false"
|
android:exported="false"/>
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"/>
|
|
||||||
<activity android:name=".deviceinfo.StorageWizardMoveProgress"
|
<activity android:name=".deviceinfo.StorageWizardMoveProgress"
|
||||||
android:theme="@style/GlifTheme.Light"
|
android:theme="@style/GlifTheme.Light"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
|
||||||
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
|
||||||
|
|
||||||
<!-- Exported for SystemUI to trigger -->
|
<!-- Exported for SystemUI to trigger -->
|
||||||
|
@@ -47,8 +47,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:text="@string/storage_menu_format_button"
|
android:text="@string/storage_menu_format_button"
|
||||||
android:textColor="@android:color/white"
|
android:backgroundTint="?android:attr/colorAccent" />
|
||||||
android:backgroundTint="@color/storage_wizard_button_red" />
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@@ -47,6 +47,7 @@ import com.google.android.setupcompat.template.FooterBarMixin;
|
|||||||
import com.google.android.setupcompat.template.FooterButton;
|
import com.google.android.setupcompat.template.FooterButton;
|
||||||
import com.google.android.setupdesign.GlifLayout;
|
import com.google.android.setupdesign.GlifLayout;
|
||||||
import com.google.android.setupdesign.util.ThemeHelper;
|
import com.google.android.setupdesign.util.ThemeHelper;
|
||||||
|
import com.google.android.setupdesign.util.ThemeResolver;
|
||||||
|
|
||||||
import java.text.NumberFormat;
|
import java.text.NumberFormat;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -72,7 +73,15 @@ public abstract class StorageWizardBase extends FragmentActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
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);
|
ThemeHelper.trySetDynamicColor(this);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
@@ -25,6 +25,7 @@ import android.text.Spannable;
|
|||||||
import android.text.method.LinkMovementMethod;
|
import android.text.method.LinkMovementMethod;
|
||||||
import android.text.style.TypefaceSpan;
|
import android.text.style.TypefaceSpan;
|
||||||
import android.text.style.URLSpan;
|
import android.text.style.URLSpan;
|
||||||
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
@@ -40,6 +41,12 @@ public class StorageWizardInit extends StorageWizardBase {
|
|||||||
|
|
||||||
private ViewFlipper mFlipper;
|
private ViewFlipper mFlipper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSaveInstanceState(Bundle savedInstanceState) {
|
||||||
|
savedInstanceState.putBoolean("IS_PORTABLE", mPortable);
|
||||||
|
super.onSaveInstanceState(savedInstanceState);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -64,10 +71,13 @@ public class StorageWizardInit extends StorageWizardBase {
|
|||||||
mPortable = true;
|
mPortable = true;
|
||||||
|
|
||||||
mFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
|
mFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
|
||||||
|
if (savedInstanceState != null) {
|
||||||
|
mPortable = savedInstanceState.getBoolean("IS_PORTABLE");
|
||||||
|
}
|
||||||
|
if(mPortable) {
|
||||||
mFlipper.setDisplayedChild(0);
|
mFlipper.setDisplayedChild(0);
|
||||||
setHeaderText(R.string.storage_wizard_init_v2_external_title,
|
setHeaderText(R.string.storage_wizard_init_v2_external_title,
|
||||||
getDiskShortDescription());
|
getDiskShortDescription());
|
||||||
|
|
||||||
setNextButtonText(R.string.storage_wizard_init_v2_external_action);
|
setNextButtonText(R.string.storage_wizard_init_v2_external_action);
|
||||||
setBackButtonText(R.string.wizard_back_adoptable);
|
setBackButtonText(R.string.wizard_back_adoptable);
|
||||||
setNextButtonVisibility(View.VISIBLE);
|
setNextButtonVisibility(View.VISIBLE);
|
||||||
@@ -75,6 +85,15 @@ public class StorageWizardInit extends StorageWizardBase {
|
|||||||
setBackButtonVisibility(View.GONE);
|
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
|
@Override
|
||||||
public void onNavigateBack(View v) {
|
public void onNavigateBack(View v) {
|
||||||
@@ -144,6 +163,8 @@ public class StorageWizardInit extends StorageWizardBase {
|
|||||||
|
|
||||||
external_storage_textview.setMovementMethod(LinkMovementMethod.getInstance());
|
external_storage_textview.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
internal_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) {
|
private Spannable styleFont(String text) {
|
||||||
@@ -154,4 +175,22 @@ public class StorageWizardInit extends StorageWizardBase {
|
|||||||
}
|
}
|
||||||
return s;
|
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());
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
Reference in New Issue
Block a user