Merge "Exit to Settings when removing the only account for a type." into jb-dev

This commit is contained in:
Amith Yamasani
2012-06-08 15:27:32 -07:00
committed by Android (Google) Code Review
5 changed files with 83 additions and 10 deletions

View 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>

View File

@@ -23,14 +23,17 @@
android:gravity="center_vertical"
android:paddingRight="?android:attr/scrollbarSize">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<LinearLayout
android:layout_width="@dimen/header_icon_width"
android:layout_marginLeft="6dip"
android:layout_marginRight="6dip"
android:layout_gravity="center"
android:contentDescription="@null" />
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"

View File

@@ -625,9 +625,9 @@ public class Settings extends PreferenceActivity
case HEADER_TYPE_NORMAL:
view = mInflater.inflate(
com.android.internal.R.layout.preference_header_item, parent,
R.layout.preference_header_item, parent,
false);
holder.icon = (ImageView) view.findViewById(com.android.internal.R.id.icon);
holder.icon = (ImageView) view.findViewById(R.id.icon);
holder.title = (TextView)
view.findViewById(com.android.internal.R.id.title);
holder.summary = (TextView)

View File

@@ -23,7 +23,6 @@ import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.ScaleDrawable;
import android.util.Log;
import java.util.ArrayList;
@@ -32,7 +31,7 @@ import java.util.Map;
public class AuthenticatorHelper {
private static final String TAG = "AccountTypesHelper";
private static final String TAG = "AuthenticatorHelper";
private Map<String, AuthenticatorDescription> mTypeToAuthDescription
= new HashMap<String, AuthenticatorDescription>();
private AuthenticatorDescription[] mAuthDescs;

View File

@@ -333,6 +333,11 @@ public class ManageAccountsSettings extends AccountPreferenceBase
}
if (mAccountType != null && mFirstAccount != null) {
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();
}