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"
|
||||
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 -->
|
||||
|
@@ -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>
|
||||
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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,15 +71,27 @@ public class StorageWizardInit extends StorageWizardBase {
|
||||
mPortable = true;
|
||||
|
||||
mFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
|
||||
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);
|
||||
if (!mDisk.isAdoptable()) {
|
||||
setBackButtonVisibility(View.GONE);
|
||||
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);
|
||||
if (!mDisk.isAdoptable()) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user