Exit to Settings when removing the only account for a type.
Skip over the ManageAccounts screen which shows the list of accounts for a particular type, if there are no accounts there. Bug: 6630827 Also fix text alignment in top-level of settings. Change-Id: Icd446babc131e7052fc9e95514214fffe6e6e113
This commit is contained in:
66
res/layout/preference_header_item.xml
Normal file
66
res/layout/preference_header_item.xml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2012 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Layout of a header item in PreferenceActivity. -->
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:minHeight="48dp"
|
||||||
|
android:background="?android:attr/activatedBackgroundIndicator"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:paddingRight="?android:attr/scrollbarSize">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="@dimen/header_icon_width"
|
||||||
|
android:layout_marginLeft="6dip"
|
||||||
|
android:layout_marginRight="6dip"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/icon"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="2dip"
|
||||||
|
android:layout_marginRight="6dip"
|
||||||
|
android:layout_marginTop="6dip"
|
||||||
|
android:layout_marginBottom="6dip"
|
||||||
|
android:layout_weight="1">
|
||||||
|
|
||||||
|
<TextView android:id="@+android:id/title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:ellipsize="marquee"
|
||||||
|
android:fadingEdge="horizontal" />
|
||||||
|
|
||||||
|
<TextView android:id="@+android:id/summary"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@android:id/title"
|
||||||
|
android:layout_alignLeft="@android:id/title"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="2" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
@@ -23,14 +23,17 @@
|
|||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:paddingRight="?android:attr/scrollbarSize">
|
android:paddingRight="?android:attr/scrollbarSize">
|
||||||
|
|
||||||
<ImageView
|
<LinearLayout
|
||||||
android:id="@+id/icon"
|
android:layout_width="@dimen/header_icon_width"
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginLeft="6dip"
|
android:layout_marginLeft="6dip"
|
||||||
android:layout_marginRight="6dip"
|
android:layout_marginRight="6dip"
|
||||||
android:layout_gravity="center"
|
android:layout_height="wrap_content">
|
||||||
android:contentDescription="@null" />
|
<ImageView
|
||||||
|
android:id="@+id/icon"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@@ -625,9 +625,9 @@ public class Settings extends PreferenceActivity
|
|||||||
|
|
||||||
case HEADER_TYPE_NORMAL:
|
case HEADER_TYPE_NORMAL:
|
||||||
view = mInflater.inflate(
|
view = mInflater.inflate(
|
||||||
com.android.internal.R.layout.preference_header_item, parent,
|
R.layout.preference_header_item, parent,
|
||||||
false);
|
false);
|
||||||
holder.icon = (ImageView) view.findViewById(com.android.internal.R.id.icon);
|
holder.icon = (ImageView) view.findViewById(R.id.icon);
|
||||||
holder.title = (TextView)
|
holder.title = (TextView)
|
||||||
view.findViewById(com.android.internal.R.id.title);
|
view.findViewById(com.android.internal.R.id.title);
|
||||||
holder.summary = (TextView)
|
holder.summary = (TextView)
|
||||||
|
@@ -23,7 +23,6 @@ import android.content.Context;
|
|||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.graphics.drawable.ScaleDrawable;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -32,7 +31,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
public class AuthenticatorHelper {
|
public class AuthenticatorHelper {
|
||||||
|
|
||||||
private static final String TAG = "AccountTypesHelper";
|
private static final String TAG = "AuthenticatorHelper";
|
||||||
private Map<String, AuthenticatorDescription> mTypeToAuthDescription
|
private Map<String, AuthenticatorDescription> mTypeToAuthDescription
|
||||||
= new HashMap<String, AuthenticatorDescription>();
|
= new HashMap<String, AuthenticatorDescription>();
|
||||||
private AuthenticatorDescription[] mAuthDescs;
|
private AuthenticatorDescription[] mAuthDescs;
|
||||||
|
@@ -333,6 +333,11 @@ public class ManageAccountsSettings extends AccountPreferenceBase
|
|||||||
}
|
}
|
||||||
if (mAccountType != null && mFirstAccount != null) {
|
if (mAccountType != null && mFirstAccount != null) {
|
||||||
addAuthenticatorSettings();
|
addAuthenticatorSettings();
|
||||||
|
} else {
|
||||||
|
// There's no account, reset to top-level of settings
|
||||||
|
Intent settingsTop = new Intent(android.provider.Settings.ACTION_SETTINGS);
|
||||||
|
settingsTop.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||||
|
getActivity().startActivity(settingsTop);
|
||||||
}
|
}
|
||||||
onSyncStateUpdated();
|
onSyncStateUpdated();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user