summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/main
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-01-17 14:37:44 -0800
committerCopybara-Service <copybara-piper@google.com>2018-01-17 16:33:24 -0800
commit7f56ae0c4927c28871e823d64394556496a0abe7 (patch)
tree53c139d02e360f8a8d9743516ed58c340e89dbc5 /java/com/android/dialer/main
parentcf650a3e8e2841c7e4cacef99dee1b35e0fd8290 (diff)
Search query is now shared with the Search Fragment in NUI.
This change also adds the logic for triggering SmartDialDatabase updates in Activity#onResume so that Dialpad search has results it can show. Bug: 181512198 Test: n/a PiperOrigin-RevId: 182272002 Change-Id: I3f7f7795df5038c37c1c26e23f4fc816d515e41f
Diffstat (limited to 'java/com/android/dialer/main')
-rw-r--r--java/com/android/dialer/main/impl/MainActivity.java21
-rw-r--r--java/com/android/dialer/main/impl/MainSearchController.java20
2 files changed, 39 insertions, 2 deletions
diff --git a/java/com/android/dialer/main/impl/MainActivity.java b/java/com/android/dialer/main/impl/MainActivity.java
index 583310f7f..35597f949 100644
--- a/java/com/android/dialer/main/impl/MainActivity.java
+++ b/java/com/android/dialer/main/impl/MainActivity.java
@@ -27,9 +27,11 @@ import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import com.android.dialer.calllog.ui.NewCallLogFragment;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.compat.CompatUtils;
import com.android.dialer.contactsfragment.ContactsFragment;
import com.android.dialer.contactsfragment.ContactsFragment.Header;
import com.android.dialer.contactsfragment.ContactsFragment.OnContactSelectedListener;
+import com.android.dialer.database.Database;
import com.android.dialer.dialpadview.DialpadFragment;
import com.android.dialer.dialpadview.DialpadFragment.DialpadListener;
import com.android.dialer.dialpadview.DialpadFragment.LastOutgoingCallCallback;
@@ -37,6 +39,7 @@ import com.android.dialer.dialpadview.DialpadFragment.OnDialpadQueryChangedListe
import com.android.dialer.main.impl.BottomNavBar.OnBottomNavTabSelectedListener;
import com.android.dialer.main.impl.toolbar.MainToolbar;
import com.android.dialer.searchfragment.list.NewSearchFragment.SearchFragmentListener;
+import com.android.dialer.smartdial.util.SmartDialPrefix;
import com.android.dialer.speeddial.SpeedDialFragment;
import com.android.dialer.voicemail.listui.NewVoicemailFragment;
@@ -49,10 +52,14 @@ public final class MainActivity extends AppCompatActivity
SearchFragmentListener {
private static final String IS_FAB_HIDDEN_KEY = "is_fab_hidden";
+ private static final String KEY_SAVED_LANGUAGE_CODE = "saved_language_code";
private MainSearchController searchController;
private FloatingActionButton fab;
+ /** Language the device was in last time {@link #onSaveInstanceState(Bundle)} was called. */
+ private String savedLanguageCode;
+
/**
* @param context Context of the application package implementing MainActivity class.
* @return intent for MainActivity.class
@@ -69,6 +76,7 @@ public final class MainActivity extends AppCompatActivity
LogUtil.enterBlock("MainActivity.onCreate");
setContentView(R.layout.main_activity);
initLayout();
+ SmartDialPrefix.initializeNanpSettings(this);
}
private void initLayout() {
@@ -88,9 +96,19 @@ public final class MainActivity extends AppCompatActivity
}
@Override
+ protected void onResume() {
+ super.onResume();
+ // Start the thread that updates the smart dial database if the activity is recreated with a
+ // language change.
+ boolean forceUpdate = !CompatUtils.getLocale(this).getISO3Language().equals(savedLanguageCode);
+ Database.get(this).getDatabaseHelper(this).startSmartDialUpdateThread(forceUpdate);
+ }
+
+ @Override
protected void onSaveInstanceState(Bundle bundle) {
super.onSaveInstanceState(bundle);
bundle.putBoolean(IS_FAB_HIDDEN_KEY, !fab.isShown());
+ bundle.putString(KEY_SAVED_LANGUAGE_CODE, CompatUtils.getLocale(this).getISO3Language());
}
@Override
@@ -99,6 +117,7 @@ public final class MainActivity extends AppCompatActivity
if (savedInstanceState.getBoolean(IS_FAB_HIDDEN_KEY, false)) {
fab.hide();
}
+ savedLanguageCode = savedInstanceState.getString(KEY_SAVED_LANGUAGE_CODE);
}
@Override
@@ -110,7 +129,7 @@ public final class MainActivity extends AppCompatActivity
@Override // OnDialpadQueryChangedListener
public void onDialpadQueryChanged(String query) {
- // TODO(calderwoodra): update search fragment
+ searchController.onDialpadQueryChanged(query);
}
@Override // DialpadListener
diff --git a/java/com/android/dialer/main/impl/MainSearchController.java b/java/com/android/dialer/main/impl/MainSearchController.java
index 4645c9afe..4cccbf4bd 100644
--- a/java/com/android/dialer/main/impl/MainSearchController.java
+++ b/java/com/android/dialer/main/impl/MainSearchController.java
@@ -16,14 +16,17 @@
package com.android.dialer.main.impl;
+import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.text.TextUtils;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
+import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.common.Assert;
import com.android.dialer.dialpadview.DialpadFragment;
import com.android.dialer.dialpadview.DialpadFragment.DialpadListener;
+import com.android.dialer.dialpadview.DialpadFragment.OnDialpadQueryChangedListener;
import com.android.dialer.main.impl.toolbar.MainToolbar;
import com.android.dialer.main.impl.toolbar.SearchBarListener;
import com.android.dialer.searchfragment.list.NewSearchFragment;
@@ -181,11 +184,13 @@ final class MainSearchController implements SearchBarListener {
mainActivity.getFragmentManager().beginTransaction().remove(getSearchFragment()).commit();
}
+ @Nullable
private DialpadFragment getDialpadFragment() {
return (DialpadFragment)
mainActivity.getFragmentManager().findFragmentByTag(DIALPAD_FRAGMENT_TAG);
}
+ @Nullable
private NewSearchFragment getSearchFragment() {
return (NewSearchFragment)
mainActivity.getFragmentManager().findFragmentByTag(SEARCH_FRAGMENT_TAG);
@@ -233,7 +238,20 @@ final class MainSearchController implements SearchBarListener {
}
@Override
- public void onSearchQueryUpdated(String query) {}
+ public void onSearchQueryUpdated(String query) {
+ NewSearchFragment fragment = getSearchFragment();
+ if (fragment != null) {
+ fragment.setQuery(query, CallInitiationType.Type.REGULAR_SEARCH);
+ }
+ }
+
+ /** @see OnDialpadQueryChangedListener#onDialpadQueryChanged(java.lang.String) */
+ public void onDialpadQueryChanged(String query) {
+ NewSearchFragment fragment = getSearchFragment();
+ if (fragment != null) {
+ fragment.setQuery(query, CallInitiationType.Type.DIALPAD);
+ }
+ }
@Override
public void onVoiceButtonClicked(VoiceSearchResultCallback voiceSearchResultCallback) {}