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

* commit '450c4c86ca6583abc27520174d0f51b8f171f4a3':
  Exit to Settings when removing the only account for a type.
This commit is contained in:
Amith Yamasani
2012-06-08 15:30:58 -07:00
committed by Android Git Automerger
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: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"

View File

@@ -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)

View File

@@ -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;

View File

@@ -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();
} }