Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c8a93176 authored by Amith Yamasani's avatar Amith Yamasani
Browse files

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
parent b3a049f5
Loading
Loading
Loading
Loading
+66 −0
Original line number Diff line number Diff line
<?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>
+9 −6
Original line number Diff line number Diff line
@@ -23,14 +23,17 @@
    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_marginLeft="6dip"
        android:layout_marginRight="6dip"
        android:layout_gravity="center"
        android:contentDescription="@null" />
            android:layout_gravity="center" />
    </LinearLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
+2 −2
Original line number Diff line number Diff line
@@ -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)
+1 −2
Original line number Diff line number Diff line
@@ -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;
+5 −0
Original line number Diff line number Diff line
@@ -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();
    }