Merge "Make status bar transparent"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 5b88a35..c2c4eab 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -28,8 +28,6 @@
     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
     <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED" />
-    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.READ_PROFILE" />
     <uses-permission android:name="android.permission.WRITE_PROFILE" />
@@ -509,13 +507,6 @@
             </intent-filter>
         </service>
 
-        <!-- Broadcast receiver that passively listens to location updates -->
-        <receiver android:name="com.android.contacts.common.location.CountryDetector$LocationChangedReceiver"/>
-
-        <!-- IntentService to update the user's current country -->
-        <service android:name="com.android.contacts.common.location.UpdateCountryService"
-            android:exported="false"/>
-
         <provider
             android:name="android.support.v4.content.FileProvider"
             android:authorities="@string/contacts_file_provider_authority"
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index a651912..9fd73e6 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -130,9 +130,6 @@
 
     private static final String ENABLE_DEBUG_OPTIONS_HIDDEN_CODE = "debug debug!";
 
-    // These values needs to start at 2. See {@link ContactEntryListFragment}.
-    private static final int SUBACTIVITY_ACCOUNT_FILTER = 2;
-
     private final DialogManager mDialogManager = new DialogManager(this);
 
     private ContactsIntentResolver mIntentResolver;
@@ -588,7 +585,7 @@
             return;
         }
 
-        mAllFragment.setFilter(mContactListFilterController.getFilter());
+        setFilterAndUpdateTitle(mContactListFilterController.getFilter());
 
         invalidateOptionsMenuIfNeeded();
     }
@@ -885,7 +882,7 @@
             mAllFragment.setSelectedContactUri(contactUri);
         }
 
-        mAllFragment.setFilter(mContactListFilterController.getFilter());
+        setFilterAndUpdateTitle(mContactListFilterController.getFilter());
         setQueryTextToFragment(mActionBarAdapter.getQueryString());
 
         if (mRequest.isDirectorySearchEnabled()) {
@@ -897,7 +894,7 @@
 
     private void configureContactListFragment() {
         // Filter may be changed when this Activity is in background.
-        mAllFragment.setFilter(mContactListFilterController.getFilter());
+        setFilterAndUpdateTitle(mContactListFilterController.getFilter());
 
         mAllFragment.setVerticalScrollbarPosition(getScrollBarPosition());
         mAllFragment.setSelectionVisible(false);
@@ -1060,11 +1057,11 @@
                     && currentFilter.filterType == ContactListFilter.FILTER_TYPE_SINGLE_CONTACT) {
                 filter = ContactListFilter.createFilterWithType(
                         ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS);
-                mAllFragment.setFilter(filter);
+                setFilterAndUpdateTitle(filter);
             } else {
                 filter = ContactListFilter.createFilterWithType(
                         ContactListFilter.FILTER_TYPE_SINGLE_CONTACT);
-                mAllFragment.setFilter(filter, false);
+                setFilterAndUpdateTitle(filter, /* restoreSelectedUri */ false);
             }
             mContactListFilterController.setContactListFilter(filter, true);
         }
@@ -1334,12 +1331,6 @@
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         switch (requestCode) {
-            case SUBACTIVITY_ACCOUNT_FILTER: {
-                AccountFilterUtil.handleAccountFilterResult(
-                        mContactListFilterController, resultCode, data);
-                break;
-            }
-
             // TODO: Using the new startActivityWithResultFromFragment API this should not be needed
             // anymore
             case ContactEntryListFragment.ACTIVITY_REQUEST_CODE_PICKER:
@@ -1469,4 +1460,17 @@
         }
         return position;
     }
+
+    private void setFilterAndUpdateTitle(ContactListFilter filter) {
+        setFilterAndUpdateTitle(filter, true);
+    }
+
+    private void setFilterAndUpdateTitle(ContactListFilter filter, boolean restoreSelectedUri) {
+        mAllFragment.setFilter(filter, restoreSelectedUri);
+        if (getSupportActionBar() != null) {
+            final String actionBarTitle = TextUtils.isEmpty(filter.accountName) ?
+                    getString(R.string.contactsList) : filter.accountName;
+            getSupportActionBar().setTitle(actionBarTitle);
+        }
+    }
 }
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index db41ad7..2ce22c0 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -99,8 +99,6 @@
     protected void onCreateView(LayoutInflater inflater, ViewGroup container) {
         super.onCreateView(inflater, container);
 
-        mAccountFilterHeader = getView().findViewById(R.id.account_filter_header_container);
-
         // Create an empty user profile header and hide it for now (it will be visible if the
         // contacts list will have no user profile).
         addEmptyUserProfileHeader(inflater);
@@ -133,8 +131,6 @@
     }
 
     private void checkHeaderViewVisibility() {
-        updateFilterHeaderView();
-
         // Hide the search header by default.
         if (mSearchHeaderView != null) {
             mSearchHeaderView.setVisibility(View.GONE);
@@ -142,26 +138,6 @@
     }
 
     @Override
-    public void setFilter(ContactListFilter filter) {
-        super.setFilter(filter);
-        updateFilterHeaderView();
-    }
-
-    private void updateFilterHeaderView() {
-        if (mAccountFilterHeader == null) {
-            return; // Before onCreateView -- just ignore it.
-        }
-        final ContactListFilter filter = getFilter();
-        if (filter != null && !isSearchMode()) {
-            final boolean shouldShowHeader = AccountFilterUtil.updateAccountFilterTitleForPeople(
-                    mAccountFilterHeader, filter, false);
-            mAccountFilterHeader.setVisibility(shouldShowHeader ? View.VISIBLE : View.GONE);
-        } else {
-            mAccountFilterHeader.setVisibility(View.GONE);
-        }
-    }
-
-    @Override
     protected void setProfileHeader() {
         mUserProfileExists = getAdapter().hasProfile();
         showEmptyUserProfile(!mUserProfileExists && !isSearchMode());