summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/speeddial/AddFavoriteActivity.java
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-04-18 16:48:57 -0700
committerCopybara-Service <copybara-piper@google.com>2018-04-18 16:51:32 -0700
commit0388bfc9717dbf1d67ed4c14f34aa5414a08b39c (patch)
treedc277edb839034daa01f46b4ae597e63017dbe64 /java/com/android/dialer/speeddial/AddFavoriteActivity.java
parent560eb125b437fef71e624327a024853dd9bc06ea (diff)
Implement adding favorites.
This change deletes the AddFavoritesActivity in favor of the activity provided to us by the Intent.ACTION_PICK intent. Bug: 36841782 Test: SpeedDialUiItemLoaderTest PiperOrigin-RevId: 193439522 Change-Id: Ie297abd2307c727d746f26ba99961de116636dc4
Diffstat (limited to 'java/com/android/dialer/speeddial/AddFavoriteActivity.java')
-rw-r--r--java/com/android/dialer/speeddial/AddFavoriteActivity.java109
1 files changed, 0 insertions, 109 deletions
diff --git a/java/com/android/dialer/speeddial/AddFavoriteActivity.java b/java/com/android/dialer/speeddial/AddFavoriteActivity.java
deleted file mode 100644
index eea6e840e..000000000
--- a/java/com/android/dialer/speeddial/AddFavoriteActivity.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2017 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.
- */
-
-package com.android.dialer.speeddial;
-
-import android.content.ContentValues;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.ContactsContract.Contacts;
-import android.support.annotation.Nullable;
-import android.support.annotation.WorkerThread;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.SearchView;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.widget.ImageView;
-import com.android.dialer.common.Assert;
-import com.android.dialer.common.concurrent.DialerExecutorComponent;
-import com.android.dialer.contactsfragment.ContactsFragment;
-import com.android.dialer.contactsfragment.ContactsFragment.OnContactSelectedListener;
-
-/**
- * Activity for selecting a single contact and adding it to favorites.
- *
- * <p>Contacts are displayed using {@link ContactsFragment}. Contacts are searchable via search bar
- * in the toolbar. When a contact is selected, it's uri is passed back in the result data.
- */
-public class AddFavoriteActivity extends AppCompatActivity implements OnContactSelectedListener {
-
- private ContactsFragment contactsFragment;
-
- @Override
- protected void onCreate(@Nullable Bundle bundle) {
- super.onCreate(bundle);
- setContentView(R.layout.add_favorite_activity);
- contactsFragment = ContactsFragment.newAddFavoritesInstance();
- getFragmentManager()
- .beginTransaction()
- .add(R.id.add_favorite_container, contactsFragment, null)
- .commit();
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.add_favorite_menu, menu);
-
- MenuItem searchItem = menu.findItem(R.id.action_search);
- SearchView searchView = (SearchView) searchItem.getActionView();
- searchView.setOnQueryTextListener(
- new SearchView.OnQueryTextListener() {
- @Override
- public boolean onQueryTextSubmit(String query) {
- if (!searchView.isIconified()) {
- searchView.setIconified(true);
- }
- searchItem.collapseActionView();
- return false;
- }
-
- @Override
- public boolean onQueryTextChange(String s) {
- contactsFragment.updateQuery(s);
- return false;
- }
- });
- return true;
- }
-
- @Override
- public void onContactSelected(ImageView photo, Uri contactUri, long contactId) {
- DialerExecutorComponent.get(this)
- .dialerExecutorFactory()
- .createUiTaskBuilder(
- getFragmentManager(), "mark_contact_favorite", this::markContactStarred)
- .onSuccess(output -> finish())
- .onFailure(this::onContactStarredFailed)
- .build()
- .executeParallel(contactId);
- }
-
- @WorkerThread
- private int markContactStarred(long contactId) {
- // TODO(calderwoodra): For now, we will just mark contacts as starred. This means that contacts
- // will only be able to exist once in favorites until we implement multiple contact avenues.
- ContentValues contentValues = new ContentValues();
- contentValues.put(Contacts.STARRED, 1);
-
- String where = Contacts._ID + " = ?";
- String[] selectionArgs = new String[] {Long.toString(contactId)};
- return getContentResolver().update(Contacts.CONTENT_URI, contentValues, where, selectionArgs);
- }
-
- private void onContactStarredFailed(Throwable throwable) {
- throw Assert.createAssertionFailException(throwable.getMessage());
- }
-}