diff options
author | Eric Erfanian <erfanian@google.com> | 2017-06-08 00:54:45 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-06-08 00:54:45 +0000 |
commit | 274b6d320edb3c33e7b3a95c43a811829486a777 (patch) | |
tree | b9bbc285430ffb5363a70eb27e382c38f5a85b7a /java/com/android/dialer | |
parent | 75233ff03785f24789b32039ac2c208805b7e506 (diff) | |
parent | 91ce7d2a476bd04fe525049a37a2f8b2824e9724 (diff) |
Update AOSP Dialer source from internal google3 repository at cl/158012278.
am: 91ce7d2a47
Change-Id: I1744a8bfca09eae5e9c0d7aac122515eca75bb8b
Diffstat (limited to 'java/com/android/dialer')
537 files changed, 6731 insertions, 2072 deletions
diff --git a/java/com/android/dialer/about/AndroidManifest.xml b/java/com/android/dialer/about/AndroidManifest.xml index e9489ce1e..85c750826 100644 --- a/java/com/android/dialer/about/AndroidManifest.xml +++ b/java/com/android/dialer/about/AndroidManifest.xml @@ -1,6 +1,6 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.dialer.about"> - <application> + <application android:theme="@style/Theme.AppCompat"> <activity android:name="com.android.dialer.about.LicenseMenuActivity" android:label="@string/licenseActivityLabel" diff --git a/java/com/android/dialer/about/res/raw/keep.xml b/java/com/android/dialer/about/res/raw/keep.xml index e41b8b8d0..9215627d1 100644 --- a/java/com/android/dialer/about/res/raw/keep.xml +++ b/java/com/android/dialer/about/res/raw/keep.xml @@ -16,4 +16,3 @@ --> <resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@raw/*"/> - diff --git a/java/com/android/dialer/app/AndroidManifest.xml b/java/com/android/dialer/app/AndroidManifest.xml index de4b48c51..4200082a6 100644 --- a/java/com/android/dialer/app/AndroidManifest.xml +++ b/java/com/android/dialer/app/AndroidManifest.xml @@ -39,6 +39,7 @@ <uses-permission android:name="android.permission.USE_CREDENTIALS"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/> + <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"/> <uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"/> <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"/> diff --git a/java/com/android/dialer/app/DialtactsActivity.java b/java/com/android/dialer/app/DialtactsActivity.java index 6e2c6be7d..b5e615075 100644 --- a/java/com/android/dialer/app/DialtactsActivity.java +++ b/java/com/android/dialer/app/DialtactsActivity.java @@ -91,6 +91,7 @@ import com.android.dialer.callcomposer.CallComposerActivity; import com.android.dialer.callintent.CallIntentBuilder; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.common.Assert; +import com.android.dialer.common.ConfigProviderBindings; import com.android.dialer.common.LogUtil; import com.android.dialer.database.Database; import com.android.dialer.database.DialerDatabaseHelper; @@ -106,6 +107,7 @@ import com.android.dialer.p13n.logging.P13nLogger; import com.android.dialer.p13n.logging.P13nLogging; import com.android.dialer.postcall.PostCall; import com.android.dialer.proguard.UsedByReflection; +import com.android.dialer.searchfragment.NewSearchFragment; import com.android.dialer.simulator.Simulator; import com.android.dialer.simulator.SimulatorComponent; import com.android.dialer.smartdial.SmartDialNameMatcher; @@ -154,6 +156,7 @@ public class DialtactsActivity extends TransactionSafeActivity private static final String KEY_FIRST_LAUNCH = "first_launch"; private static final String KEY_WAS_CONFIGURATION_CHANGE = "was_configuration_change"; private static final String KEY_IS_DIALPAD_SHOWN = "is_dialpad_shown"; + private static final String TAG_NEW_SEARCH_FRAGMENT = "new_search"; private static final String TAG_REGULAR_SEARCH_FRAGMENT = "search"; private static final String TAG_SMARTDIAL_SEARCH_FRAGMENT = "smartdial"; private static final String TAG_FAVORITES_FRAGMENT = "favorites"; @@ -162,6 +165,7 @@ public class DialtactsActivity extends TransactionSafeActivity private static final int ACTIVITY_REQUEST_CODE_VOICE_SEARCH = 1; public static final int ACTIVITY_REQUEST_CODE_CALL_COMPOSE = 2; + public static final int ACTIVITY_REQUEST_CODE_LIGHTBRINGER = 3; private static final int FAB_SCALE_IN_DELAY_MS = 300; @@ -180,6 +184,9 @@ public class DialtactsActivity extends TransactionSafeActivity /** Fragment for searching phone numbers using the dialpad. */ private SmartDialSearchFragment mSmartDialSearchFragment; + /** new Fragment for search phone numbers using the keyboard and the dialpad. */ + private NewSearchFragment mNewSearchFragment; + /** Animation that slides in. */ private Animation mSlideIn; @@ -262,6 +269,7 @@ public class DialtactsActivity extends TransactionSafeActivity } mSearchQuery = newText; + // TODO: show p13n when newText is empty. // Show search fragment only when the query string is changed to non-empty text. if (!TextUtils.isEmpty(newText)) { // Call enterSearchUi only if we are switching search modes, or showing a search @@ -277,6 +285,8 @@ public class DialtactsActivity extends TransactionSafeActivity mSmartDialSearchFragment.setQueryString(mSearchQuery); } else if (mRegularSearchFragment != null && mRegularSearchFragment.isVisible()) { mRegularSearchFragment.setQueryString(mSearchQuery); + } else if (mNewSearchFragment != null) { + mNewSearchFragment.setQuery(mSearchQuery); } } @@ -630,6 +640,8 @@ public class DialtactsActivity extends TransactionSafeActivity } else if (fragment instanceof ListsFragment) { mListsFragment = (ListsFragment) fragment; mListsFragment.addOnPageChangeListener(this); + } else if (fragment instanceof NewSearchFragment) { + mNewSearchFragment = (NewSearchFragment) fragment; } if (fragment instanceof SearchFragment) { final SearchFragment searchFragment = (SearchFragment) fragment; @@ -785,6 +797,7 @@ public class DialtactsActivity extends TransactionSafeActivity if (animate) { mFloatingActionButtonController.scaleOut(); + maybeEnterSearchUi(); } else { mFloatingActionButtonController.setVisible(false); maybeEnterSearchUi(); @@ -1057,7 +1070,11 @@ public class DialtactsActivity extends TransactionSafeActivity } final String tag; - if (smartDialSearch) { + boolean useNewSearch = + ConfigProviderBindings.get(this).getBoolean("enable_new_search_fragment", false); + if (useNewSearch) { + tag = TAG_NEW_SEARCH_FRAGMENT; + } else if (smartDialSearch) { tag = TAG_SMARTDIAL_SEARCH_FRAGMENT; } else { tag = TAG_REGULAR_SEARCH_FRAGMENT; @@ -1067,40 +1084,52 @@ public class DialtactsActivity extends TransactionSafeActivity mFloatingActionButtonController.scaleOut(); - SearchFragment fragment = (SearchFragment) getFragmentManager().findFragmentByTag(tag); if (animate) { transaction.setCustomAnimations(android.R.animator.fade_in, 0); } else { transaction.setTransition(FragmentTransaction.TRANSIT_NONE); } + + Fragment fragment = getFragmentManager().findFragmentByTag(tag); if (fragment == null) { - if (smartDialSearch) { + if (useNewSearch) { + fragment = new NewSearchFragment(); + } else if (smartDialSearch) { fragment = new SmartDialSearchFragment(); } else { fragment = Bindings.getLegacy(this).newRegularSearchFragment(); - fragment.setOnTouchListener( - new View.OnTouchListener() { - @Override - public boolean onTouch(View v, MotionEvent event) { - // Show the FAB when the user touches the lists fragment and the soft - // keyboard is hidden. - hideDialpadFragment(true, false); - showFabInSearchUi(); - v.performClick(); - return false; - } - }); + ((SearchFragment) fragment) + .setOnTouchListener( + (v, event) -> { + // Show the FAB when the user touches the lists fragment and the soft + // keyboard is hidden. + hideDialpadFragment(true, false); + v.performClick(); + return false; + }); } transaction.add(R.id.dialtacts_frame, fragment, tag); } else { + // TODO: if this is a transition from dialpad to searchbar, animate fragment + // down, and vice versa. Perhaps just add a coordinator behavior with the search bar. transaction.show(fragment); } + // DialtactsActivity will provide the options menu fragment.setHasOptionsMenu(false); + // Will show empty list if P13nRanker is not enabled. Else, re-ranked list by the ranker. - fragment.setShowEmptyListForNullQuery(mP13nRanker.shouldShowEmptyListForNullQuery()); - if (!smartDialSearch) { - fragment.setQueryString(query); + if (!useNewSearch) { + ((SearchFragment) fragment) + .setShowEmptyListForNullQuery(mP13nRanker.shouldShowEmptyListForNullQuery()); + } else { + // TODO: add p13n ranker to new search. + } + + if (!smartDialSearch && !useNewSearch) { + ((SearchFragment) fragment).setQueryString(query); + } else if (useNewSearch) { + ((NewSearchFragment) fragment).setQuery(query); } transaction.commit(); @@ -1146,6 +1175,9 @@ public class DialtactsActivity extends TransactionSafeActivity if (mRegularSearchFragment != null) { transaction.remove(mRegularSearchFragment); } + if (mNewSearchFragment != null) { + transaction.remove(mNewSearchFragment); + } transaction.commit(); Assert.isNotNull(mListsFragment.getView()).animate().alpha(1).withLayer(); @@ -1477,6 +1509,7 @@ public class DialtactsActivity extends TransactionSafeActivity Arrays.toString(grantResults))); } + /** Popup menu accessible from the search bar */ protected class OptionsPopupMenu extends PopupMenu { public OptionsPopupMenu(Context context, View anchor) { diff --git a/java/com/android/dialer/app/SpecialCharSequenceMgr.java b/java/com/android/dialer/app/SpecialCharSequenceMgr.java index 85c2ea650..20222d68c 100644 --- a/java/com/android/dialer/app/SpecialCharSequenceMgr.java +++ b/java/com/android/dialer/app/SpecialCharSequenceMgr.java @@ -47,7 +47,6 @@ import com.android.contacts.common.widget.SelectPhoneAccountDialogFragment.Selec import com.android.dialer.calllogutils.PhoneAccountUtils; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.compat.CompatUtils; import com.android.dialer.oem.MotorolaUtils; import com.android.dialer.telecom.TelecomUtil; import java.util.ArrayList; @@ -299,9 +298,7 @@ public class SpecialCharSequenceMgr { : R.string.meid; List<String> deviceIds = new ArrayList<String>(); - if (TelephonyManagerCompat.getPhoneCount(telephonyManager) > 1 - && CompatUtils.isMethodAvailable( - TelephonyManagerCompat.TELEPHONY_MANAGER_CLASS, "getDeviceId", Integer.TYPE)) { + if (TelephonyManagerCompat.getPhoneCount(telephonyManager) > 1) { for (int slot = 0; slot < telephonyManager.getPhoneCount(); slot++) { String deviceId = telephonyManager.getDeviceId(slot); if (!TextUtils.isEmpty(deviceId)) { diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java index 2f8a58c8a..3357ee2f1 100644 --- a/java/com/android/dialer/app/calllog/CallLogAdapter.java +++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java @@ -86,6 +86,7 @@ import com.android.dialer.phonenumbercache.ContactInfoHelper; import com.android.dialer.phonenumberutil.PhoneNumberHelper; import com.android.dialer.spam.Spam; import com.android.dialer.util.PermissionsUtil; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -105,11 +106,12 @@ public class CallLogAdapter extends GroupingListAdapter private static final String KEY_EXPANDED_POSITION = "expanded_position"; private static final String KEY_EXPANDED_ROW_ID = "expanded_row_id"; + private static final String KEY_ACTION_MODE = "action_mode_selected_items"; public static final String LOAD_DATA_TASK_IDENTIFIER = "load_data"; public static final String ENABLE_CALL_LOG_MULTI_SELECT = "enable_call_log_multiselect"; - public static final boolean ENABLE_CALL_LOG_MULTI_SELECT_FLAG = false; + public static final boolean ENABLE_CALL_LOG_MULTI_SELECT_FLAG = true; protected final Activity mActivity; protected final VoicemailPlaybackPresenter mVoicemailPlaybackPresenter; @@ -117,6 +119,7 @@ public class CallLogAdapter extends GroupingListAdapter protected final CallLogCache mCallLogCache; private final CallFetcher mCallFetcher; + private final MultiSelectRemoveView mMultiSelectRemoveView; @NonNull private final FilteredNumberAsyncQueryHandler mFilteredNumberAsyncQueryHandler; private final int mActivityType; @@ -136,6 +139,8 @@ public class CallLogAdapter extends GroupingListAdapter private final CallLogAlertManager mCallLogAlertManager; public ActionMode mActionMode = null; + public boolean selectAllMode = false; + public boolean deselectAllMode = false; private final SparseArray<String> selectedItems = new SparseArray<>(); private final ActionMode.Callback mActionModeCallback = @@ -144,10 +149,16 @@ public class CallLogAdapter extends GroupingListAdapter // Called when the action mode is created; startActionMode() was called @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { + if (mActivity != null) { + announceforAccessibility( + mActivity.getCurrentFocus(), + mActivity.getString(R.string.description_entering_bulk_action_mode)); + } mActionMode = mode; // Inflate a menu resource providing context menu items MenuInflater inflater = mode.getMenuInflater(); inflater.inflate(R.menu.actionbar_delete, menu); + mMultiSelectRemoveView.showMultiSelectRemoveView(true); return true; } @@ -165,7 +176,6 @@ public class CallLogAdapter extends GroupingListAdapter if (selectedItems.size() > 0) { showDeleteSelectedItemsDialog(); } - mode.finish(); return true; } else { return false; @@ -175,8 +185,16 @@ public class CallLogAdapter extends GroupingListAdapter // Called when the user exits the action mode @Override public void onDestroyActionMode(ActionMode mode) { + if (mActivity != null) { + announceforAccessibility( + mActivity.getCurrentFocus(), + mActivity.getString(R.string.description_leaving_bulk_action_mode)); + } selectedItems.clear(); mActionMode = null; + selectAllMode = false; + deselectAllMode = false; + mMultiSelectRemoveView.showMultiSelectRemoveView(false); notifyDataSetChanged(); } }; @@ -202,6 +220,7 @@ public class CallLogAdapter extends GroupingListAdapter @Override public void onClick(DialogInterface dialog, int id) { deleteSelectedItems(voicemailsToDeleteOnConfirmation); + mActionMode.finish(); dialog.cancel(); } }); @@ -258,22 +277,15 @@ public class CallLogAdapter extends GroupingListAdapter return; } if (mActionMode != null && viewHolder.voicemailUri != null) { + selectAllMode = false; + deselectAllMode = false; + mMultiSelectRemoveView.setSelectAllModeToFalse(); int id = getVoicemailId(viewHolder.voicemailUri); if (selectedItems.get(id) != null) { - selectedItems.delete(id); - viewHolder.checkBoxView.setVisibility(View.GONE); - viewHolder.quickContactView.setVisibility(View.VISIBLE); + uncheckMarkCallLogEntry(viewHolder, id); } else { - viewHolder.quickContactView.setVisibility(View.GONE); - viewHolder.checkBoxView.setVisibility(View.VISIBLE); - selectedItems.put(getVoicemailId(viewHolder.voicemailUri), viewHolder.voicemailUri); - } - - if (selectedItems.size() == 0) { - mActionMode.finish(); - return; + checkMarkCallLogEntry(viewHolder); } - mActionMode.setTitle(Integer.toString(selectedItems.size())); return; } @@ -312,6 +324,48 @@ public class CallLogAdapter extends GroupingListAdapter } }; + private void checkMarkCallLogEntry(CallLogListItemViewHolder viewHolder) { + announceforAccessibility( + mActivity.getCurrentFocus(), + mActivity.getString( + R.string.description_selecting_bulk_action_mode, viewHolder.nameOrNumber)); + viewHolder.quickContactView.setVisibility(View.GONE); + viewHolder.checkBoxView.setVisibility(View.VISIBLE); + selectedItems.put(getVoicemailId(viewHolder.voicemailUri), viewHolder.voicemailUri); + updateActionBar(); + } + + private void announceforAccessibility(View view, String announcement) { + if (view != null) { + view.announceForAccessibility(announcement); + } + } + + private void updateActionBar() { + if (mActionMode == null && selectedItems.size() > 0) { + mActivity.startActionMode(mActionModeCallback); + } + if (mActionMode != null) { + mActionMode.setTitle( + mActivity + .getResources() + .getString( + R.string.voicemailMultiSelectActionBarTitle, + Integer.toString(selectedItems.size()))); + } + } + + private void uncheckMarkCallLogEntry(CallLogListItemViewHolder viewHolder, int id) { + announceforAccessibility( + mActivity.getCurrentFocus(), + mActivity.getString( + R.string.description_unselecting_bulk_action_mode, viewHolder.nameOrNumber)); + selectedItems.delete(id); + viewHolder.checkBoxView.setVisibility(View.GONE); + viewHolder.quickContactView.setVisibility(View.VISIBLE); + updateActionBar(); + } + private static int getVoicemailId(String voicemailUri) { Assert.checkArgument(voicemailUri != null); Assert.checkArgument(voicemailUri.length() > 0); @@ -358,6 +412,7 @@ public class CallLogAdapter extends GroupingListAdapter Activity activity, ViewGroup alertContainer, CallFetcher callFetcher, + MultiSelectRemoveView multiSelectRemoveView, CallLogCache callLogCache, ContactInfoCache contactInfoCache, VoicemailPlaybackPresenter voicemailPlaybackPresenter, @@ -367,6 +422,7 @@ public class CallLogAdapter extends GroupingListAdapter mActivity = activity; mCallFetcher = callFetcher; + mMultiSelectRemoveView = multiSelectRemoveView; mVoicemailPlaybackPresenter = voicemailPlaybackPresenter; if (mVoicemailPlaybackPresenter != null) { mVoicemailPlaybackPresenter.setOnVoicemailDeletedListener(this); @@ -426,6 +482,14 @@ public class CallLogAdapter extends GroupingListAdapter public void onSaveInstanceState(Bundle outState) { outState.putInt(KEY_EXPANDED_POSITION, mCurrentlyExpandedPosition); outState.putLong(KEY_EXPANDED_ROW_ID, mCurrentlyExpandedRowId); + + ArrayList<String> listOfSelectedItems = new ArrayList<>(); + if (selectedItems.size() > 0) { + for (int i = 0; i < selectedItems.size(); i++) { + listOfSelectedItems.add(Integer.toString(selectedItems.keyAt(i))); + } + } + outState.putStringArrayList(KEY_ACTION_MODE, listOfSelectedItems); } public void onRestoreInstanceState(Bundle savedInstanceState) { @@ -434,6 +498,18 @@ public class CallLogAdapter extends GroupingListAdapter savedInstanceState.getInt(KEY_EXPANDED_POSITION, RecyclerView.NO_POSITION); mCurrentlyExpandedRowId = savedInstanceState.getLong(KEY_EXPANDED_ROW_ID, NO_EXPANDED_LIST_ITEM); + + // Restoring multi selected entries + ArrayList<String> listOfSelectedItems = + savedInstanceState.getStringArrayList(KEY_ACTION_MODE); + if (!listOfSelectedItems.isEmpty()) { + for (int i = 0; i < listOfSelectedItems.size(); i++) { + String voicemailId = listOfSelectedItems.get(i); + int id = Integer.parseInt(voicemailId); + selectedItems.put(id, voicemailId); + } + updateActionBar(); + } } } @@ -559,6 +635,8 @@ public class CallLogAdapter extends GroupingListAdapter public void onViewRecycled(ViewHolder viewHolder) { if (viewHolder.getItemViewType() == VIEW_TYPE_CALLLOG) { CallLogListItemViewHolder views = (CallLogListItemViewHolder) viewHolder; + updateCheckMarkedStatusOfEntry(views); + if (views.asyncTask != null) { views.asyncTask.cancel(true); } @@ -591,6 +669,8 @@ public class CallLogAdapter extends GroupingListAdapter return; } CallLogListItemViewHolder views = (CallLogListItemViewHolder) viewHolder; + updateCheckMarkedStatusOfEntry(views); + views.isLoaded = false; int groupSize = getGroupSize(position); CallDetailsEntries callDetailsEntries = createCallDetailsEntries(c, groupSize); @@ -609,6 +689,17 @@ public class CallLogAdapter extends GroupingListAdapter loadAndRender(views, views.rowId, details, callDetailsEntries); } + private void updateCheckMarkedStatusOfEntry(CallLogListItemViewHolder views) { + if (selectedItems.size() > 0 && views.voicemailUri != null) { + int id = getVoicemailId(views.voicemailUri); + if (selectedItems.get(id) != null) { + checkMarkCallLogEntry(views); + } else { + uncheckMarkCallLogEntry(views, id); + } + } + } + private void loadAndRender( final CallLogListItemViewHolder views, final long rowId, @@ -917,6 +1008,12 @@ public class CallLogAdapter extends GroupingListAdapter views.workIconView.setVisibility( details.contactUserType == ContactsUtils.USER_TYPE_WORK ? View.VISIBLE : View.GONE); + if (selectAllMode && views.voicemailUri != null) { + selectedItems.put(getVoicemailId(views.voicemailUri), views.voicemailUri); + } + if (deselectAllMode && views.voicemailUri != null) { + selectedItems.delete(getVoicemailId(views.voicemailUri)); + } if (views.voicemailUri != null && selectedItems.get(getVoicemailId(views.voicemailUri)) != null) { views.checkBoxView.setVisibility(View.VISIBLE); @@ -925,7 +1022,6 @@ public class CallLogAdapter extends GroupingListAdapter views.checkBoxView.setVisibility(View.GONE); views.quickContactView.setVisibility(View.VISIBLE); } - mCallLogListItemHelper.setPhoneCallDetails(views, details); if (mCurrentlyExpandedRowId == views.rowId) { // In case ViewHolders were added/removed, update the expanded position if the rowIds @@ -1192,9 +1288,41 @@ public class CallLogAdapter extends GroupingListAdapter notifyDataSetChanged(); } + public void onAllSelected() { + selectAllMode = true; + deselectAllMode = false; + selectedItems.clear(); + for (int i = 0; i < getItemCount(); i++) { + Cursor c = (Cursor) getItem(i); + if (c != null) { + Assert.checkArgument(CallLogQuery.VOICEMAIL_URI == c.getColumnIndex("voicemail_uri")); + String voicemailUri = c.getString(CallLogQuery.VOICEMAIL_URI); + selectedItems.put(getVoicemailId(voicemailUri), voicemailUri); + } + } + updateActionBar(); + notifyDataSetChanged(); + } + + public void onAllDeselected() { + selectAllMode = false; + deselectAllMode = true; + selectedItems.clear(); + updateActionBar(); + notifyDataSetChanged(); + } + /** Interface used to initiate a refresh of the content. */ public interface CallFetcher { void fetchCalls(); } + + /** Interface used to hide the fragments. */ + public interface MultiSelectRemoveView { + + void showMultiSelectRemoveView(boolean show); + + void setSelectAllModeToFalse(); + } } diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java index 6e4b23fc1..1571c1aef 100644 --- a/java/com/android/dialer/app/calllog/CallLogFragment.java +++ b/java/com/android/dialer/app/calllog/CallLogFragment.java @@ -49,15 +49,16 @@ import com.android.dialer.app.contactinfo.ContactInfoCache.OnContactInfoChangedL import com.android.dialer.app.contactinfo.ExpirableCacheHeadlessFragment; import com.android.dialer.app.list.ListsFragment; import com.android.dialer.app.voicemail.VoicemailPlaybackPresenter; -import com.android.dialer.app.widget.EmptyContentView; -import com.android.dialer.app.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.database.CallLogQueryHandler; import com.android.dialer.location.GeoUtil; +import com.android.dialer.oem.CequintCallerIdManager; import com.android.dialer.phonenumbercache.ContactInfoHelper; import com.android.dialer.util.PermissionsUtil; +import com.android.dialer.widget.EmptyContentView; +import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; /** * Displays a list of call log entries. To filter for a particular kind of call (all, missed or @@ -66,6 +67,7 @@ import com.android.dialer.util.PermissionsUtil; public class CallLogFragment extends Fragment implements CallLogQueryHandler.Listener, CallLogAdapter.CallFetcher, + CallLogAdapter.MultiSelectRemoveView, OnEmptyViewActionButtonClickedListener, FragmentCompat.OnRequestPermissionsResultCallback, CallLogModalAlertManager.Listener { @@ -317,6 +319,7 @@ public class CallLogFragment extends Fragment getActivity(), mRecyclerView, this, + this, CallLogCache.getCallLogCache(getActivity()), mContactInfoCache, getVoicemailPlaybackPresenter(), @@ -380,6 +383,16 @@ public class CallLogFragment extends Fragment } @Override + public void onStart() { + super.onStart(); + CequintCallerIdManager cequintCallerIdManager = null; + if (CequintCallerIdManager.isCequintCallerIdEnabled(getContext())) { + cequintCallerIdManager = CequintCallerIdManager.createInstanceForCallLog(); + } + mContactInfoCache.setCequintCallerIdManager(cequintCallerIdManager); + } + + @Override public void onStop() { updateOnTransition(); @@ -451,6 +464,8 @@ public class CallLogFragment extends Fragment mEmptyListView.setActionLabel(EmptyContentView.NO_LABEL); } else if (filterType == CallLogQueryHandler.CALL_TYPE_ALL) { mEmptyListView.setActionLabel(R.string.call_log_all_empty_action); + } else { + mEmptyListView.setActionLabel(EmptyContentView.NO_LABEL); } } @@ -589,6 +604,16 @@ public class CallLogFragment extends Fragment } } + @Override + public void showMultiSelectRemoveView(boolean show) { + ((ListsFragment) getParentFragment()).showMultiSelectRemoveView(show); + } + + @Override + public void setSelectAllModeToFalse() { + ((ListsFragment) getParentFragment()).setSelectAllModeToFalse(); + } + public interface HostInterface { void showDialpad(); diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java index 1daccd1a4..a9a4d1d42 100644 --- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java +++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java @@ -17,6 +17,7 @@ package com.android.dialer.app.calllog; import android.app.Activity; +import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.content.res.Resources; @@ -31,7 +32,6 @@ import android.support.annotation.VisibleForTesting; import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.telecom.PhoneAccountHandle; -import android.telecom.TelecomManager; import android.telephony.PhoneNumberUtils; import android.text.BidiFormatter; import android.text.TextDirectionHeuristics; @@ -44,10 +44,13 @@ import android.widget.ImageButton; import android.widget.ImageView; import android.widget.QuickContactBadge; import android.widget.TextView; +import android.widget.Toast; import com.android.contacts.common.ClipboardUtils; import com.android.contacts.common.ContactPhotoManager; import com.android.contacts.common.compat.PhoneNumberUtilsCompat; import com.android.contacts.common.dialog.CallSubjectDialog; +import com.android.contacts.common.lettertiles.LetterTileDrawable; +import com.android.contacts.common.lettertiles.LetterTileDrawable.ContactType; import com.android.contacts.common.util.UriUtils; import com.android.dialer.app.DialtactsActivity; import com.android.dialer.app.R; @@ -58,15 +61,16 @@ import com.android.dialer.blocking.BlockedNumbersMigrator; import com.android.dialer.blocking.FilteredNumberCompat; import com.android.dialer.blocking.FilteredNumbersUtil; import com.android.dialer.callcomposer.CallComposerActivity; -import com.android.dialer.callcomposer.CallComposerContact; import com.android.dialer.calldetails.CallDetailsEntries; import com.android.dialer.common.ConfigProviderBindings; import com.android.dialer.common.LogUtil; import com.android.dialer.compat.CompatUtils; +import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.lightbringer.Lightbringer; import com.android.dialer.lightbringer.LightbringerComponent; import com.android.dialer.logging.ContactSource; import com.android.dialer.logging.DialerImpression; +import com.android.dialer.logging.InteractionEvent; import com.android.dialer.logging.Logger; import com.android.dialer.logging.ScreenEvent; import com.android.dialer.phonenumbercache.CachedNumberLookupService; @@ -251,6 +255,20 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder phoneCallDetailsViews.nameView.setElegantTextHeight(false); phoneCallDetailsViews.callLocationAndDate.setElegantTextHeight(false); + if (mContext instanceof CallLogActivity) { + Logger.get(mContext) + .logQuickContactOnTouch( + quickContactView, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CALL_HISTORY, true); + } else if (mVoicemailPlaybackPresenter == null) { + Logger.get(mContext) + .logQuickContactOnTouch( + quickContactView, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CALL_LOG, true); + } else { + Logger.get(mContext) + .logQuickContactOnTouch( + quickContactView, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_VOICEMAIL, false); + } + quickContactView.setOverlay(null); if (CompatUtils.hasPrioritizedMimeType()) { quickContactView.setPrioritizedMimeType(Phone.CONTENT_ITEM_TYPE); @@ -467,7 +485,7 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder primaryActionButtonView.setContentDescription( TextUtils.expandTemplate( mContext.getString(R.string.description_call_action), validNameOrNumber)); - primaryActionButtonView.setImageResource(R.drawable.quantum_ic_call_white_24); + primaryActionButtonView.setImageResource(R.drawable.quantum_ic_call_vd_theme_24); primaryActionButtonView.setVisibility(View.VISIBLE); } else { primaryActionButtonView.setTag(null); @@ -717,19 +735,14 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder getContactType()); } - private int getContactType() { - int contactType = ContactPhotoManager.TYPE_DEFAULT; - if (mCallLogCache.isVoicemailNumber(accountHandle, number)) { - contactType = ContactPhotoManager.TYPE_VOICEMAIL; - } else if (isSpam) { - contactType = ContactPhotoManager.TYPE_SPAM; - } else if (mCachedNumberLookupService != null - && mCachedNumberLookupService.isBusiness(info.sourceType)) { - contactType = ContactPhotoManager.TYPE_BUSINESS; - } else if (numberPresentation == TelecomManager.PRESENTATION_RESTRICTED) { - contactType = ContactPhotoManager.TYPE_GENERIC_AVATAR; - } - return contactType; + private @ContactType int getContactType() { + return LetterTileDrawable.getContactTypeFromPrimitives( + mCallLogCache.isVoicemailNumber(accountHandle, number), + isSpam, + mCachedNumberLookupService != null + && mCachedNumberLookupService.isBusiness(info.sourceType), + numberPresentation, + false); } @Override @@ -795,19 +808,40 @@ public final class CallLogListItemViewHolder extends RecyclerView.ViewHolder mVoicemailPlaybackPresenter.shareVoicemail(); } else { logCallLogAction(view.getId()); + final IntentProvider intentProvider = (IntentProvider) view.getTag(); - if (intentProvider != null) { - final Intent intent = intentProvider.getIntent(mContext); - // See IntentProvider.getCallDetailIntentProvider() for why this may be null. - if (intent != null) { - DialerUtils.startActivityWithErrorToast(mContext, intent); - } + if (intentProvider == null) { + return; } + + final Intent intent = intentProvider.getIntent(mContext); + // See IntentProvider.getCallDetailIntentProvider() for why this may be null. + if (intent == null) { + return; + } + + // We check to see if we are starting a Lightbringer intent. The reason is Lightbringer + // intents need to be started using startActivityForResult instead of the usual startActivity + String packageName = intent.getPackage(); + if (packageName != null && packageName.equals(getLightbringer().getPackageName(mContext))) { + startLightbringerActivity(intent); + } else { + DialerUtils.startActivityWithErrorToast(mContext, intent); + } + } + } + + private void startLightbringerActivity(Intent intent) { + try { + Activity activity = (Activity) mContext; + activity.startActivityForResult(intent, DialtactsActivity.ACTIVITY_REQUEST_CODE_LIGHTBRINGER); + } catch (ActivityNotFoundException e) { + Toast.makeText(mContext, R.string.activity_not_available, Toast.LENGTH_SHORT).show(); } } - private CallComposerContact buildContact() { - CallComposerContact.Builder contact = CallComposerContact.newBuilder(); + private DialerContact buildContact() { + DialerContact.Builder contact = DialerContact.newBuilder(); contact.setPhotoId(info.photoId); if (info.photoUri != null) { contact.setPhotoUri(info.photoUri.toString()); diff --git a/java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java b/java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java index 58fe6fa2c..1f45f7086 100644 --- a/java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java +++ b/java/com/android/dialer/app/calllog/DefaultVoicemailNotifier.java @@ -225,14 +225,18 @@ public class DefaultVoicemailNotifier implements Worker<Void, Void> { int count, String voicemailNumber, PendingIntent callVoicemailIntent, - PendingIntent voicemailSettingIntent) { + PendingIntent voicemailSettingIntent, + boolean isRefresh) { Assert.isNotNull(phoneAccountHandle); Assert.checkArgument(BuildCompat.isAtLeastO()); TelephonyManager telephonyManager = context .getSystemService(TelephonyManager.class) .createForPhoneAccountHandle(phoneAccountHandle); - Assert.isNotNull(telephonyManager); + if (telephonyManager == null) { + LogUtil.e(TAG, "invalid PhoneAccountHandle, ignoring"); + return; + } LogUtil.i(TAG, "Creating legacy voicemail notification"); PersistableBundle carrierConfig = telephonyManager.getCarrierConfig(); @@ -275,7 +279,8 @@ public class DefaultVoicemailNotifier implements Worker<Void, Void> { .setSound(telephonyManager.getVoicemailRingtoneUri(phoneAccountHandle)) .setOngoing( carrierConfig.getBoolean( - CarrierConfigManager.KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL)); + CarrierConfigManager.KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL)) + .setOnlyAlertOnce(isRefresh); if (telephonyManager.isVoicemailVibrationEnabled(phoneAccountHandle)) { builder.setDefaults(Notification.DEFAULT_VIBRATE); diff --git a/java/com/android/dialer/app/calllog/IntentProvider.java b/java/com/android/dialer/app/calllog/IntentProvider.java index a94c6781e..9c3c18b60 100644 --- a/java/com/android/dialer/app/calllog/IntentProvider.java +++ b/java/com/android/dialer/app/calllog/IntentProvider.java @@ -24,12 +24,14 @@ import android.provider.ContactsContract; import android.telecom.PhoneAccountHandle; import com.android.contacts.common.model.Contact; import com.android.contacts.common.model.ContactLoader; -import com.android.dialer.callcomposer.CallComposerContact; import com.android.dialer.calldetails.CallDetailsActivity; import com.android.dialer.calldetails.CallDetailsEntries; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallIntentBuilder; +import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.lightbringer.LightbringerComponent; +import com.android.dialer.logging.DialerImpression; +import com.android.dialer.logging.Logger; import com.android.dialer.util.CallUtil; import com.android.dialer.util.IntentUtil; import java.util.ArrayList; @@ -68,6 +70,7 @@ public abstract class IntentProvider { return new IntentProvider() { @Override public Intent getIntent(Context context) { + Logger.get(context).logImpression(DialerImpression.Type.IMS_VIDEO_REQUESTED_FROM_CALL_LOG); return new CallIntentBuilder(number, CallInitiationType.Type.CALL_LOG) .setPhoneAccountHandle(accountHandle) .setIsVideoCall(true) @@ -80,6 +83,8 @@ public abstract class IntentProvider { return new IntentProvider() { @Override public Intent getIntent(Context context) { + Logger.get(context) + .logImpression(DialerImpression.Type.LIGHTBRINGER_VIDEO_REQUESTED_FROM_CALL_LOG); return LightbringerComponent.get(context).getLightbringer().getIntent(context, number); } }; @@ -112,7 +117,7 @@ public abstract class IntentProvider { * @return The call details intent provider. */ public static IntentProvider getCallDetailIntentProvider( - CallDetailsEntries callDetailsEntries, CallComposerContact contact) { + CallDetailsEntries callDetailsEntries, DialerContact contact) { return new IntentProvider() { @Override public Intent getIntent(Context context) { diff --git a/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java b/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java index 7645a333e..6728dfb38 100644 --- a/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java +++ b/java/com/android/dialer/app/calllog/calllogcache/CallLogCache.java @@ -19,7 +19,6 @@ package com.android.dialer.app.calllog.calllogcache; import android.content.Context; import android.telecom.PhoneAccountHandle; import com.android.dialer.app.calllog.CallLogAdapter; -import com.android.dialer.compat.CompatUtils; import com.android.dialer.util.CallUtil; /** @@ -46,10 +45,7 @@ public abstract class CallLogCache { /** Return the most compatible version of the TelecomCallLogCache. */ public static CallLogCache getCallLogCache(Context context) { - if (CompatUtils.isClassAvailable("android.telecom.PhoneAccountHandle")) { - return new CallLogCacheLollipopMr1(context); - } - return new CallLogCacheLollipop(context); + return new CallLogCacheLollipopMr1(context); } public void reset() { diff --git a/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipop.java b/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipop.java deleted file mode 100644 index 78aaa4193..000000000 --- a/java/com/android/dialer/app/calllog/calllogcache/CallLogCacheLollipop.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2015 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.app.calllog.calllogcache; - -import android.content.Context; -import android.telecom.PhoneAccount; -import android.telecom.PhoneAccountHandle; -import android.telephony.PhoneNumberUtils; -import android.text.TextUtils; - -/** - * This is a compatibility class for the CallLogCache for versions of dialer before Lollipop Mr1 - * (the introduction of phone accounts). - * - * <p>This class should not be initialized directly and instead be acquired from {@link - * CallLogCache#getCallLogCache}. - */ -class CallLogCacheLollipop extends CallLogCache { - - private String mVoicemailNumber; - - /* package */ CallLogCacheLollipop(Context context) { - super(context); - } - - @Override - public boolean isVoicemailNumber(PhoneAccountHandle accountHandle, CharSequence number) { - if (TextUtils.isEmpty(number)) { - return false; - } - - String numberString = number.toString(); - - if (!TextUtils.isEmpty(mVoicemailNumber)) { - return PhoneNumberUtils.compare(numberString, mVoicemailNumber); - } - - if (PhoneNumberUtils.isVoiceMailNumber(numberString)) { - mVoicemailNumber = numberString; - return true; - } - - return false; - } - - @Override - public String getAccountLabel(PhoneAccountHandle accountHandle) { - return null; - } - - @Override - public int getAccountColor(PhoneAccountHandle accountHandle) { - return PhoneAccount.NO_HIGHLIGHT_COLOR; - } - - @Override - public boolean doesAccountSupportCallSubject(PhoneAccountHandle accountHandle) { - return false; - } -} diff --git a/java/com/android/dialer/app/contactinfo/ContactInfoCache.java b/java/com/android/dialer/app/contactinfo/ContactInfoCache.java index e561b5607..32bbf06b5 100644 --- a/java/com/android/dialer/app/contactinfo/ContactInfoCache.java +++ b/java/com/android/dialer/app/contactinfo/ContactInfoCache.java @@ -24,6 +24,7 @@ import android.support.annotation.VisibleForTesting; import android.text.TextUtils; import com.android.dialer.common.LogUtil; import com.android.dialer.logging.ContactSource.Type; +import com.android.dialer.oem.CequintCallerIdManager; import com.android.dialer.phonenumbercache.ContactInfo; import com.android.dialer.phonenumbercache.ContactInfoHelper; import com.android.dialer.util.ExpirableCache; @@ -55,6 +56,7 @@ public class ContactInfoCache { private final OnContactInfoChangedListener mOnContactInfoChangedListener; private final BlockingQueue<ContactInfoRequest> mUpdateRequests; private final Handler mHandler; + private CequintCallerIdManager mCequintCallerIdManager; private QueryThread mContactInfoQueryThread; private volatile boolean mRequestProcessingDisabled = false; @@ -95,6 +97,10 @@ public class ContactInfoCache { mHandler = new InnerHandler(new WeakReference<>(this)); } + public void setCequintCallerIdManager(CequintCallerIdManager cequintCallerIdManager) { + mCequintCallerIdManager = cequintCallerIdManager; + } + public ContactInfo getValue( String number, String countryIso, @@ -160,7 +166,7 @@ public class ContactInfoCache { // TODO: Maybe skip look up if it's already available in cached number lookup // service. long start = SystemClock.elapsedRealtime(); - mContactInfoHelper.updateFromCequintCallerId(info, request.number); + mContactInfoHelper.updateFromCequintCallerId(mCequintCallerIdManager, info, request.number); long time = SystemClock.elapsedRealtime() - start; LogUtil.d( "ContactInfoCache.queryContactInfo", "Cequint Caller Id look up takes %d ms", time); diff --git a/java/com/android/dialer/app/dialpad/DialpadFragment.java b/java/com/android/dialer/app/dialpad/DialpadFragment.java index e9d57b399..c0b26c91a 100644 --- a/java/com/android/dialer/app/dialpad/DialpadFragment.java +++ b/java/com/android/dialer/app/dialpad/DialpadFragment.java @@ -29,6 +29,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; +import android.content.res.Resources; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -84,6 +85,7 @@ import com.android.dialer.common.LogUtil; import com.android.dialer.dialpadview.DialpadKeyButton; import com.android.dialer.dialpadview.DialpadView; import com.android.dialer.location.GeoUtil; +import com.android.dialer.oem.MotorolaUtils; import com.android.dialer.proguard.UsedByReflection; import com.android.dialer.telecom.TelecomUtil; import com.android.dialer.util.CallUtil; @@ -626,6 +628,14 @@ public class DialpadFragment extends Fragment Trace.beginSection(TAG + " onResume"); super.onResume(); + Resources res = getResources(); + int iconId = R.drawable.quantum_ic_call_vd_theme_24; + if (MotorolaUtils.isWifiCallingAvailable(getContext())) { + iconId = R.drawable.ic_wifi_calling; + } + mFloatingActionButtonController.changeIcon( + res.getDrawable(iconId, null), res.getString(R.string.description_dial_button)); + final DialtactsActivity activity = (DialtactsActivity) getActivity(); mDialpadQueryListener = activity; diff --git a/java/com/android/dialer/app/filterednumber/NumbersAdapter.java b/java/com/android/dialer/app/filterednumber/NumbersAdapter.java index f71517a44..d98395ec7 100644 --- a/java/com/android/dialer/app/filterednumber/NumbersAdapter.java +++ b/java/com/android/dialer/app/filterednumber/NumbersAdapter.java @@ -28,6 +28,7 @@ import android.widget.SimpleCursorAdapter; import android.widget.TextView; import com.android.contacts.common.ContactPhotoManager; import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; +import com.android.contacts.common.lettertiles.LetterTileDrawable; import com.android.contacts.common.util.UriUtils; import com.android.dialer.app.R; import com.android.dialer.compat.CompatUtils; @@ -98,8 +99,8 @@ public class NumbersAdapter extends SimpleCursorAdapter { info.lookupUri == null ? null : UriUtils.getLookupKeyFromUri(info.lookupUri); final int contactType = mContactInfoHelper.isBusiness(info.sourceType) - ? ContactPhotoManager.TYPE_BUSINESS - : ContactPhotoManager.TYPE_DEFAULT; + ? LetterTileDrawable.TYPE_BUSINESS + : LetterTileDrawable.TYPE_DEFAULT; final DefaultImageRequest request = new DefaultImageRequest(displayName, lookupKey, contactType, true /* isCircular */); badge.assignContactUri(info.lookupUri); diff --git a/java/com/android/dialer/app/legacybindings/DialerLegacyBindings.java b/java/com/android/dialer/app/legacybindings/DialerLegacyBindings.java index 1cdeb2175..c208fd57d 100644 --- a/java/com/android/dialer/app/legacybindings/DialerLegacyBindings.java +++ b/java/com/android/dialer/app/legacybindings/DialerLegacyBindings.java @@ -40,6 +40,7 @@ public interface DialerLegacyBindings { Activity activity, ViewGroup alertContainer, CallLogAdapter.CallFetcher callFetcher, + CallLogAdapter.MultiSelectRemoveView multiSelectRemoveView, CallLogCache callLogCache, ContactInfoCache contactInfoCache, VoicemailPlaybackPresenter voicemailPlaybackPresenter, diff --git a/java/com/android/dialer/app/legacybindings/DialerLegacyBindingsStub.java b/java/com/android/dialer/app/legacybindings/DialerLegacyBindingsStub.java index 6e32843ba..19fa1a70c 100644 --- a/java/com/android/dialer/app/legacybindings/DialerLegacyBindingsStub.java +++ b/java/com/android/dialer/app/legacybindings/DialerLegacyBindingsStub.java @@ -34,6 +34,7 @@ public class DialerLegacyBindingsStub implements DialerLegacyBindings { Activity activity, ViewGroup alertContainer, CallLogAdapter.CallFetcher callFetcher, + CallLogAdapter.MultiSelectRemoveView multiSelectRemoveView, CallLogCache callLogCache, ContactInfoCache contactInfoCache, VoicemailPlaybackPresenter voicemailPlaybackPresenter, @@ -43,6 +44,7 @@ public class DialerLegacyBindingsStub implements DialerLegacyBindings { activity, alertContainer, callFetcher, + multiSelectRemoveView, callLogCache, contactInfoCache, voicemailPlaybackPresenter, diff --git a/java/com/android/dialer/app/list/AllContactsFragment.java b/java/com/android/dialer/app/list/AllContactsFragment.java index 04609970a..f5fdb9e2d 100644 --- a/java/com/android/dialer/app/list/AllContactsFragment.java +++ b/java/com/android/dialer/app/list/AllContactsFragment.java @@ -38,12 +38,14 @@ import com.android.contacts.common.list.ContactEntryListFragment; import com.android.contacts.common.list.ContactListFilter; import com.android.contacts.common.list.DefaultContactListAdapter; import com.android.dialer.app.R; -import com.android.dialer.app.widget.EmptyContentView; -import com.android.dialer.app.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; import com.android.dialer.compat.CompatUtils; +import com.android.dialer.logging.InteractionEvent; +import com.android.dialer.logging.Logger; import com.android.dialer.util.DialerUtils; import com.android.dialer.util.IntentUtil; import com.android.dialer.util.PermissionsUtil; +import com.android.dialer.widget.EmptyContentView; +import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; /** Fragments to show all contacts with phone numbers. */ public class AllContactsFragment extends ContactEntryListFragment<ContactEntryListAdapter> @@ -149,6 +151,8 @@ public class AllContactsFragment extends ContactEntryListFragment<ContactEntryLi public void onItemClick(AdapterView<?> parent, View view, int position, long id) { final Uri uri = (Uri) view.getTag(); if (uri != null) { + Logger.get(getContext()) + .logInteraction(InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_ALL_CONTACTS_GENERAL); if (CompatUtils.hasPrioritizedMimeType()) { QuickContact.showQuickContact(getContext(), view, uri, null, Phone.CONTENT_ITEM_TYPE); } else { diff --git a/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java b/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java index 537f488d5..04927cf7a 100644 --- a/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java +++ b/java/com/android/dialer/app/list/DialerPhoneNumberListAdapter.java @@ -19,6 +19,7 @@ package com.android.dialer.app.list; import android.content.Context; import android.content.res.Resources; import android.database.Cursor; +import android.graphics.drawable.Drawable; import android.telephony.PhoneNumberUtils; import android.text.BidiFormatter; import android.text.TextDirectionHeuristics; @@ -29,7 +30,6 @@ import com.android.contacts.common.list.PhoneNumberListAdapter; import com.android.contacts.common.util.ContactDisplayUtils; import com.android.dialer.app.R; import com.android.dialer.location.GeoUtil; -import com.android.dialer.util.CallUtil; /** * {@link PhoneNumberListAdapter} with the following added shortcuts, that are displayed as list @@ -50,7 +50,6 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { private final boolean[] mShortcutEnabled = new boolean[SHORTCUT_COUNT]; private final BidiFormatter mBidiFormatter = BidiFormatter.getInstance(); - private final boolean mVideoCallingEnabled; private final String mCountryIso; private String mFormattedQueryString; @@ -59,7 +58,6 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { super(context); mCountryIso = GeoUtil.getCurrentCountryIso(context); - mVideoCallingEnabled = CallUtil.isVideoEnabled(context); } @Override @@ -110,8 +108,7 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { return convertView; } else { final ContactListItemView v = - new ContactListItemView( - getContext(), null, mVideoCallingEnabled, isCallAndShareEnabled()); + new ContactListItemView(getContext(), null, mIsImsVideoEnabled); assignShortcutToView(v, shortcutType); return v; } @@ -125,8 +122,7 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { Context context, int partition, Cursor cursor, int position, ViewGroup parent) { final ContactListItemView view = super.newView(context, partition, cursor, position, parent); - view.setSupportVideoCallIcon(mVideoCallingEnabled); - view.setSupportCallAndShareIcon(isCallAndShareEnabled()); + view.setSupportVideoCallIcon(mIsImsVideoEnabled); return view; } @@ -171,7 +167,7 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { private void assignShortcutToView(ContactListItemView v, int shortcutType) { final CharSequence text; - final int drawableId; + final Drawable drawable; final Resources resources = getContext().getResources(); final String number = getFormattedQueryString(); switch (shortcutType) { @@ -181,34 +177,39 @@ public class DialerPhoneNumberListAdapter extends PhoneNumberListAdapter { resources, R.string.search_shortcut_call_number, mBidiFormatter.unicodeWrap(number, TextDirectionHeuristics.LTR)); - drawableId = R.drawable.ic_search_phone; + drawable = getContext().getResources().getDrawable(R.drawable.quantum_ic_call_vd_theme_24); break; case SHORTCUT_CREATE_NEW_CONTACT: text = resources.getString(R.string.search_shortcut_create_new_contact); - drawableId = R.drawable.ic_search_add_contact; + drawable = + getContext().getResources().getDrawable(R.drawable.quantum_ic_person_add_vd_theme_24); + drawable.setAutoMirrored(true); break; case SHORTCUT_ADD_TO_EXISTING_CONTACT: text = resources.getString(R.string.search_shortcut_add_to_contact); - drawableId = R.drawable.quantum_ic_person_white_24; + drawable = + getContext().getResources().getDrawable(R.drawable.quantum_ic_person_add_vd_theme_24); break; case SHORTCUT_SEND_SMS_MESSAGE: text = resources.getString(R.string.search_shortcut_send_sms_message); - drawableId = R.drawable.quantum_ic_message_white_24; + drawable = + getContext().getResources().getDrawable(R.drawable.quantum_ic_message_vd_theme_24); break; case SHORTCUT_MAKE_VIDEO_CALL: text = resources.getString(R.string.search_shortcut_make_video_call); - drawableId = R.drawable.quantum_ic_videocam_white_24; + drawable = + getContext().getResources().getDrawable(R.drawable.quantum_ic_videocam_vd_theme_24); break; case SHORTCUT_BLOCK_NUMBER: text = resources.getString(R.string.search_shortcut_block_number); - drawableId = R.drawable.ic_not_interested_googblue_24dp; + drawable = + getContext().getResources().getDrawable(R.drawable.ic_not_interested_googblue_24dp); break; default: throw new IllegalArgumentException("Invalid shortcut type"); } - v.setDrawableResource(drawableId); + v.setDrawable(drawable); v.setDisplayName(text); - v.setPhotoPosition(super.getPhotoPosition()); v.setAdjustSelectionBoundsEnabled(false); } diff --git a/java/com/android/dialer/app/list/DialerViewPager.java b/java/com/android/dialer/app/list/DialerViewPager.java new file mode 100644 index 000000000..ae99f0521 --- /dev/null +++ b/java/com/android/dialer/app/list/DialerViewPager.java @@ -0,0 +1,55 @@ +/* + * 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.app.list; + +import android.content.Context; +import android.support.v4.view.ViewPager; +import android.util.AttributeSet; +import android.view.MotionEvent; + +/** Class that handles enabling/disabling swiping between @{ViewPagerTabs}. */ +public class DialerViewPager extends ViewPager { + + private boolean enableSwipingPages; + + public DialerViewPager(Context context, AttributeSet attributeSet) { + super(context, attributeSet); + enableSwipingPages = true; + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent event) { + if (enableSwipingPages) { + return super.onInterceptTouchEvent(event); + } + + return false; + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + if (enableSwipingPages) { + return super.onTouchEvent(event); + } + + return false; + } + + public void setEnableSwipingPages(boolean enabled) { + enableSwipingPages = enabled; + } +} diff --git a/java/com/android/dialer/app/list/ListsFragment.java b/java/com/android/dialer/app/list/ListsFragment.java index 8dd52a9d4..32501d556 100644 --- a/java/com/android/dialer/app/list/ListsFragment.java +++ b/java/com/android/dialer/app/list/ListsFragment.java @@ -31,19 +31,23 @@ import android.os.Handler; import android.os.Trace; import android.preference.PreferenceManager; import android.provider.VoicemailContract; -import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.LayoutInflater; import android.view.View; +import android.view.View.OnClickListener; import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; import com.android.contacts.common.list.ViewPagerTabs; import com.android.dialer.app.R; import com.android.dialer.app.calllog.CallLogFragment; import com.android.dialer.app.calllog.CallLogNotificationsService; +import com.android.dialer.app.calllog.VisualVoicemailCallLogFragment; import com.android.dialer.app.voicemail.error.VoicemailStatusCorruptionHandler; import com.android.dialer.app.voicemail.error.VoicemailStatusCorruptionHandler.Source; import com.android.dialer.common.LogUtil; import com.android.dialer.database.CallLogQueryHandler; +import com.android.dialer.database.CallLogQueryHandler.Listener; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; import com.android.dialer.logging.ScreenEvent; @@ -61,24 +65,28 @@ import java.util.ArrayList; * containing the lists up above the search bar and pin it against the top of the screen. */ public class ListsFragment extends Fragment - implements ViewPager.OnPageChangeListener, CallLogQueryHandler.Listener { + implements OnPageChangeListener, Listener, OnClickListener { private static final String TAG = "ListsFragment"; - private ViewPager mViewPager; + private DialerViewPager mViewPager; private ViewPagerTabs mViewPagerTabs; private DialtactsPagerAdapter mAdapter; private RemoveView mRemoveView; private View mRemoveViewContent; + private View mMultiSelectSelectAllViewContent; + private TextView mSelectUnselectAllViewText; + private ImageView mSelectUnselectAllIcon; private Fragment mCurrentPage; private SharedPreferences mPrefs; private boolean mHasFetchedVoicemailStatus; + private boolean selectAllMode; private boolean mShowVoicemailTabAfterVoicemailStatusIsFetched; private VoicemailStatusHelper mVoicemailStatusHelper; private final ArrayList<OnPageChangeListener> mOnPageChangeListeners = new ArrayList<>(); /** The position of the currently selected tab. */ private int mTabIndex = TAB_INDEX_SPEED_DIAL; - private boolean mPaused; + private boolean mPaused; private CallLogQueryHandler mCallLogQueryHandler; private final ContentObserver mVoicemailStatusObserver = @@ -163,7 +171,7 @@ public class ListsFragment extends Fragment tabIcons[TAB_INDEX_ALL_CONTACTS] = R.drawable.quantum_ic_people_white_24; tabIcons[TAB_INDEX_VOICEMAIL] = R.drawable.quantum_ic_voicemail_white_24; - mViewPager = (ViewPager) parentView.findViewById(R.id.lists_pager); + mViewPager = (DialerViewPager) parentView.findViewById(R.id.lists_pager); mAdapter = new DialtactsPagerAdapter( getContext(), @@ -180,9 +188,15 @@ public class ListsFragment extends Fragment mViewPagerTabs.configureTabIcons(tabIcons); mViewPagerTabs.setViewPager(mViewPager); addOnPageChangeListener(mViewPagerTabs); - mRemoveView = (RemoveView) parentView.findViewById(R.id.remove_view); mRemoveViewContent = parentView.findViewById(R.id.remove_view_content); + mMultiSelectSelectAllViewContent = + parentView.findViewById(R.id.multi_select_select_all_view_content); + mSelectUnselectAllViewText = (TextView) parentView.findViewById(R.id.select_all_view_text); + mSelectUnselectAllIcon = (ImageView) parentView.findViewById(R.id.select_all_view_icon); + mMultiSelectSelectAllViewContent.setOnClickListener(null); + mSelectUnselectAllIcon.setOnClickListener(this); + mSelectUnselectAllViewText.setOnClickListener(this); if (PermissionsUtil.hasReadVoicemailPermissions(getContext()) && PermissionsUtil.hasAddVoicemailPermissions(getContext())) { @@ -191,7 +205,7 @@ public class ListsFragment extends Fragment .registerContentObserver( VoicemailContract.Status.CONTENT_URI, true, mVoicemailStatusObserver); } else { - LogUtil.w("ListsFragment.onCreateView", "no voicemail read/add permissions"); + LogUtil.w("ListsFragment.onCreateView", "no voicemail read permissions"); } Trace.endSection(); @@ -385,6 +399,13 @@ public class ListsFragment extends Fragment mRemoveView.animate().alpha(show ? 1 : 0).start(); } + public void showMultiSelectRemoveView(boolean show) { + mMultiSelectSelectAllViewContent.setVisibility(show ? View.VISIBLE : View.GONE); + mMultiSelectSelectAllViewContent.setAlpha(show ? 0 : 1); + mMultiSelectSelectAllViewContent.animate().alpha(show ? 1 : 0).start(); + mViewPager.setEnableSwipingPages(!show); + } + public boolean hasFrequents() { Fragment page = mAdapter.getItem(mAdapter.getRtlPosition(TAB_INDEX_SPEED_DIAL)); return page instanceof OldSpeedDialFragment @@ -424,4 +445,28 @@ public class ListsFragment extends Fragment } Logger.get(getActivity()).logScreenView(screenType, getActivity()); } + + @Override + public void onClick(View v) { + updateSelectAllIcon(); + selectAllMode = !selectAllMode; + } + + public void setSelectAllModeToFalse() { + selectAllMode = false; + mSelectUnselectAllIcon.setImageDrawable( + getContext().getDrawable(R.drawable.ic_empty_check_mark_white_24dp)); + } + + private void updateSelectAllIcon() { + if (selectAllMode) { + mSelectUnselectAllIcon.setImageDrawable( + getContext().getDrawable(R.drawable.ic_empty_check_mark_white_24dp)); + ((VisualVoicemailCallLogFragment) mCurrentPage).getAdapter().onAllDeselected(); + } else { + mSelectUnselectAllIcon.setImageDrawable( + getContext().getDrawable(R.drawable.ic_check_mark_blue_24dp)); + ((VisualVoicemailCallLogFragment) mCurrentPage).getAdapter().onAllSelected(); + } + } } diff --git a/java/com/android/dialer/app/list/OldSpeedDialFragment.java b/java/com/android/dialer/app/list/OldSpeedDialFragment.java index 40fe74565..1ddc0f4e1 100644 --- a/java/com/android/dialer/app/list/OldSpeedDialFragment.java +++ b/java/com/android/dialer/app/list/OldSpeedDialFragment.java @@ -50,12 +50,11 @@ import com.android.contacts.common.ContactTileLoaderFactory; import com.android.contacts.common.list.ContactTileView; import com.android.contacts.common.list.OnPhoneNumberPickerActionListener; import com.android.dialer.app.R; -import com.android.dialer.app.widget.EmptyContentView; -import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.common.LogUtil; import com.android.dialer.util.PermissionsUtil; import com.android.dialer.util.ViewUtil; +import com.android.dialer.widget.EmptyContentView; import java.util.ArrayList; /** This fragment displays the user's favorite/frequent contacts in a grid. */ @@ -430,7 +429,7 @@ public class OldSpeedDialFragment extends Fragment void showAllContactsTab(); } - private class ContactTileLoaderListener implements LoaderManager.LoaderCallbacks<Cursor> { + class ContactTileLoaderListener implements LoaderManager.LoaderCallbacks<Cursor> { @Override public CursorLoader onCreateLoader(int id, Bundle args) { @@ -460,24 +459,17 @@ public class OldSpeedDialFragment extends Fragment private class ContactTileAdapterListener implements ContactTileView.Listener { @Override - public void onContactSelected(Uri contactUri, Rect targetRect) { + public void onContactSelected( + Uri contactUri, Rect targetRect, CallSpecificAppData callSpecificAppData) { if (mPhoneNumberPickerActionListener != null) { - CallSpecificAppData callSpecificAppData = - CallSpecificAppData.newBuilder() - .setCallInitiationType(CallInitiationType.Type.SPEED_DIAL) - .build(); mPhoneNumberPickerActionListener.onPickDataUri( contactUri, false /* isVideoCall */, callSpecificAppData); } } @Override - public void onCallNumberDirectly(String phoneNumber) { + public void onCallNumberDirectly(String phoneNumber, CallSpecificAppData callSpecificAppData) { if (mPhoneNumberPickerActionListener != null) { - CallSpecificAppData callSpecificAppData = - CallSpecificAppData.newBuilder() - .setCallInitiationType(CallInitiationType.Type.SPEED_DIAL) - .build(); mPhoneNumberPickerActionListener.onPickPhoneNumber( phoneNumber, false /* isVideoCall */, callSpecificAppData); } diff --git a/java/com/android/dialer/app/list/PhoneFavoriteListView.java b/java/com/android/dialer/app/list/PhoneFavoriteListView.java index 9516f0611..f4f395ff0 100644 --- a/java/com/android/dialer/app/list/PhoneFavoriteListView.java +++ b/java/com/android/dialer/app/list/PhoneFavoriteListView.java @@ -1,6 +1,5 @@ /* - * Copyright (C) 2012 Google Inc. - * Licensed to The Android Open Source Project. + * 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. @@ -24,7 +23,6 @@ import android.content.res.Configuration; import android.graphics.Bitmap; import android.os.Handler; import android.util.AttributeSet; -import android.util.Log; import android.view.DragEvent; import android.view.MotionEvent; import android.view.View; @@ -33,6 +31,7 @@ import android.widget.GridView; import android.widget.ImageView; import com.android.dialer.app.R; import com.android.dialer.app.list.DragDropController.DragItemContainer; +import com.android.dialer.common.LogUtil; /** Viewgroup that presents the user's speed dial contacts in a grid. */ public class PhoneFavoriteListView extends GridView @@ -40,14 +39,14 @@ public class PhoneFavoriteListView extends GridView public static final String LOG_TAG = PhoneFavoriteListView.class.getSimpleName(); final int[] mLocationOnScreen = new int[2]; - private final long SCROLL_HANDLER_DELAY_MILLIS = 5; - private final int DRAG_SCROLL_PX_UNIT = 25; - private final float DRAG_SHADOW_ALPHA = 0.7f; + private static final long SCROLL_HANDLER_DELAY_MILLIS = 5; + private static final int DRAG_SCROLL_PX_UNIT = 25; + private static final float DRAG_SHADOW_ALPHA = 0.7f; /** * {@link #mTopScrollBound} and {@link mBottomScrollBound} will be offseted to the top / bottom by * {@link #getHeight} * {@link #BOUND_GAP_RATIO} pixels. */ - private final float BOUND_GAP_RATIO = 0.2f; + private static final float BOUND_GAP_RATIO = 0.2f; private float mTouchSlop; private int mTopScrollBound; @@ -67,7 +66,6 @@ public class PhoneFavoriteListView extends GridView } }; private boolean mIsDragScrollerRunning = false; - private int mTouchDownForDragStartX; private int mTouchDownForDragStartY; private Bitmap mDragShadowBitmap; private ImageView mDragShadowOverlay; @@ -98,7 +96,7 @@ public class PhoneFavoriteListView extends GridView } public PhoneFavoriteListView(Context context, AttributeSet attrs) { - this(context, attrs, -1); + this(context, attrs, 0); } public PhoneFavoriteListView(Context context, AttributeSet attrs, int defStyle) { @@ -121,7 +119,6 @@ public class PhoneFavoriteListView extends GridView @Override public boolean onInterceptTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { - mTouchDownForDragStartX = (int) ev.getX(); mTouchDownForDragStartY = (int) ev.getY(); } @@ -287,7 +284,7 @@ public class PhoneFavoriteListView extends GridView try { bitmap = cache.copy(Bitmap.Config.ARGB_8888, false); } catch (final OutOfMemoryError e) { - Log.w(LOG_TAG, "Failed to copy bitmap from Drawing cache", e); + LogUtil.w(LOG_TAG, "Failed to copy bitmap from Drawing cache", e); bitmap = null; } } diff --git a/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java index 5a18d039b..40f23ea6f 100644 --- a/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java +++ b/java/com/android/dialer/app/list/PhoneFavoriteSquareTileView.java @@ -26,6 +26,8 @@ import android.widget.TextView; import com.android.contacts.common.list.ContactEntry; import com.android.dialer.app.R; import com.android.dialer.compat.CompatUtils; +import com.android.dialer.logging.InteractionEvent; +import com.android.dialer.logging.Logger; /** Displays the contact's picture overlaid with their name and number type in a tile. */ public class PhoneFavoriteSquareTileView extends PhoneFavoriteTileView { @@ -87,6 +89,8 @@ public class PhoneFavoriteSquareTileView extends PhoneFavoriteTileView { new OnClickListener() { @Override public void onClick(View v) { + Logger.get(getContext()) + .logInteraction(InteractionEvent.Type.SPEED_DIAL_OPEN_CONTACT_CARD); launchQuickContact(); } }); diff --git a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java index db89cf3dc..835b448bd 100644 --- a/java/com/android/dialer/app/list/PhoneFavoriteTileView.java +++ b/java/com/android/dialer/app/list/PhoneFavoriteTileView.java @@ -18,16 +18,22 @@ package com.android.dialer.app.list; import android.content.ClipData; import android.content.Context; +import android.provider.ContactsContract.PinnedPositions; import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; -import com.android.contacts.common.ContactPhotoManager; import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest; import com.android.contacts.common.MoreContactUtils; +import com.android.contacts.common.lettertiles.LetterTileDrawable; import com.android.contacts.common.list.ContactEntry; import com.android.contacts.common.list.ContactTileView; import com.android.dialer.app.R; +import com.android.dialer.callintent.CallInitiationType; +import com.android.dialer.callintent.CallSpecificAppData; +import com.android.dialer.callintent.SpeedDialContactType; +import com.android.dialer.logging.InteractionEvent; +import com.android.dialer.logging.Logger; /** * A light version of the {@link com.android.contacts.common.list.ContactTileView} that is used in @@ -42,7 +48,6 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { // tile is long pressed. static final String DRAG_PHONE_FAVORITE_TILE = "PHONE_FAVORITE_TILE"; private static final String TAG = PhoneFavoriteTileView.class.getSimpleName(); - private static final boolean DEBUG = false; // These parameters instruct the photo manager to display the default image/letter at 70% of // its normal size, and vertically offset upwards 12% towards the top of the letter tile, to // make room for the contact name and number label at the bottom of the image. @@ -55,6 +60,8 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { private View mShadowOverlay; /** Users' most frequent phone number. */ private String mPhoneNumberString; + private boolean isPinned; + private boolean isStarred; public PhoneFavoriteTileView(Context context, AttributeSet attrs) { super(context, attrs); @@ -83,6 +90,8 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { super.loadFromContact(entry); // Set phone number to null in case we're reusing the view. mPhoneNumberString = null; + isPinned = (entry.pinned != PinnedPositions.UNPINNED); + isStarred = entry.isFavorite; if (entry != null) { // Grab the phone-number to call directly. See {@link onClick()}. mPhoneNumberString = entry.phoneNumber; @@ -113,16 +122,35 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { if (mListener == null) { return; } + + CallSpecificAppData.Builder callSpecificAppData = + CallSpecificAppData.newBuilder() + .setCallInitiationType(CallInitiationType.Type.SPEED_DIAL) + .setSpeedDialContactPosition( + ((PhoneFavoriteListView) v.getParent()).getPositionForView(v)); + if (isStarred) { + callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.STARRED_CONTACT); + } else { + callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.FREQUENT_CONTACT); + } + if (isPinned) { + callSpecificAppData.addSpeedDialContactType(SpeedDialContactType.Type.PINNED_CONTACT); + } + if (TextUtils.isEmpty(mPhoneNumberString)) { // Copy "superclass" implementation + Logger.get(getContext()) + .logInteraction(InteractionEvent.Type.SPEED_DIAL_CLICK_CONTACT_WITH_AMBIGUOUS_NUMBER); mListener.onContactSelected( - getLookupUri(), MoreContactUtils.getTargetRectFromView(PhoneFavoriteTileView.this)); + getLookupUri(), + MoreContactUtils.getTargetRectFromView(PhoneFavoriteTileView.this), + callSpecificAppData.build()); } else { // When you tap a frequently-called contact, you want to // call them at the number that you usually talk to them // at (i.e. the one displayed in the UI), regardless of // whether that's their default number. - mListener.onCallNumberDirectly(mPhoneNumberString); + mListener.onCallNumberDirectly(mPhoneNumberString, callSpecificAppData.build()); } } }; @@ -133,7 +161,7 @@ public abstract class PhoneFavoriteTileView extends ContactTileView { return new DefaultImageRequest( displayName, lookupKey, - ContactPhotoManager.TYPE_DEFAULT, + LetterTileDrawable.TYPE_DEFAULT, DEFAULT_IMAGE_LETTER_SCALE, DEFAULT_IMAGE_LETTER_OFFSET, false); diff --git a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java index c692ecac7..ce8598261 100644 --- a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java +++ b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java @@ -30,7 +30,6 @@ import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.PinnedPositions; import android.support.annotation.VisibleForTesting; import android.text.TextUtils; -import android.util.Log; import android.util.LongSparseArray; import android.view.View; import android.view.ViewGroup; @@ -41,6 +40,11 @@ import com.android.contacts.common.list.ContactEntry; import com.android.contacts.common.list.ContactTileView; import com.android.contacts.common.preference.ContactsPreferences; import com.android.dialer.app.R; +import com.android.dialer.common.LogUtil; +import com.android.dialer.lightbringer.Lightbringer; +import com.android.dialer.lightbringer.LightbringerComponent; +import com.android.dialer.logging.InteractionEvent; +import com.android.dialer.logging.Logger; import com.android.dialer.shortcuts.ShortcutRefresher; import com.google.common.collect.ComparisonChain; import java.util.ArrayList; @@ -190,6 +194,14 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop // Track the length of {@link #mContactEntries} and compare to {@link #TILES_SOFT_LIMIT}. int counter = 0; + // Data for logging + int starredContactsCount = 0; + int pinnedContactsCount = 0; + int multipleNumbersContactsCount = 0; + int contactsWithPhotoCount = 0; + int contactsWithNameCount = 0; + int duoReachableContactsCount = 0; + // The cursor should not be closed since this is invoked from a CursorLoader. if (cursor.moveToFirst()) { int starredColumn = cursor.getColumnIndexOrThrow(Contacts.STARRED); @@ -262,6 +274,22 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop contact.pinned = pinned; mContactEntries.add(contact); + // Set counts for logging + if (isStarred) { + // mNumStarred might be larger than the number of visible starred contact, + // since it includes invisible ones (starred contact with no phone number). + starredContactsCount++; + } + if (pinned != PinnedPositions.UNPINNED) { + pinnedContactsCount++; + } + if (!TextUtils.isEmpty(name)) { + contactsWithNameCount++; + } + if (photoUri != null) { + contactsWithPhotoCount++; + } + duplicates.put(id, contact); counter++; @@ -274,6 +302,47 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop ShortcutRefresher.refresh(mContext, mContactEntries); notifyDataSetChanged(); + + Lightbringer lightbringer = LightbringerComponent.get(mContext).getLightbringer(); + for (ContactEntry contact : mContactEntries) { + if (contact.phoneNumber == null) { + multipleNumbersContactsCount++; + } else if (lightbringer.isReachable(mContext, contact.phoneNumber)) { + duoReachableContactsCount++; + } + } + + Logger.get(mContext) + .logSpeedDialContactComposition( + counter, + starredContactsCount, + pinnedContactsCount, + multipleNumbersContactsCount, + contactsWithPhotoCount, + contactsWithNameCount, + duoReachableContactsCount); + // Logs for manual testing + LogUtil.v("PhoneFavoritesTileAdapter.saveCursorToCache", "counter: %d", counter); + LogUtil.v( + "PhoneFavoritesTileAdapter.saveCursorToCache", + "starredContactsCount: %d", + starredContactsCount); + LogUtil.v( + "PhoneFavoritesTileAdapter.saveCursorToCache", + "pinnedContactsCount: %d", + pinnedContactsCount); + LogUtil.v( + "PhoneFavoritesTileAdapter.saveCursorToCache", + "multipleNumbersContactsCount: %d", + multipleNumbersContactsCount); + LogUtil.v( + "PhoneFavoritesTileAdapter.saveCursorToCache", + "contactsWithPhotoCount: %d", + contactsWithPhotoCount); + LogUtil.v( + "PhoneFavoritesTileAdapter.saveCursorToCache", + "contactsWithNameCount: %d", + contactsWithNameCount); } /** Iterates over the {@link Cursor} Returns position of the first NON Starred Contact */ @@ -347,7 +416,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop @Override public void notifyDataSetChanged() { if (DEBUG) { - Log.v(TAG, "notifyDataSetChanged"); + LogUtil.v(TAG, "notifyDataSetChanged"); } super.notifyDataSetChanged(); } @@ -355,7 +424,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop @Override public View getView(int position, View convertView, ViewGroup parent) { if (DEBUG) { - Log.v(TAG, "get view for " + String.valueOf(position)); + LogUtil.v(TAG, "get view for " + position); } PhoneFavoriteTileView tileView = null; @@ -455,8 +524,9 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop // update the database here with the new pinned positions try { mContext.getContentResolver().applyBatch(ContactsContract.AUTHORITY, operations); + Logger.get(mContext).logInteraction(InteractionEvent.Type.SPEED_DIAL_PIN_CONTACT); } catch (RemoteException | OperationApplicationException e) { - Log.e(TAG, "Exception thrown when pinning contacts", e); + LogUtil.e(TAG, "Exception thrown when pinning contacts", e); } } } @@ -609,6 +679,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop if (mDraggedEntry != null) { unstarAndUnpinContact(mDraggedEntry.lookupUri); mAwaitingRemove = true; + Logger.get(mContext).logInteraction(InteractionEvent.Type.SPEED_DIAL_REMOVE_CONTACT); } } diff --git a/java/com/android/dialer/app/list/RegularSearchFragment.java b/java/com/android/dialer/app/list/RegularSearchFragment.java index 02896793b..4f032032f 100644 --- a/java/com/android/dialer/app/list/RegularSearchFragment.java +++ b/java/com/android/dialer/app/list/RegularSearchFragment.java @@ -25,12 +25,12 @@ import android.view.ViewGroup; import com.android.contacts.common.list.ContactEntryListAdapter; import com.android.contacts.common.list.PinnedHeaderListView; import com.android.dialer.app.R; -import com.android.dialer.app.widget.EmptyContentView; -import com.android.dialer.app.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.phonenumbercache.CachedNumberLookupService; import com.android.dialer.phonenumbercache.PhoneNumberCache; import com.android.dialer.util.PermissionsUtil; +import com.android.dialer.widget.EmptyContentView; +import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; public class RegularSearchFragment extends SearchFragment implements OnEmptyViewActionButtonClickedListener, diff --git a/java/com/android/dialer/app/list/RemoveView.java b/java/com/android/dialer/app/list/RemoveView.java index 3b917db43..1d566c5a0 100644 --- a/java/com/android/dialer/app/list/RemoveView.java +++ b/java/com/android/dialer/app/list/RemoveView.java @@ -41,7 +41,7 @@ public class RemoveView extends FrameLayout { } public RemoveView(Context context, AttributeSet attrs) { - this(context, attrs, -1); + this(context, attrs, 0); } public RemoveView(Context context, AttributeSet attrs, int defStyle) { diff --git a/java/com/android/dialer/app/list/SearchFragment.java b/java/com/android/dialer/app/list/SearchFragment.java index fcf8236e3..7f2d17650 100644 --- a/java/com/android/dialer/app/list/SearchFragment.java +++ b/java/com/android/dialer/app/list/SearchFragment.java @@ -34,19 +34,18 @@ import android.widget.LinearLayout; import android.widget.ListView; import android.widget.Space; import com.android.contacts.common.list.ContactEntryListAdapter; -import com.android.contacts.common.list.ContactListItemView; import com.android.contacts.common.list.OnPhoneNumberPickerActionListener; import com.android.contacts.common.list.PhoneNumberPickerFragment; import com.android.dialer.animation.AnimUtils; import com.android.dialer.app.R; import com.android.dialer.app.dialpad.DialpadFragment.ErrorDialogFragment; import com.android.dialer.app.widget.DialpadSearchEmptyContentView; -import com.android.dialer.app.widget.EmptyContentView; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.common.LogUtil; import com.android.dialer.util.DialerUtils; import com.android.dialer.util.IntentUtil; import com.android.dialer.util.PermissionsUtil; +import com.android.dialer.widget.EmptyContentView; public class SearchFragment extends PhoneNumberPickerFragment { @@ -80,7 +79,6 @@ public class SearchFragment extends PhoneNumberPickerFragment { setQuickContactEnabled(true); setAdjustSelectionBoundsEnabled(false); setDarkTheme(false); - setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(false /* opposite */)); setUseCallableUri(true); try { diff --git a/java/com/android/dialer/app/list/SmartDialSearchFragment.java b/java/com/android/dialer/app/list/SmartDialSearchFragment.java index eb1508c72..fc21c8bc3 100644 --- a/java/com/android/dialer/app/list/SmartDialSearchFragment.java +++ b/java/com/android/dialer/app/list/SmartDialSearchFragment.java @@ -29,11 +29,11 @@ import android.support.v13.app.FragmentCompat; import com.android.contacts.common.list.ContactEntryListAdapter; import com.android.dialer.app.R; import com.android.dialer.app.dialpad.SmartDialCursorLoader; -import com.android.dialer.app.widget.EmptyContentView; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.common.LogUtil; import com.android.dialer.database.DialerDatabaseHelper; import com.android.dialer.util.PermissionsUtil; +import com.android.dialer.widget.EmptyContentView; /** Implements a fragment to load and display SmartDial search results. */ public class SmartDialSearchFragment extends SearchFragment diff --git a/java/com/android/dialer/app/manifests/activities/AndroidManifest.xml b/java/com/android/dialer/app/manifests/activities/AndroidManifest.xml index ca93da0de..7c6df9448 100644 --- a/java/com/android/dialer/app/manifests/activities/AndroidManifest.xml +++ b/java/com/android/dialer/app/manifests/activities/AndroidManifest.xml @@ -19,7 +19,7 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.dialer.app"> - <application> + <application android:theme="@style/Theme.AppCompat"> <activity android:exported="false" diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_48dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_48dp.png Binary files differnew file mode 100644 index 000000000..eeed895f1 --- /dev/null +++ b/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_48dp.png diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_blue_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_blue_24dp.png Binary files differnew file mode 100644 index 000000000..b041a74bd --- /dev/null +++ b/java/com/android/dialer/app/res/drawable-hdpi/ic_check_mark_blue_24dp.png diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_empty_check_mark_white_24dp.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_empty_check_mark_white_24dp.png Binary files differnew file mode 100644 index 000000000..2c5ba8d58 --- /dev/null +++ b/java/com/android/dialer/app/res/drawable-hdpi/ic_empty_check_mark_white_24dp.png diff --git a/java/com/android/dialer/app/res/drawable-hdpi/ic_results_phone.png b/java/com/android/dialer/app/res/drawable-hdpi/ic_results_phone.png Binary files differdeleted file mode 100644 index 3a1a7a790..000000000 --- a/java/com/android/dialer/app/res/drawable-hdpi/ic_results_phone.png +++ /dev/null diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_check_mark_48dp.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_check_mark_48dp.png Binary files differnew file mode 100644 index 000000000..f3b76be4c --- /dev/null +++ b/java/com/android/dialer/app/res/drawable-mdpi/ic_check_mark_48dp.png diff --git a/java/com/android/dialer/app/res/drawable-mdpi/ic_results_phone.png b/java/com/android/dialer/app/res/drawable-mdpi/ic_results_phone.png Binary files differdeleted file mode 100644 index 74ccf14b8..000000000 --- a/java/com/android/dialer/app/res/drawable-mdpi/ic_results_phone.png +++ /dev/null diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_check_mark_48dp.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_check_mark_48dp.png Binary files differnew file mode 100644 index 000000000..01a3bbe06 --- /dev/null +++ b/java/com/android/dialer/app/res/drawable-xhdpi/ic_check_mark_48dp.png diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/ic_results_phone.png b/java/com/android/dialer/app/res/drawable-xhdpi/ic_results_phone.png Binary files differdeleted file mode 100644 index 0e24fa45c..000000000 --- a/java/com/android/dialer/app/res/drawable-xhdpi/ic_results_phone.png +++ /dev/null diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_check_mark_48dp.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_check_mark_48dp.png Binary files differnew file mode 100644 index 000000000..204327950 --- /dev/null +++ b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_check_mark_48dp.png diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_results_phone.png b/java/com/android/dialer/app/res/drawable-xxhdpi/ic_results_phone.png Binary files differdeleted file mode 100644 index 9594619cb..000000000 --- a/java/com/android/dialer/app/res/drawable-xxhdpi/ic_results_phone.png +++ /dev/null diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_check_mark_48dp.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_check_mark_48dp.png Binary files differnew file mode 100644 index 000000000..bfbe69e35 --- /dev/null +++ b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_check_mark_48dp.png diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_results_phone.png b/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_results_phone.png Binary files differdeleted file mode 100644 index 395652cdf..000000000 --- a/java/com/android/dialer/app/res/drawable-xxxhdpi/ic_results_phone.png +++ /dev/null diff --git a/java/com/android/dialer/app/res/drawable/ic_search_phone.xml b/java/com/android/dialer/app/res/drawable/ic_search_phone.xml deleted file mode 100644 index 5d449ee56..000000000 --- a/java/com/android/dialer/app/res/drawable/ic_search_phone.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2014 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. ---> - -<bitmap xmlns:android="http://schemas.android.com/apk/res/android" - android:src="@drawable/ic_results_phone" - android:tint="@color/search_shortcut_icon_color"/> diff --git a/java/com/android/dialer/app/res/drawable/ic_wifi_calling.xml b/java/com/android/dialer/app/res/drawable/ic_wifi_calling.xml new file mode 100644 index 000000000..968713376 --- /dev/null +++ b/java/com/android/dialer/app/res/drawable/ic_wifi_calling.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- 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. +--> + +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:tint="?attr/colorControlNormal" + android:viewportHeight="30" + android:viewportWidth="30" + android:width="24dp"> + <path + android:fillColor="@android:color/white" + android:pathData="M14.88,16.3h0L25,3.66a16.51,16.51 0,0 0,-20.3 0L14.88,16.3Z"/> + <path + android:fillColor="@android:color/white" + android:pathData="M26.42,18.88a1.25,1.25 0,0 0,-0.89 -0.36,1.28 1.28,0 0,0 -0.87,0.35 14.26,14.26 0,0 1,-3.32 2.31,1.24 1.24,0 0,0 -0.7,1.12v3.87a18.27,18.27 0,0 1,-5.75 0.91,18.63 18.63,0 0,1 -5.75,-0.9v-3.87a1.26,1.26 0,0 0,-0.7 -1.12,14.73 14.73,0 0,1 -3.34,-2.31 1.23,1.23 0,0 0,-0.87 -0.35,1.25 1.25,0 0,0 -0.89,0.36L0.24,22a1.24,1.24 0,0 0,-0.36 0.89,1.23 1.23,0 0,0 0.37,0.87 21.26,21.26 0,0 0,29.26 0,1.27 1.27,0 0,0 0,-1.77Z"/> +</vector>
\ No newline at end of file diff --git a/java/com/android/dialer/app/res/layout-land/empty_content_view_dialpad_search.xml b/java/com/android/dialer/app/res/layout-land/empty_content_view_dialpad_search.xml index 5f8068067..59d13636a 100644 --- a/java/com/android/dialer/app/res/layout-land/empty_content_view_dialpad_search.xml +++ b/java/com/android/dialer/app/res/layout-land/empty_content_view_dialpad_search.xml @@ -26,14 +26,14 @@ android:layout_height="0dp" android:layout_weight="1"/> <ImageView - android:id="@+id/emptyListViewImage" + android:id="@+id/empty_list_view_image" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:importantForAccessibility="no"/> <TextView - android:id="@+id/emptyListViewMessage" + android:id="@+id/empty_list_view_message" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="8dp" @@ -45,7 +45,7 @@ android:textSize="@dimen/empty_list_message_text_size"/> <TextView - android:id="@+id/emptyListViewAction" + android:id="@+id/empty_list_view_action" style="@style/TextActionStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/java/com/android/dialer/app/res/layout/action_mode_close_button.xml b/java/com/android/dialer/app/res/layout/action_mode_close_button.xml new file mode 100644 index 000000000..4cb85d458 --- /dev/null +++ b/java/com/android/dialer/app/res/layout/action_mode_close_button.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- 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. +--> + +<ImageView xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/action_mode_close_button" + style="?attr/actionModeCloseButtonStyle" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_marginEnd="16dip" + android:layout_marginRight="16dip" + android:paddingStart="8dp" + android:paddingLeft="8dp" + android:clickable="true" + android:contentDescription="@string/description_cancel_multi_select" + android:focusable="true" + android:src="@drawable/quantum_ic_close_white_24"/> + + diff --git a/java/com/android/dialer/app/res/layout/all_contacts_fragment.xml b/java/com/android/dialer/app/res/layout/all_contacts_fragment.xml index 17a45208d..422c52991 100644 --- a/java/com/android/dialer/app/res/layout/all_contacts_fragment.xml +++ b/java/com/android/dialer/app/res/layout/all_contacts_fragment.xml @@ -45,7 +45,7 @@ android:cropToPadding="false" android:clipToPadding="false"/> - <com.android.dialer.app.widget.EmptyContentView + <com.android.dialer.widget.EmptyContentView android:id="@+id/empty_list_view" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/java/com/android/dialer/app/res/layout/call_log_fragment.xml b/java/com/android/dialer/app/res/layout/call_log_fragment.xml index 64f7c10e6..8ed2d5b8a 100644 --- a/java/com/android/dialer/app/res/layout/call_log_fragment.xml +++ b/java/com/android/dialer/app/res/layout/call_log_fragment.xml @@ -37,7 +37,7 @@ android:background="@color/background_dialer_call_log" android:clipToPadding="false"/> - <com.android.dialer.app.widget.EmptyContentView + <com.android.dialer.widget.EmptyContentView android:id="@+id/empty_list_view" android:layout_width="match_parent" android:layout_height="0dp" diff --git a/java/com/android/dialer/app/res/layout/call_log_list_item.xml b/java/com/android/dialer/app/res/layout/call_log_list_item.xml index 0fbbb9dd1..4a3a83683 100644 --- a/java/com/android/dialer/app/res/layout/call_log_list_item.xml +++ b/java/com/android/dialer/app/res/layout/call_log_list_item.xml @@ -80,7 +80,7 @@ android:layout_width="@dimen/contact_photo_size" android:layout_height="@dimen/contact_photo_size" android:visibility="gone" - android:src="@drawable/quantum_ic_check_circle_googblue_24" /> + android:src="@drawable/ic_check_mark_48dp" /> </FrameLayout> diff --git a/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml b/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml index d3a553130..504638348 100644 --- a/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml +++ b/java/com/android/dialer/app/res/layout/call_log_list_item_actions.xml @@ -50,7 +50,7 @@ <TextView android:id="@+id/call_action_text" style="@style/CallLogActionTextStyle" - android:text="@string/description_call_log_call_action"/> + android:text="@string/call"/> <TextView android:id="@+id/call_type_or_location_text" @@ -135,7 +135,7 @@ <ImageView style="@style/CallLogActionIconStyle" - android:src="@drawable/ic_call_and_share"/> + android:src="@drawable/ic_phone_attach"/> <TextView style="@style/CallLogActionTextStyle" diff --git a/java/com/android/dialer/app/res/layout/dialpad_fragment.xml b/java/com/android/dialer/app/res/layout/dialpad_fragment.xml index dd6dab747..9b95e1fbf 100644 --- a/java/com/android/dialer/app/res/layout/dialpad_fragment.xml +++ b/java/com/android/dialer/app/res/layout/dialpad_fragment.xml @@ -21,42 +21,42 @@ android:orientation="horizontal"> <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="vertical"> + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> <!-- spacer view --> <View - android:id="@+id/spacer" - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1" - android:background="#00000000"/> + android:id="@+id/spacer" + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1" + android:background="#00000000"/> <!-- Dialpad shadow --> <View - android:layout_width="match_parent" - android:layout_height="@dimen/shadow_length" - android:background="@drawable/shadow_fade_up"/> + android:layout_width="match_parent" + android:layout_height="@dimen/shadow_length" + android:background="@drawable/shadow_fade_up"/> <include layout="@layout/dialpad_view"/> <!-- "Dialpad chooser" UI, shown only when the user brings up the Dialer while a call is already in progress. When this UI is visible, the other Dialer elements (the textfield/button and the dialpad) are hidden. --> <ListView - android:id="@+id/dialpadChooser" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@color/background_dialer_light" - android:visibility="gone"/> + android:id="@+id/dialpadChooser" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@color/background_dialer_light" + android:visibility="gone"/> </LinearLayout> <!-- Margin bottom and alignParentBottom don't work well together, so use a Space instead. --> <Space - android:id="@+id/dialpad_floating_action_button_margin_bottom" - android:layout_width="match_parent" - android:layout_height="@dimen/floating_action_button_margin_bottom" - android:layout_alignParentBottom="true"/> + android:id="@+id/dialpad_floating_action_button_margin_bottom" + android:layout_width="match_parent" + android:layout_height="@dimen/floating_action_button_margin_bottom" + android:layout_alignParentBottom="true"/> <android.support.design.widget.FloatingActionButton android:id="@+id/dialpad_floating_action_button" @@ -64,8 +64,9 @@ android:layout_height="@dimen/floating_action_button_height" android:layout_above="@id/dialpad_floating_action_button_margin_bottom" android:layout_centerHorizontal="true" - android:src="@drawable/quantum_ic_call_white_24" android:contentDescription="@string/description_dial_button" - app:elevation="@dimen/floating_action_button_translation_z" - app:backgroundTint="@color/dialpad_fab_green"/> + android:src="@drawable/quantum_ic_call_vd_theme_24" + app:backgroundTint="@color/dialpad_fab_green" + app:colorControlNormal="#ffffff" + app:elevation="@dimen/floating_action_button_translation_z"/> </view> diff --git a/java/com/android/dialer/app/res/layout/empty_content_view_dialpad_search.xml b/java/com/android/dialer/app/res/layout/empty_content_view_dialpad_search.xml index e245aaca0..1d2047982 100644 --- a/java/com/android/dialer/app/res/layout/empty_content_view_dialpad_search.xml +++ b/java/com/android/dialer/app/res/layout/empty_content_view_dialpad_search.xml @@ -16,7 +16,7 @@ <merge xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView - android:id="@+id/emptyListViewImage" + android:id="@+id/empty_list_view_image" android:layout_height="0dp" android:layout_weight="1" android:layout_width="match_parent" @@ -24,7 +24,7 @@ android:gravity="center_horizontal" /> <TextView - android:id="@+id/emptyListViewMessage" + android:id="@+id/empty_list_view_message" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal|top" @@ -36,7 +36,7 @@ android:paddingBottom="8dp"/> <TextView - android:id="@+id/emptyListViewAction" + android:id="@+id/empty_list_view_action" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" diff --git a/java/com/android/dialer/app/res/layout/lists_fragment.xml b/java/com/android/dialer/app/res/layout/lists_fragment.xml index 442b428f2..71867d705 100644 --- a/java/com/android/dialer/app/res/layout/lists_fragment.xml +++ b/java/com/android/dialer/app/res/layout/lists_fragment.xml @@ -15,41 +15,41 @@ --> <FrameLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/lists_frame" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:animateLayoutChanges="true"> - - <LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/lists_frame" android:layout_width="match_parent" android:layout_height="match_parent" - android:orientation="vertical"> + android:animateLayoutChanges="true"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> <!-- TODO: Apply background color to ActionBar instead of a FrameLayout. For now, this is the easiest way to preserve correct pane scrolling and searchbar collapse/expand behaviors. --> <FrameLayout - android:layout_width="match_parent" - android:layout_height="@dimen/action_bar_height_large" - android:background="@color/actionbar_background_color" - android:elevation="@dimen/tab_elevation"/> + android:layout_width="match_parent" + android:layout_height="@dimen/action_bar_height_large" + android:background="@color/actionbar_background_color" + android:elevation="@dimen/tab_elevation"/> <com.android.contacts.common.list.ViewPagerTabs - android:id="@+id/lists_pager_header" - style="@style/DialtactsActionBarTabTextStyle" - android:layout_width="match_parent" - android:layout_height="@dimen/tab_height" - android:layout_gravity="top" - android:elevation="@dimen/tab_elevation" - android:orientation="horizontal" - android:textAllCaps="true"/> - - <android.support.v4.view.ViewPager - android:id="@+id/lists_pager" - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1"/> + android:id="@+id/lists_pager_header" + style="@style/DialtactsActionBarTabTextStyle" + android:layout_width="match_parent" + android:layout_height="@dimen/tab_height" + android:layout_gravity="top" + android:elevation="@dimen/tab_elevation" + android:orientation="horizontal" + android:textAllCaps="true"/> + + <com.android.dialer.app.list.DialerViewPager + android:id="@+id/lists_pager" + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1"/> </LinearLayout> @@ -58,41 +58,80 @@ This is required since drag and drop event is only sent to views are visible when drag starts. --> <com.android.dialer.app.list.RemoveView - android:id="@+id/remove_view" - android:layout_width="match_parent" - android:layout_height="@dimen/tab_height" - android:layout_marginTop="@dimen/action_bar_height_large" - android:contentDescription="@string/remove_contact" - android:importantForAccessibility="no"> + android:id="@+id/remove_view" + android:layout_width="match_parent" + android:layout_height="@dimen/tab_height" + android:layout_marginTop="@dimen/action_bar_height_large" + android:contentDescription="@string/remove_contact" + android:importantForAccessibility="no"> <LinearLayout - android:id="@+id/remove_view_content" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@color/actionbar_background_color" - android:gravity="center" - android:orientation="horizontal" - android:visibility="gone"> + android:id="@+id/remove_view_content" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@color/actionbar_background_color" + android:gravity="center" + android:orientation="horizontal" + android:visibility="gone"> <ImageView - android:id="@+id/remove_view_icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="8dp" - android:layout_marginBottom="8dp" - android:src="@drawable/ic_remove" - android:tint="@color/remove_text_color"/> + android:id="@+id/remove_view_icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" + android:src="@drawable/ic_remove" + android:tint="@color/remove_text_color"/> <TextView - android:id="@+id/remove_view_text" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/remove_contact" - android:textColor="@color/remove_text_color" - android:textSize="@dimen/remove_text_size"/> + android:id="@+id/remove_view_text" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/remove_contact" + android:textColor="@color/remove_text_color" + android:textSize="@dimen/remove_text_size"/> </LinearLayout> </com.android.dialer.app.list.RemoveView> + <FrameLayout + android:id="@+id/multi_select_view" + android:layout_width="match_parent" + android:layout_height="@dimen/tab_height" + android:layout_marginTop="@dimen/action_bar_height_large" + android:contentDescription="@string/remove_contact" + android:importantForAccessibility="no"> + + <LinearLayout + android:id="@+id/multi_select_select_all_view_content" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_gravity="center" + android:background="@color/actionbar_background_color" + android:orientation="horizontal" + android:visibility="gone"> + + <ImageView + android:id="@+id/select_all_view_icon" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:paddingLeft="12dp" + android:gravity="center_vertical" + android:src="@drawable/ic_empty_check_mark_white_24dp"/> + <TextView + android:id="@+id/select_all_view_text" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:paddingLeft="30dp" + android:gravity="center_vertical" + android:text="@string/select_all" + android:textAllCaps="true" + android:textStyle="bold" + android:textColor="@color/remove_text_color" + android:textSize="@dimen/remove_text_size"/> + </LinearLayout> + + </FrameLayout> + </FrameLayout> diff --git a/java/com/android/dialer/app/res/layout/search_edittext.xml b/java/com/android/dialer/app/res/layout/search_edittext.xml index c02512d80..bb6a5f7de 100644 --- a/java/com/android/dialer/app/res/layout/search_edittext.xml +++ b/java/com/android/dialer/app/res/layout/search_edittext.xml @@ -29,7 +29,7 @@ android:padding="@dimen/search_box_search_icon_padding" android:importantForAccessibility="no" android:scaleType="center" - android:src="@drawable/quantum_ic_search_white_24" + android:src="@drawable/quantum_ic_search_vd_theme_24" android:tint="@color/searchbox_icon_tint"/> <TextView diff --git a/java/com/android/dialer/app/res/layout/speed_dial_fragment.xml b/java/com/android/dialer/app/res/layout/speed_dial_fragment.xml index c778c6bc4..3fa3be229 100644 --- a/java/com/android/dialer/app/res/layout/speed_dial_fragment.xml +++ b/java/com/android/dialer/app/res/layout/speed_dial_fragment.xml @@ -41,7 +41,7 @@ android:numColumns="@integer/contact_tile_column_count_in_favorites"/> </FrameLayout> - <com.android.dialer.app.widget.EmptyContentView + <com.android.dialer.widget.EmptyContentView android:id="@+id/empty_list_view" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/java/com/android/dialer/app/res/values-af/strings.xml b/java/com/android/dialer/app/res/values-af/strings.xml index 2eb462b1c..4f4c65b8a 100644 --- a/java/com/android/dialer/app/res/values-af/strings.xml +++ b/java/com/android/dialer/app/res/values-af/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Keer terug na oproep wat besig is"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Voeg oproep by"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Inkomende oproepe"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Gaan tans grootmaathandelingmodus in"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Het grootmaathandelingmodus verlaat"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Het <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> gekies"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Het <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ontkies"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Speel stemboodskap"</string> <string name="description_view_contact" msgid="3940984937384372665">"Bekyk kontak <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Bel <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Stemboodskap"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Kanselleer grootmaathandelingmodus"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"stemboodskap"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"stemboodskappe"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nee"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Vee geselekteerde <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> uit?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> gekies"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> om <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Laai tans van SIM-kaart af…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM-kaartkontakte"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Geen kontakte-program beskikbaar nie"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Stemsoektog is nie beskikbaar nie"</string> <string name="call_not_available" msgid="7850148370757361155">"Kan nie \'n foonoproep maak nie want die Foon-program is gedeaktiveer."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Deursoek kontakte"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nuwe gemiste oproepe"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Daar is nog niemand op jou spoedbel nie"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Voeg \'n gunsteling by"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Jy het nog nie enige kontakte nie"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Voeg \'n kontak by"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Raak aan prent om al die nommers te sien of raak en hou om te herorganiseer"</string> <string name="remove_contact" msgid="2353580570488923668">"Verwyder"</string> + <string name="select_all" msgid="408601760696146245">"Kies alles"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Video-oproep"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Stuur \'n boodskap"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Oproepbesonderhede"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Geblokkeerde nommers"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> is reeds geblokkeer."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Oproeprekeninge"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Skakel aan"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Stel toestemmings"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Skakel die kontaktetoestemming aan om spoedbel te aktiveer."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Skakel die foontoestemming aan om jou oproeprekord te sien."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Skakel die kontaktetoestemming aan om jou kontakte te sien."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Skakel die foontoestemming aan om na jou stemboodskapdiens te gaan."</string> <string name="permission_no_search" msgid="2424710404207193826">"Skakel die Kontakte-toestemmings aan om jou kontakte te deursoek."</string> <string name="permission_place_call" msgid="8686908130349369423">"Skakel die foontoestemming aan om \'n oproep te maak."</string> diff --git a/java/com/android/dialer/app/res/values-am/strings.xml b/java/com/android/dialer/app/res/values-am/strings.xml index 82303019c..7f4a622d7 100644 --- a/java/com/android/dialer/app/res/values-am/strings.xml +++ b/java/com/android/dialer/app/res/values-am/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"በመካሄድ ላይ ወዳለው ጥሪ ተመለስ"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"ጥሪ ያክሉ"</string> <string name="actionIncomingCall" msgid="891346596090030558">"ገቢ ጥሪዎች"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ወደ የጅምላ እርምጃ ሁነታ በመግባት ላይ"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ከጅምላ እርምጃ ሁነታ ለቀው ወጥተዋል"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ተመርጧል"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> አልተመረጠም"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"የድምፅ መልዕክት አጫውት"</string> <string name="description_view_contact" msgid="3940984937384372665">"ዕውቂያ <xliff:g id="NAME">%1$s</xliff:g> ዕይ"</string> <string name="description_call" msgid="1532402285334775372">"ጥሪ <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"የድምፅ መልዕክት"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ሰከንድ"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> ደቂቃ <xliff:g id="SECONDS">%s</xliff:g> ሴከ"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"የጅምላ እርምጃ ሁነታ ይቅር"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"የድምፅ መልዕክት"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"የድምፅ መልዕክቶች"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"አዎ"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"አይ"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"የተመረጠው <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ይሰረዝ?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ተመርጠዋል"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g> ላይ"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"ከSIM ካርድ ላይ በመጫን ላይ..."</string> <string name="simContacts_title" msgid="7961069730386378887">"የSIM ካርድ ዕውቂያዎች"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"ምንም የእውቂያዎች መተግበሪያ አይገኝም"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"የድምጽ ፍለጋ አይገኝም"</string> <string name="call_not_available" msgid="7850148370757361155">"የስልክ መተግበሪያው ስለተሰናከለ የስልክ ጥሪ ማድረግ አይቻልም።"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"ዕውቅያዎችን ፈልግ"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> አዲስ ያልተመለሱ ጥሪዎች"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"በፈጥኖ መደወያ ላይ ገና ማንም የለዎትም"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ተወዳጅ አክል"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"ገና ምንም እውቂያዎች የሉዎትም"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ዕውቂያ አክል"</string> <string name="contact_tooltip" msgid="8871614660967439999">"ሁሉንም ቁጥሮች ለማየት ምስል ይንኩ ወይም ዳግም ለመደርደር ነክተው ይያዙት"</string> <string name="remove_contact" msgid="2353580570488923668">"አስወግድ"</string> + <string name="select_all" msgid="408601760696146245">"ሁሉንም ምረጥ"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"የቪዲዮ ጥሪ"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"መልእክት ላክ"</string> <string name="call_log_action_details" msgid="2091370737371449501">"የጥሪ ዝርዝሮች"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"የታገዱ ቁጥሮች"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ቀድሞውኑ ታግዷል።"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"የመደወያ መለያዎች"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"አብራ"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"ፍቃዶችን አዋቅር"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"ፈጥኖ መደወያን ለማንቃት የእውቂያዎች ፍቃዱን ያብሩ።"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"የጥሪ ምዝግብ ማስታወአሽዎን ለማየት የስልክ ፍቃዱን ያብሩ።"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"የእርስዎን እውቂያዎች ለማየት የእውቂያዎች ፍቃዱን ያብሩ።"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"የድምፅ መልዕክትዎን ለመድረስ የስልክ ፍቃዱን ያብሩ።"</string> <string name="permission_no_search" msgid="2424710404207193826">"የእርስዎን እውቂያዎች ለመከታተል የእውቂያዎች ፍቃዶችን ያብሩ።"</string> <string name="permission_place_call" msgid="8686908130349369423">"ስልክ ለመደወል የስልክ ፍቃዱን ያብሩ።"</string> diff --git a/java/com/android/dialer/app/res/values-ar/strings.xml b/java/com/android/dialer/app/res/values-ar/strings.xml index e4dfb4d9e..3687d0bcb 100644 --- a/java/com/android/dialer/app/res/values-ar/strings.xml +++ b/java/com/android/dialer/app/res/values-ar/strings.xml @@ -89,6 +89,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"عودة إلى المكالمة الجارية"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"إضافة مكالمة"</string> <string name="actionIncomingCall" msgid="891346596090030558">"المكالمات الواردة"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"يتم الدخول إلى وضع الإجراء المجمَّع"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"تمت مغادرة وضع الإجراء المجمَّع"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"تم تحديد <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"تم إلغاء تحديد <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"تشغيل البريد الصوتي"</string> <string name="description_view_contact" msgid="3940984937384372665">"عرض جهة الاتصال <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"الاتصال بـ <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -103,11 +107,13 @@ <string name="voicemail" msgid="8899540969000957954">"البريد الصوتي"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ثانية"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> دقيقة <xliff:g id="SECONDS">%s</xliff:g> ثانية"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"إلغاء وضع الإجراءات المجمَّع"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"البريد الصوتي"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"رسائل البريد الصوتي"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"نعم"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"لا"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"حذف رسائل <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> المحددة؟"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"تم تحديد <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> في <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -120,7 +126,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"جارٍ التحميل من شريحة SIM…"</string> <string name="simContacts_title" msgid="7961069730386378887">"شريحة SIM وجهات الاتصال"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"لا يتوفر تطبيق لجهات الاتصال"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"البحث الصوتي غير متاح"</string> <string name="call_not_available" msgid="7850148370757361155">"يتعذر إجراء مكالمة هاتفية نظرًا لأنه تم تعطيل تطبيق الهاتف."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"البحث في جهات الاتصال"</string> @@ -149,10 +154,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> من المكالمات الجديدة الفائتة"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"لم تتم إضافة أية جهة اتصال إلى قائمة الاتصال السريع حتى الآن"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"إضافة مفضلة"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"ليست لديك أية جهات اتصال حتى الآن"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"إضافة جهة اتصال"</string> <string name="contact_tooltip" msgid="8871614660967439999">"المس الصورة للاطلاع على جميع الأرقام أو المس مع الاستمرار لإعادة الترتيب"</string> <string name="remove_contact" msgid="2353580570488923668">"إزالة"</string> + <string name="select_all" msgid="408601760696146245">"تحديد الكل"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"مكالمة فيديو"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"إرسال رسالة"</string> <string name="call_log_action_details" msgid="2091370737371449501">"تفاصيل المكالمة"</string> @@ -221,11 +225,9 @@ <string name="block_list" msgid="4701585783411870782">"الأرقام المحظورة"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"تم حظر <xliff:g id="NUMBER">%1$s</xliff:g>."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"حسابات الاتصال"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"تشغيل"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"تعيين الأذونات"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"لتمكين الاتصال السريع، شغِّل إذن جهات الاتصال."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"للاطلاع على سجل المكالمات، شغِّل إذن الهاتف."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"للاطلاع على جهات الاتصال، شغِّل إذن جهات الاتصال."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"للوصول إلى البريد الصوتي، شغِّل إذن الهاتف."</string> <string name="permission_no_search" msgid="2424710404207193826">"للبحث عن جهات الاتصال، عليك تشغيل أذونات جهات الاتصال."</string> <string name="permission_place_call" msgid="8686908130349369423">"لإجراء مكالمة، شغِّل إذن الهاتف."</string> diff --git a/java/com/android/dialer/app/res/values-az/strings.xml b/java/com/android/dialer/app/res/values-az/strings.xml index 62bc117ba..b6681c9e2 100644 --- a/java/com/android/dialer/app/res/values-az/strings.xml +++ b/java/com/android/dialer/app/res/values-az/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Davam edən zəngə qayıdın"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Zəng əlavə edin"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Gələn zənglər"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Toplu əməliyyat rejiminə daxil olunur"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Toplu əməliyyat rejimi tərk edilir"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> seçildi"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> seçilmədi"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Səsli məktubu oxudun"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> adlı kontakta baxın"</string> <string name="description_call" msgid="1532402285334775372">"Zəng <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Səsli poçt"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> san"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> dəq <xliff:g id="SECONDS">%s</xliff:g> san"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Qrup əməliyyatları rejimini ləğv edin"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"səsli e-məktub"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"səsli e-məktublar"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Bəli"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Xeyr"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Seçilmiş <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> silinsin?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> seçilib"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> tarixində <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM kartdan yüklənir..."</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM kart kontaktları"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Əlaqələr proqramı mövcud deyil"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Səsli axtarış mövcud deyil"</string> <string name="call_not_available" msgid="7850148370757361155">"Telefon tətbiqi deaktiv edildiyinə görə telefon zəngi etmək mümkün deyil."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Kontakt axtarın"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> yeni buraxılmış zəng"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Hələ sürətli zəng siyahınızda hec kim yoxdur"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Sevimlilərə əlavə edin"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Hələ heç bir kontaktınız yoxdur"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Kontakt əlavə edin"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Bütün nömrələri görmək üçün təsvirə toxunun və ya yenidən qaydaya salmaq üçün basıb saxlayın"</string> <string name="remove_contact" msgid="2353580570488923668">"Yığışdır"</string> + <string name="select_all" msgid="408601760696146245">"Hamısını seçin"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Video zəng"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Mesaj göndərin"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Zəng detalları"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Bloklanmış nömrələr"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> artıq bloklanıb."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Hesabların çağrılması"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktiv edin"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"İcazələri quraşdırın"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Sürətli yığımı aktivləşdirmək üçün, Kontakt icazələrini aktivləşdirin."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Çağrı jurnalınızı görmək üçün Telefon icazəsini aktivləşdirin."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Kontaktlarınızı görmək üçün Kontakt icazəsini aktivləşdirin."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Səsli poçta daxil olmaq üçün, Telefon icazəsini aktivləşdirin."</string> <string name="permission_no_search" msgid="2424710404207193826">"Kontaktlarınızı axtarmaq üçün, Kontakt icazələrini aktiv edin."</string> <string name="permission_place_call" msgid="8686908130349369423">"Zəng etmək üçün, Telefon icazəsini aktivləşdirin."</string> diff --git a/java/com/android/dialer/app/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/app/res/values-b+sr+Latn/strings.xml index 9df729108..40c0886c8 100644 --- a/java/com/android/dialer/app/res/values-b+sr+Latn/strings.xml +++ b/java/com/android/dialer/app/res/values-b+sr+Latn/strings.xml @@ -86,6 +86,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Vrati se na poziv koji je u toku"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Dodaj poziv"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Dolazni pozivi"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Ulazite u režim grupnih radnji"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Izašli ste iz režima grupnih radnji"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Izabrano je <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Opozvan je izbor <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Puštanje govorne pošte"</string> <string name="description_view_contact" msgid="3940984937384372665">"Prikaži kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Pozovi <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -100,11 +104,13 @@ <string name="voicemail" msgid="8899540969000957954">"Govorna pošta"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Otkažite režim grupnih radnji"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"govornu poruku"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"govorne poruke"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Da"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Želite li da izbrišete izabranu(e) <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Izabranih: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> u <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -117,7 +123,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Učitava se sa SIM kartice…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakti na SIM kartici"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nema dostupne aplikacije za kontakte"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Glasovna pretraga nije dostupna"</string> <string name="call_not_available" msgid="7850148370757361155">"Nije moguće uputiti telefonski poziv jer je aplikacija Telefon onemogućena."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Pretraži kontakte"</string> @@ -146,10 +151,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Novih propuštenih poziva: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Nemate nijedan kontakt na brzom biranju"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodaj omiljen kontakt"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Još uvek nemate nijedan kontakt"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Dodaj kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Dodirnite sliku da biste videli sve brojeve ili dodirnite i zadržite da biste im promenili raspored"</string> <string name="remove_contact" msgid="2353580570488923668">"Ukloni"</string> + <string name="select_all" msgid="408601760696146245">"Izaberi sve"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Video poziv"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Pošalji poruku"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detalji poziva"</string> @@ -215,11 +219,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokirani brojevi"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> je već blokiran."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Nalozi za pozivanje"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Uključi"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Podesi dozvole"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Da biste omogućili brzo biranje, uključite dozvolu za Kontakte."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Da biste videli evidenciju poziva, uključite dozvolu za Telefon."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Da biste videli kontakte, uključite dozvolu za Kontakte."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Da biste pristupili govornoj pošti, uključite dozvolu za Telefon."</string> <string name="permission_no_search" msgid="2424710404207193826">"Da biste pretražili kontakte, uključite dozvole za Kontakte."</string> <string name="permission_place_call" msgid="8686908130349369423">"Da biste uputili poziv, uključite dozvolu za Telefon."</string> diff --git a/java/com/android/dialer/app/res/values-be/strings.xml b/java/com/android/dialer/app/res/values-be/strings.xml index aac3df2bd..f2ad3342b 100644 --- a/java/com/android/dialer/app/res/values-be/strings.xml +++ b/java/com/android/dialer/app/res/values-be/strings.xml @@ -87,6 +87,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Звярнуцца да бягучага выкліку"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Дадаць выклік"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Уваходныя выклікі"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Уваход у рэжым групавога дзеяння"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Выхад з рэжыму групавога дзеяння"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Выбрана: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Выбар скасаваны: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Прайграць паведамленне галасавой пошты"</string> <string name="description_view_contact" msgid="3940984937384372665">"Прагледзець кантакт <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Выклікаць карыстальнiка <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -101,11 +105,13 @@ <string name="voicemail" msgid="8899540969000957954">"Галасавая пошта"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> с"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> хв <xliff:g id="SECONDS">%s</xliff:g> с"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Скасаваць рэжым пакетных дзеянняў"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"галасавая пошта"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"галасавая пошта"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Так"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Не"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Выдаліць вылучанае: <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Выбрана: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> у <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -118,7 +124,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Загрузка з SIM-карты..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Кантакты SIM-карты"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Праграмы для аперацый з кантактамі няма"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Галасавы пошук недаступны"</string> <string name="call_not_available" msgid="7850148370757361155">"Немагчыма зрабіць выклік па тэлефоне, таму што праграма Тэлефон была адключана."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Пошук кантактаў"</string> @@ -147,10 +152,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Новых прапушчаных выклікаў: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"У вас пакуль нікога няма на хуткім наборы"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Дадаць улюбёны"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"У вас пакуль няма ніякіх кантактаў"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Дадаць кантакт"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Дакраніцеся да відарыса, каб прагледзець усе нумары, або дакраніцеся і ўтрымлівайце, каб змяніць парадак"</string> <string name="remove_contact" msgid="2353580570488923668">"Выдаліць"</string> + <string name="select_all" msgid="408601760696146245">"Выбраць усё"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Відэавыклік"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Адправiць паведамленне"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Падрабязнасці выкліку"</string> @@ -217,11 +221,9 @@ <string name="block_list" msgid="4701585783411870782">"Заблакіраваныя нумары"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ужо заблакіраваны."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Уліковыя запісы для выклікаў"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Уключыць"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Задаць дазволы"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Каб уключыць хуткі набор, уключыце дазвол для Кантактаў."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Каб прагледзець свой журнал выклікаў, уключыце дазволы Тэлефона."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Каб бачыць свае кантакты, уключыце дазвол для Кантактаў."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Каб атрымаць доступ да галасавой пошты, уключыце дазвол для Тэлефона."</string> <string name="permission_no_search" msgid="2424710404207193826">"Каб шукаць свае кантакты, уключыце дазвол для Кантактаў."</string> <string name="permission_place_call" msgid="8686908130349369423">"Каб зрабіць выклік, уключыце дазвол для Тэлефона."</string> diff --git a/java/com/android/dialer/app/res/values-bg/strings.xml b/java/com/android/dialer/app/res/values-bg/strings.xml index 7bab71f3b..8083f4828 100644 --- a/java/com/android/dialer/app/res/values-bg/strings.xml +++ b/java/com/android/dialer/app/res/values-bg/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Назад към текущото обаждане"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Добавяне на обаждане"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Вх. обаждания"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Влизате в режима на групови действия"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Излязохте от режима на групови действия"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Избрахте <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Премахнахте избора от <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Пускане на гласовата поща"</string> <string name="description_view_contact" msgid="3940984937384372665">"Преглед на контактa <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Обаждане на <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Гласова поща"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мин <xliff:g id="SECONDS">%s</xliff:g> сек"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Анулиране на режима на групови действия"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"гласово съобщение"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"гласови съобщения"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Да"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Не"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Избрахте <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> – да се изтрие ли избраното?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Избрахте <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> в <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Зарежда се от SIM карта..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Контакти от SIM карта"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Няма налично приложение за контакти"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Гласовото търсене не е налице"</string> <string name="call_not_available" msgid="7850148370757361155">"Не може да се осъществи телефонно обаждане, защото приложението Телефон е деактивирано."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Търсене в контактите"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> нови пропуснати обаждания"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Още нямате контакти за бързо набиране"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Добавяне на любим контакт"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Още нямате контакти"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Добавяне на контакт"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Докоснете изображението, за да видите всички номера, или го натиснете и задръжте за пренареждане"</string> <string name="remove_contact" msgid="2353580570488923668">"Премахване"</string> + <string name="select_all" msgid="408601760696146245">"Избиране на всички"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Видеообаждане"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Изпращане на съобщение"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Подробности за обаждането"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Блокирани номера"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Номер <xliff:g id="NUMBER">%1$s</xliff:g> вече е блокиран."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Профили за обаждане"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Включване"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Задаване на разрешенията"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"За да активирате бързото набиране, включете разрешението за Контакти."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"За да видите списъка с обажданията си, включете разрешението за Телефон."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"За да видите контактите си, включете разрешението за Контакти."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"За да осъществите достъп до гласовата си поща, включете разрешението за Телефон."</string> <string name="permission_no_search" msgid="2424710404207193826">"За да търсите в контактите си, включете разрешенията за тях."</string> <string name="permission_place_call" msgid="8686908130349369423">"За да извършите обаждане, включете разрешението за Телефон."</string> diff --git a/java/com/android/dialer/app/res/values-bn/strings.xml b/java/com/android/dialer/app/res/values-bn/strings.xml index 271247be3..4d2d7cc1e 100644 --- a/java/com/android/dialer/app/res/values-bn/strings.xml +++ b/java/com/android/dialer/app/res/values-bn/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"প্রগতিতে থাকা কলে প্রত্যাবর্তন"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"কল যোগ করুন"</string> <string name="actionIncomingCall" msgid="891346596090030558">"ইনকামিং কলগুলি"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"বাল্ক অ্যাকশন মোডে প্রবেশ করা হচ্ছে"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"বাল্ক অ্যাকশন মোড ত্যাগ করুন"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> নির্বাচন করা হয়েছে"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> অনির্বাচন করা হয়েছে"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"ভয়েসমেল প্লে করুন"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> পরিচিতি দেখুন"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> কে কল করুন"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"ভয়েসমেল"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> সেকেন্ড"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> মিনিট <xliff:g id="SECONDS">%s</xliff:g> সেকেন্ড"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"ব্যাচ অ্যাকশন মোড বাতিল করুন"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ভয়েসমেল"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ভয়েসমেলগুলি"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"হ্যাঁ"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"না"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"নির্বাচিত <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> মুছে ফেলতে চান?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g>টি নির্বাচিত"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> তারিখে <xliff:g id="TIME">%2$s</xliff:g>\'টায়"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"সিম কার্ড থেকে লোড করা হচ্ছে…"</string> <string name="simContacts_title" msgid="7961069730386378887">"সিম কার্ডের পরিচিতিগুলি"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"কোনো পরিচিতি অ্যাপ্লিকেশান উপলব্ধ নয়"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"ভয়েস অনুসন্ধান অনুপলব্ধ"</string> <string name="call_not_available" msgid="7850148370757361155">"কোনো ফোন কল করা যাবে না কারণ ফোন অ্যাপ্লিকেশানটি অক্ষম করা হয়েছে৷"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"পরিচিতিগুলি খুঁজুন"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g>টি নতুন মিসড কল"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"আপনার স্পীড ডায়ালে এখনও পর্যন্ত কেউ নেই"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"একটি পছন্দসই যোগ করুন"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"আপনার এখনও পর্যন্ত কোনো পরিচিতি নেই"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"একটি পরিচিতি যোগ করুন"</string> <string name="contact_tooltip" msgid="8871614660967439999">"সমস্ত নম্বর দেখতে ছবিতে স্পর্শ করুন বা রেকর্ড করতে স্পর্শ করে ধরে রাখুন"</string> <string name="remove_contact" msgid="2353580570488923668">"সরান"</string> + <string name="select_all" msgid="408601760696146245">"সবগুলি নির্বাচন করুন"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"ভিডিও কল"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"একটি বার্তা পাঠান"</string> <string name="call_log_action_details" msgid="2091370737371449501">"কলের বিশদ বিবরণ"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"ব্লক করা নাম্বারগুলি"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ইতিমধ্যেই অববোধ করা রয়েছে৷"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"কলিং অ্যাকাউন্টগুলি"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"চালু করুন"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"অনুমতিগুলি সেট করুন"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"স্পীড ডায়াল সক্ষম করতে, পরিচিতিগুলির অনুমতি চালু করুন।"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"আপনার কল লগ দেখতে, ফোনের অনুমতি চালু করুন।"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"আপনার পরিচিতিগুলি দেখতে, পরিচিতিগুলির অনুমতি চালু করুন।"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"আপনার ভয়েসমেল অ্যাক্সেস করতে, ফোনের অনুমতি চালু করুন।"</string> <string name="permission_no_search" msgid="2424710404207193826">"আপনার পরিচিতিগুলি অনুসন্ধান করতে, পরিচিতির অনুমতিগুলি চালু করুন।"</string> <string name="permission_place_call" msgid="8686908130349369423">"একটি কল করতে, ফোনের অনুমতি চালু করুন।"</string> diff --git a/java/com/android/dialer/app/res/values-bs/strings.xml b/java/com/android/dialer/app/res/values-bs/strings.xml index 92c9c14e0..d8347723d 100644 --- a/java/com/android/dialer/app/res/values-bs/strings.xml +++ b/java/com/android/dialer/app/res/values-bs/strings.xml @@ -86,6 +86,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Povratak na poziv u toku"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Dodaj poziv"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Dolazni pozivi"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Ulazak u način rada za skupnu radnju"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Napuštanje načina rada za skupnu radnju"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Odabrano <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Poništen odabir <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Pokretanje govorne pošte"</string> <string name="description_view_contact" msgid="3940984937384372665">"Prikaži kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Pozovi kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -100,11 +104,13 @@ <string name="voicemail" msgid="8899540969000957954">"Govorna pošta"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Otkaži način rada za grupnu radnju"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"poruka govorne pošte"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"poruke govorne pošte"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Da"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Izbrisati izabranu/e <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Odabrano <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> u <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -117,7 +123,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Učitavanje sa SIM kartice…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakti sa SIM kartice"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nije dostupna nijedna aplikacija za kontakte"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Glasovna pretraga nije dostupna"</string> <string name="call_not_available" msgid="7850148370757361155">"Nije moguće uputiti poziv jer je aplikacija Telefon onemogućena."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Traži kontakte"</string> @@ -146,10 +151,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Broj novih propuštenih poziva: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Nemate nikog na brzom biranju"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodaj u favorite"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Još nemate nijedan kontakt"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Dodaj kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Dodirnite sliku da vidite sve brojeve ili dodirnite i držite da promijenite raspored."</string> <string name="remove_contact" msgid="2353580570488923668">"Ukloni"</string> + <string name="select_all" msgid="408601760696146245">"Izaberi sve"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videopoziv"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Pošalji poruku"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detalji o pozivu"</string> @@ -215,11 +219,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokirani brojevi"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> je već blokiran."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Računi za pozivanje"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Uključi"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Postavi dozvole"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Da omogućite brzo biranje, uključite dozvolu za Kontakte."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Da vidite popis poziva, uključite dozvolu za Telefon."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Da vidite kontakte, uključite dozvolu za Kontakte."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Da pristupite govornoj pošti,uključite dozvolu za telefon."</string> <string name="permission_no_search" msgid="2424710404207193826">"Da pretražujete kontakte, uključite dozvole za Kontakte."</string> <string name="permission_place_call" msgid="8686908130349369423">"Da uputite poziv, uključite dozvolu za Telefon."</string> diff --git a/java/com/android/dialer/app/res/values-ca/strings.xml b/java/com/android/dialer/app/res/values-ca/strings.xml index fa04dd980..7b12e0dbd 100644 --- a/java/com/android/dialer/app/res/values-ca/strings.xml +++ b/java/com/android/dialer/app/res/values-ca/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Torna a la trucada en curs"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Afegeix una trucada"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Trucades entrants"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"S\'està accedint al mode d\'acció massiva"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"S\'ha sortit del mode d\'acció massiva"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"S\'ha seleccionat <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"S\'ha desseleccionat <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Reprodueix el missatge de veu"</string> <string name="description_view_contact" msgid="3940984937384372665">"Visualitza el contacte <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Truca a <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Bústia de veu"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancel·la el mode d\'accions en lot"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"missatge de veu"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"missatges de veu"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sí"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Vols suprimir l\'element o elements seleccionats (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>)?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> seleccionades"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> a les <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"S\'està carregant des de la targeta SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Contactes de la targeta SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"No hi ha cap contacte disponible."</string> <string name="voice_search_not_available" msgid="6546240433719732905">"La cerca per veu no està disponible."</string> <string name="call_not_available" msgid="7850148370757361155">"No es pot fer una trucada telefònica perquè s\'ha desactivat l\'aplicació de telèfon."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Cerca als contactes"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> trucades perdudes noves"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Encara no tens cap contacte al marcatge ràpid"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Afegeix un preferit"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Encara no tens cap contacte"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Afegeix un contacte"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Toca la imatge per veure\'n tots els números o bé mantén-la premuda per canviar-ne l\'ordre"</string> <string name="remove_contact" msgid="2353580570488923668">"Suprimeix"</string> + <string name="select_all" msgid="408601760696146245">"Selecciona-ho tot"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videotrucada"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Envia un missatge"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detalls de la trucada"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Números bloquejats"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ja està bloquejat."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Comptes de trucades"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Activa"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Defineix els permisos"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Activa el permís Contactes per activar el marcatge ràpid."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Activa el permís Telèfon per veure el teu registre de trucades."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Activa el permís Contactes per veure els teus contactes."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Activa el permís Telèfon per accedir a la bústia de veu."</string> <string name="permission_no_search" msgid="2424710404207193826">"Per cercar els teus contactes, activa els permisos de Contactes."</string> <string name="permission_place_call" msgid="8686908130349369423">"Activa el permís Telèfon per fer una trucada."</string> diff --git a/java/com/android/dialer/app/res/values-cs/strings.xml b/java/com/android/dialer/app/res/values-cs/strings.xml index 5a3e42913..bbcb35847 100644 --- a/java/com/android/dialer/app/res/values-cs/strings.xml +++ b/java/com/android/dialer/app/res/values-cs/strings.xml @@ -87,6 +87,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Návrat k probíhajícímu hovoru"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Přidat hovor"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Příchozí volání"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Vstupování do režimu hromadných akcí"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Opustili jste režim hromadných akcí"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Položka <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> je vybrána"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Položka <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> není vybrána"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Přehrát hlasovou schránku"</string> <string name="description_view_contact" msgid="3940984937384372665">"Zobrazit kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Volat kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -101,11 +105,13 @@ <string name="voicemail" msgid="8899540969000957954">"Hlasová schránka"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Zrušit režim hromadných akcí"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"vybranou hlasovou zprávu"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"vybrané hlasové zprávy"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ano"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Smazat <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Vybráno: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> v <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -118,7 +124,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Načítání ze SIM karty..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakty na SIM kartě"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Není k dispozici žádná aplikace pro práci s kontakty."</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Hlasové vyhledávání není k dispozici."</string> <string name="call_not_available" msgid="7850148370757361155">"Telefonický hovor nelze uskutečnit, protože aplikace Telefon byla zakázána."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Vyhledat kontakty"</string> @@ -147,10 +152,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Nové zmeškané hovory: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"V rychlém vytáčení zatím nemáte žádný kontakt."</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Přidat oblíbený kontakt"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Zatím nemáte žádné kontakty"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Přidat kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Klepnutím na obrázek zobrazíte všechna čísla. Podržením můžete změnit pořadí."</string> <string name="remove_contact" msgid="2353580570488923668">"Odstranit"</string> + <string name="select_all" msgid="408601760696146245">"Vybrat všechny"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videohovor"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Odeslat zprávu"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Podrobnosti hovoru"</string> @@ -217,11 +221,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokovaná čísla"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Číslo <xliff:g id="NUMBER">%1$s</xliff:g> je již blokováno."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Účty pro volání"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Zapnout"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Nastavit oprávnění"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Chcete-li povolit rychlé vytáčení, aktivujte oprávnění Kontakty."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Chcete-li zobrazit seznam hovorů, aktivujte oprávnění Telefon."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Chcete-li zobrazit kontakty, aktivujte oprávnění Kontakty."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Chcete-li přejít do hlasové schránky, aktivujte oprávnění Telefon."</string> <string name="permission_no_search" msgid="2424710404207193826">"Chcete-li vyhledat kontakty, zapněte oprávnění Kontakty."</string> <string name="permission_place_call" msgid="8686908130349369423">"Chcete-li uskutečnit hovor, aktivujte oprávnění Telefon."</string> diff --git a/java/com/android/dialer/app/res/values-da/strings.xml b/java/com/android/dialer/app/res/values-da/strings.xml index 42aa66378..31cf8e33d 100644 --- a/java/com/android/dialer/app/res/values-da/strings.xml +++ b/java/com/android/dialer/app/res/values-da/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Vend tilbage til igangværende opkald"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Tilføj opkald"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Indgående opkald"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Massehandlingstilstanden startes"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Massehandlingstilstanden blev afsluttet"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Vælg <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Fravælg <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Afspil telefonsvarerbesked"</string> <string name="description_view_contact" msgid="3940984937384372665">"Vis kontaktpersonen <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Ring til <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Telefonsvarer"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Annuller massehandlingstilstand"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"talebesked"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"talebeskeder"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nej"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Vil du slette de valgte <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> er valgt"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kl. <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Indlæser fra SIM-kort ..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakter på SIM-kort"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Der er ingen app til kontaktpersoner"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Talesøgning er ikke tilgængelig"</string> <string name="call_not_available" msgid="7850148370757361155">"Det er ikke muligt at foretage et telefonopkald, fordi applikationen Telefon er deaktiveret."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Søg i kontakter"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nye ubesvarede opkald"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Der er endnu ingen kontaktpersoner i Hurtigopkald"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Angiv en kontaktperson som foretrukken"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Du har endnu ikke nogen kontaktpersoner"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Tilføj en kontaktperson"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Tryk på billedet for at se alle numre, eller tryk og hold nede på billedet for at omarrangere"</string> <string name="remove_contact" msgid="2353580570488923668">"Fjern"</string> + <string name="select_all" msgid="408601760696146245">"Vælg alt"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videoopkald"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Send en sms-besked"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Opkaldsinfo"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokerede telefonnumre"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> er allerede blokeret."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Opkaldskonti"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktivér"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Angiv tilladelser"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Slå tilladelsen Kontaktpersoner til for at aktivere hurtigopkald."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Slå tilladelsen Telefon til for at se din opkaldsliste."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Slå tilladelsen Kontaktpersoner til for at se dine kontaktpersoner."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Slå tilladelsen Telefon til for at få adgang til din telefonsvarer,"</string> <string name="permission_no_search" msgid="2424710404207193826">"Hvis du vil søge i dine kontaktpersoner, skal du slå tilladelserne Kontaktpersoner til."</string> <string name="permission_place_call" msgid="8686908130349369423">"Slå tilladelsen Telefon til for at foretage et opkald."</string> diff --git a/java/com/android/dialer/app/res/values-de/strings.xml b/java/com/android/dialer/app/res/values-de/strings.xml index 5653e0f12..c1f644119 100644 --- a/java/com/android/dialer/app/res/values-de/strings.xml +++ b/java/com/android/dialer/app/res/values-de/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Zurück zum aktuellen Anruf"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Anruf hinzufügen"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Eingehende Anrufe"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Es wird in den Modus für Bulk-Aktionen gewechselt"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Der Modus für Bulk-Aktionen wurde verlassen"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ausgewählt"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Auswahl für <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> aufgehoben"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Mailbox abhören"</string> <string name="description_view_contact" msgid="3940984937384372665">"Kontakt <xliff:g id="NAME">%1$s</xliff:g> anzeigen"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> anrufen"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Mailbox"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Modus für Batch-Aktionen abbrechen"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"Mailboxnachricht"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"Mailboxnachrichten"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nein"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Ausgewählte <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> löschen?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ausgewählt"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> um <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Ladevorgang von SIM-Karte läuft..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakte auf SIM-Karte"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Keine Kontakte-App verfügbar"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Sprachsuche nicht verfügbar"</string> <string name="call_not_available" msgid="7850148370757361155">"Es kann kein Anruf getätigt werden, da die App \"Telefon\" deaktiviert wurde."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"In Kontakten suchen"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> neue entgangene Anrufe"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Du hast für noch niemanden eine Kurzwahl festgelegt"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Favoriten hinzufügen"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Du hast noch keine Kontakte."</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Kontakt hinzufügen"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Tippe auf das Bild, um alle Nummern zu sehen, oder halte das Bild länger gedrückt, um sie neu anzuordnen"</string> <string name="remove_contact" msgid="2353580570488923668">"Entfernen"</string> + <string name="select_all" msgid="408601760696146245">"Alle auswählen"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videoanruf"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"SMS senden"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Anrufdetails"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Blockierte Nummern"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ist bereits blockiert."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Anrufkonten"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktivieren"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Berechtigungen festlegen"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Aktiviere die Berechtigung \"Kontakte\", um die Kurzwahlfunktion zu verwenden."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Aktiviere die Berechtigung \"Telefon\", um dein Anrufprotokoll abzurufen."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Aktiviere die Berechtigung \"Kontakte\", um deine Kontakte abzurufen."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Aktiviere die Berechtigung \"Telefon\", um auf deine Mailbox zuzugreifen."</string> <string name="permission_no_search" msgid="2424710404207193826">"Aktiviere die Berechtigungen \"Kontakte\", um deine Kontakte zu suchen."</string> <string name="permission_place_call" msgid="8686908130349369423">"Aktiviere die Berechtigung \"Telefon\", um einen Anruf zu tätigen."</string> diff --git a/java/com/android/dialer/app/res/values-el/strings.xml b/java/com/android/dialer/app/res/values-el/strings.xml index 847f60a26..c4ba02d0f 100644 --- a/java/com/android/dialer/app/res/values-el/strings.xml +++ b/java/com/android/dialer/app/res/values-el/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Επιστροφή στην κλήση που βρίσκεται σε εξέλιξη"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Προσθήκη κλήσης"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Εισερχόμενες κλήσεις"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Εισαγωγή στη λειτουργία μαζικών ενεργειών"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Αποχώρηση από τη λειτουργία μαζικών ενεργειών"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Έγινε επιλογή <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Καταργήθηκε η επιλογή <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Αναπαραγωγή μηνύματος αυτόματου τηλεφωνητή"</string> <string name="description_view_contact" msgid="3940984937384372665">"Προβολή επαφής <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Κλήση <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Αυτόματος τηλεφωνητής"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> δευτερόλεπτα"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> λεπτά <xliff:g id="SECONDS">%s</xliff:g> δευτερόλεπτα"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Ακύρωση λειτουργίας μαζικών ενεργειών"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"φωνητικού μηνύματος αυτόματου τηλεφωνητή"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"φωνητικών μηνυμάτων αυτόματου τηλεφωνητή"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ναι"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Όχι"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Διαγραφή επιλεγμ. <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>;"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Έχουν επιλεγεί <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> στις <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Φόρτωση από κάρτα SIM…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Επαφές στην κάρτα SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Δεν υπάρχουν διαθέσιμες εφαρμογές επαφών"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Η φωνητική αναζήτηση δεν είναι διαθέσιμη"</string> <string name="call_not_available" msgid="7850148370757361155">"Δεν είναι δυνατή η πραγματοποίηση τηλεφωνικής κλήσης επειδή η εφαρμογή \"Τηλέφωνο\" έχει απενεργοποιηθεί."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Αναζήτηση επαφών"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> νέες αναπάντητες κλήσεις"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Δεν έχετε ορίσει ακόμη κάποια επαφή στις ταχείες κλήσεις"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Προσθέστε ένα αγαπημένο"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Δεν έχετε επαφές ακόμη"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Προσθήκη επαφής"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Αγγίξτε την εικόνα για να δείτε όλους τους αριθμούς ή αγγίξτε παρατεταμένα για αναδιάταξη"</string> <string name="remove_contact" msgid="2353580570488923668">"Κατάργηση"</string> + <string name="select_all" msgid="408601760696146245">"Επιλογή όλων"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Βιντεοκλήση"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Αποστολή μηνύματος"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Λεπτομέρειες κλήσης"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Αποκλεισμένοι αριθμοί"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Ο αριθμός <xliff:g id="NUMBER">%1$s</xliff:g> αποκλείστηκε ήδη."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Λογαριασμοί κλήσης"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Ενεργοποίηση"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Ορισμός αδειών"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Για να ενεργοποιήσετε την ταχεία κλήση, ενεργοποιήστε την άδεια επαφών."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Για να δείτε το αρχείο καταγραφής κλήσεών σας, ενεργοποιήστε την άδεια τηλεφώνου."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Για να δείτε τις επαφές σας, ενεργοποιήστε την άδεια επαφών."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Για να αποκτήσετε πρόσβαση στον τηλεφωνητή σας, ενεργοποιήστε την άδεια τηλεφώνου."</string> <string name="permission_no_search" msgid="2424710404207193826">"Για να κάνετε αναζήτηση στις επαφές σας, ενεργοποιήστε τις άδειες \"Επαφές\"."</string> <string name="permission_place_call" msgid="8686908130349369423">"Για να πραγματοποιήσετε μια κλήση, ενεργοποιήστε την άδεια τηλεφώνου."</string> diff --git a/java/com/android/dialer/app/res/values-en-rAU/strings.xml b/java/com/android/dialer/app/res/values-en-rAU/strings.xml index 28eea8b4d..cb7e912c7 100644 --- a/java/com/android/dialer/app/res/values-en-rAU/strings.xml +++ b/java/com/android/dialer/app/res/values-en-rAU/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Return to call in progress"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Add call"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Incoming calls"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entering bulk action mode"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Left bulk action mode"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Selected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Unselected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Play voicemail"</string> <string name="description_view_contact" msgid="3940984937384372665">"View contact <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Call <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Voicemail"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sec"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sec"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancel batch actions mode"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"voicemail"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"voicemails"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Yes"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Delete selected <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selected"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> at <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Loading from SIM card…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM card contacts"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"No contacts app available"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Voice search not available"</string> <string name="call_not_available" msgid="7850148370757361155">"Cannot make a phone call because the Phone application has been disabled."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Search contacts"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> new missed calls"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"No one is on your speed dial yet"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Add a favourite"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"You don\'t have any contacts yet"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Add a contact"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Touch image to see all numbers, or touch & hold to re-arrange"</string> <string name="remove_contact" msgid="2353580570488923668">"Remove"</string> + <string name="select_all" msgid="408601760696146245">"Select all"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Video call"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Send a message"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Call details"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Blocked numbers"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> is already blocked."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Calling accounts"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Turn on"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Set permissions"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"To enable speed dial, turn on the Contacts permission."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"To see your call log, turn on the Phone permission."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"To see your contacts, turn on the Contacts permission."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"To access your voicemail, turn on the Phone permission."</string> <string name="permission_no_search" msgid="2424710404207193826">"To search your contacts, turn on the Contacts permissions."</string> <string name="permission_place_call" msgid="8686908130349369423">"To place a call, turn on the Phone permission."</string> diff --git a/java/com/android/dialer/app/res/values-en-rGB/strings.xml b/java/com/android/dialer/app/res/values-en-rGB/strings.xml index 28eea8b4d..cb7e912c7 100644 --- a/java/com/android/dialer/app/res/values-en-rGB/strings.xml +++ b/java/com/android/dialer/app/res/values-en-rGB/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Return to call in progress"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Add call"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Incoming calls"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entering bulk action mode"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Left bulk action mode"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Selected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Unselected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Play voicemail"</string> <string name="description_view_contact" msgid="3940984937384372665">"View contact <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Call <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Voicemail"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sec"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sec"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancel batch actions mode"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"voicemail"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"voicemails"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Yes"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Delete selected <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selected"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> at <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Loading from SIM card…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM card contacts"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"No contacts app available"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Voice search not available"</string> <string name="call_not_available" msgid="7850148370757361155">"Cannot make a phone call because the Phone application has been disabled."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Search contacts"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> new missed calls"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"No one is on your speed dial yet"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Add a favourite"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"You don\'t have any contacts yet"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Add a contact"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Touch image to see all numbers, or touch & hold to re-arrange"</string> <string name="remove_contact" msgid="2353580570488923668">"Remove"</string> + <string name="select_all" msgid="408601760696146245">"Select all"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Video call"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Send a message"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Call details"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Blocked numbers"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> is already blocked."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Calling accounts"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Turn on"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Set permissions"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"To enable speed dial, turn on the Contacts permission."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"To see your call log, turn on the Phone permission."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"To see your contacts, turn on the Contacts permission."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"To access your voicemail, turn on the Phone permission."</string> <string name="permission_no_search" msgid="2424710404207193826">"To search your contacts, turn on the Contacts permissions."</string> <string name="permission_place_call" msgid="8686908130349369423">"To place a call, turn on the Phone permission."</string> diff --git a/java/com/android/dialer/app/res/values-en-rIN/strings.xml b/java/com/android/dialer/app/res/values-en-rIN/strings.xml index 28eea8b4d..cb7e912c7 100644 --- a/java/com/android/dialer/app/res/values-en-rIN/strings.xml +++ b/java/com/android/dialer/app/res/values-en-rIN/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Return to call in progress"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Add call"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Incoming calls"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entering bulk action mode"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Left bulk action mode"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Selected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Unselected <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Play voicemail"</string> <string name="description_view_contact" msgid="3940984937384372665">"View contact <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Call <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Voicemail"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sec"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sec"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancel batch actions mode"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"voicemail"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"voicemails"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Yes"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Delete selected <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selected"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> at <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Loading from SIM card…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM card contacts"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"No contacts app available"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Voice search not available"</string> <string name="call_not_available" msgid="7850148370757361155">"Cannot make a phone call because the Phone application has been disabled."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Search contacts"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> new missed calls"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"No one is on your speed dial yet"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Add a favourite"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"You don\'t have any contacts yet"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Add a contact"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Touch image to see all numbers, or touch & hold to re-arrange"</string> <string name="remove_contact" msgid="2353580570488923668">"Remove"</string> + <string name="select_all" msgid="408601760696146245">"Select all"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Video call"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Send a message"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Call details"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Blocked numbers"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> is already blocked."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Calling accounts"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Turn on"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Set permissions"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"To enable speed dial, turn on the Contacts permission."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"To see your call log, turn on the Phone permission."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"To see your contacts, turn on the Contacts permission."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"To access your voicemail, turn on the Phone permission."</string> <string name="permission_no_search" msgid="2424710404207193826">"To search your contacts, turn on the Contacts permissions."</string> <string name="permission_place_call" msgid="8686908130349369423">"To place a call, turn on the Phone permission."</string> diff --git a/java/com/android/dialer/app/res/values-es-rUS/strings.xml b/java/com/android/dialer/app/res/values-es-rUS/strings.xml index 9d80bc9e2..79d607fc7 100644 --- a/java/com/android/dialer/app/res/values-es-rUS/strings.xml +++ b/java/com/android/dialer/app/res/values-es-rUS/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Regresar a la llamada en curso"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Agregar llamada"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Llamadas entrantes"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrando al modo de acción masiva"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Saliendo del modo de acción masiva"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Se seleccionó <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Se anuló la selección de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Reproducir mensaje de voz"</string> <string name="description_view_contact" msgid="3940984937384372665">"Ver contacto <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Llamar a <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Correo de voz"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancelar el modo de acción masiva"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"el mensaje de voz"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"los mensajes de voz"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sí"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"¿Deseas borrar <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> que seleccionaste?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> seleccionada(s)"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"El <xliff:g id="DATE">%1$s</xliff:g> a la hora <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Cargando desde tarjeta SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Contactos de tarjeta SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"No hay aplicaciones de contactos disponibles."</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Búsqueda por voz no disponible"</string> <string name="call_not_available" msgid="7850148370757361155">"No se pueden realizar llamadas porque se inhabilitó la aplicación Teléfono."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Buscar contactos"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> llamadas perdidas nuevas"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Aún no tienes contactos en la opción de marcado rápido"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Agregar un favorito"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Aún no tienes contactos"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Agregar un contacto"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Toca la imagen para ver todos los números o mantenla presionada para reorganizar"</string> <string name="remove_contact" msgid="2353580570488923668">"Eliminar"</string> + <string name="select_all" msgid="408601760696146245">"Seleccionar todo"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videollamada"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar un mensaje"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detalles de la llamada"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ya está bloqueado."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Cuentas telefónicas"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Activar"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Configurar permisos"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Para habilitar el marcado rápido, activa el permiso Contactos."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Para ver el registro de llamadas, activa el permiso Teléfono."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver los contactos, activa el permiso Contactos."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Para acceder al buzón de voz, activa el permiso Teléfono."</string> <string name="permission_no_search" msgid="2424710404207193826">"Para buscar contactos, activa el permiso Contactos."</string> <string name="permission_place_call" msgid="8686908130349369423">"Para realizar una llamada, activa el permiso Teléfono."</string> diff --git a/java/com/android/dialer/app/res/values-es/strings.xml b/java/com/android/dialer/app/res/values-es/strings.xml index b7383d970..170edc8ca 100644 --- a/java/com/android/dialer/app/res/values-es/strings.xml +++ b/java/com/android/dialer/app/res/values-es/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Volver a la llamada"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Añadir llamada"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Llamadas entrantes"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrando en el modo de acción en bloque"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Se ha salido del modo de acción en bloque"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> seleccionado"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Selección de <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> anulada"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Reproducir mensaje de voz"</string> <string name="description_view_contact" msgid="3940984937384372665">"Ver contacto <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Llamar a <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Buzón de voz"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min y <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancelar el modo de acciones en lote"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"mensaje de voz"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"mensajes de voz"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sí"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"¿Eliminar la selección de <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Se han seleccionado <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> a las <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Cargando desde tarjeta SIM…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Contactos de tarjeta SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"No hay aplicaciones de contactos disponibles"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"La búsqueda por voz no está disponible"</string> <string name="call_not_available" msgid="7850148370757361155">"No se puede hacer llamadas porque se ha inhabilitado la aplicación Teléfono."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Buscar contactos"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> llamadas perdidas nuevas"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Aún no tienes contactos en la función de marcación rápida"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Añadir un favorito"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Aún no tienes contactos"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Añadir un contacto"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Tocar la imagen para ver todos los números o mantenerla pulsada para cambiar el orden"</string> <string name="remove_contact" msgid="2353580570488923668">"Eliminar"</string> + <string name="select_all" msgid="408601760696146245">"Seleccionar todo"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videollamada"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar un mensaje"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detalles de la llamada"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ya está bloqueado."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Cuentas de llamadas"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Activar"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Establecer permisos"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Para habilitar la marcación rápida, activa el permiso la aplicación Contactos."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Para ver el registro de llamadas, activa el permiso de la aplicación Teléfono."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver tus contactos, activa el permiso de la aplicación Contactos."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Para acceder al buzón de voz, activa el permiso de la aplicación Teléfono."</string> <string name="permission_no_search" msgid="2424710404207193826">"Para poder buscar tus contactos, activa los permisos de contactos."</string> <string name="permission_place_call" msgid="8686908130349369423">"Para hacer una llamada, activa el permiso de la aplicación Teléfono."</string> diff --git a/java/com/android/dialer/app/res/values-et/strings.xml b/java/com/android/dialer/app/res/values-et/strings.xml index d4e4faa59..e32b10403 100644 --- a/java/com/android/dialer/app/res/values-et/strings.xml +++ b/java/com/android/dialer/app/res/values-et/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Tagasi käimasolevale kõnele"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Lisa kõne"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Sissetulevad kõned"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Sisenemine hulgitoimingute režiimi"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Lahkumine hulgitoimingute režiimist"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> on valitud"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> on valimata"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Esita kõnepostisõnum"</string> <string name="description_view_contact" msgid="3940984937384372665">"Kuva kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Helista kasutajale <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Kõnepost"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Mitme toimigu režiimi tühistamine"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"kõnepostisõnum"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"kõnepostisõnumid"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Jah"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ei"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Kas kustutada valitud kõnepostisõnumid <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> on valitud"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kell <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Laadimine SIM-kaardilt ..."</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM-kaardi kontaktid"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Kontaktide rakendus pole saadaval"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Häälotsing ei ole saadaval"</string> <string name="call_not_available" msgid="7850148370757361155">"Helistada ei saa, sest telefonirakendus on keelatud."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Otsige kontakte"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> uus/uut vastamata kõne(t)"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Te pole veel kedagi kiirvalimisse lisanud"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Lisa lemmik"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Teil pole veel kontakte"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Lisa kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Puudutage kujutist kõigi numbrite nägemiseks või puudutage pikalt järjestuse muutmiseks"</string> <string name="remove_contact" msgid="2353580570488923668">"Eemalda"</string> + <string name="select_all" msgid="408601760696146245">"Vali kõik"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videokõne"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Saada sõnum"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Kõne üksikasjad"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokeeritud numbrid"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> on juba blokeeritud."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Helistamiskontod"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Lülita sisse"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Määra load"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Kiirvalimise lubamiseks lülitage sisse kontaktiluba."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Kõnelogi vaatamiseks lülitage sisse telefoniluba."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Kontaktide vaatamiseks lülitage sisse kontaktiluba."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Kõnepostile juurdepääsemiseks lülitage sisse telefoniluba."</string> <string name="permission_no_search" msgid="2424710404207193826">"Kontaktide otsimiseks lülitage sisse kontaktiload."</string> <string name="permission_place_call" msgid="8686908130349369423">"Helistamiseks lülitage sisse telefoniluba."</string> diff --git a/java/com/android/dialer/app/res/values-eu/strings.xml b/java/com/android/dialer/app/res/values-eu/strings.xml index 95f4621a4..57ef67d88 100644 --- a/java/com/android/dialer/app/res/values-eu/strings.xml +++ b/java/com/android/dialer/app/res/values-eu/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Itzuli abian den deira"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Gehitu deia"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Sarrerako deiak"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Ekintzak multzoka gauzatzeko modua aktibatzen"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Ekintzak multzoka gauzatzeko modua desaktibatu da"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> hautatu da"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> desautatu da"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Erreproduzitu erantzungailuko ahots-mezuak"</string> <string name="description_view_contact" msgid="3940984937384372665">"Ikusi <xliff:g id="NAME">%1$s</xliff:g> kontaktua"</string> <string name="description_call" msgid="1532402285334775372">"Deitu <xliff:g id="NAME">%1$s</xliff:g> erabiltzaileari"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Erantzungailua"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Utzi bertan behera ekintzak multzoka gauzatzeko modua"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ahots-mezua"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ahots-mezuak"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Bai"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ez"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Hautatutako <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ezabatu?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> hautatu dira"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> (<xliff:g id="TIME">%2$s</xliff:g>)"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM txarteletik kargatzen…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM txarteleko kontaktuak"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Ez dago kontaktuen aplikaziorik erabilgarri"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Ahozko bilaketa ez dago erabilgarri"</string> <string name="call_not_available" msgid="7850148370757361155">"Ezin da telefono-deirik egin Telefonoa aplikazioa desgaitu egin delako."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Bilatu kontaktuetan"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> dei galdu berri"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Ez duzu inor markatze bizkorrean oraindik"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Gehitu gogokoak"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Ez duzu kontakturik oraindik"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Gehitu kontaktua"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Ukitu irudia zenbaki guztiak ikusteko, edo eduki ezazu sakatuta berrantolatzeko"</string> <string name="remove_contact" msgid="2353580570488923668">"Kendu"</string> + <string name="select_all" msgid="408601760696146245">"Hautatu guztiak"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Bideo-deia"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Bidali mezua"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Deiaren xehetasunak"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokeatutako zenbakiak"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> blokeatuta dago dagoeneko."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Deiak egiteko kontuak"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktibatu"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Ezarri baimenak"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Markatze bizkorra gaitzeko, aktibatu Kontaktuak erabiltzeko baimena."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Deien erregistroa ikusteko, aktibatu Telefonoa erabiltzeko baimena."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Kontaktuak ikusteko, aktibatu Kontaktuak erabiltzeko baimena."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Erantzungailuan sartzeko, aktibatu Telefonoa erabiltzeko baimena."</string> <string name="permission_no_search" msgid="2424710404207193826">"Kontaktuak bilatzeko, aktibatu kontaktuak atzitzeko baimenak."</string> <string name="permission_place_call" msgid="8686908130349369423">"Deiak egiteko, aktibatu Telefonoa erabiltzeko baimena."</string> diff --git a/java/com/android/dialer/app/res/values-fa/strings.xml b/java/com/android/dialer/app/res/values-fa/strings.xml index 9c8c01b64..eadb0dcb7 100644 --- a/java/com/android/dialer/app/res/values-fa/strings.xml +++ b/java/com/android/dialer/app/res/values-fa/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"برگشت به تماس درحال انجام"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"افزودن تماس"</string> <string name="actionIncomingCall" msgid="891346596090030558">"تماسهای ورودی"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"درحال ورود به حالت اقدام انبوه"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"خروج از حالت اقدام انبوه"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> انتخاب شد"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> از حالت انتخاب خارج شد"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"پخش پست صوتی"</string> <string name="description_view_contact" msgid="3940984937384372665">"مشاهده مخاطب <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"تماس با <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"پست صوتی"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ثانیه"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> دقیقه <xliff:g id="SECONDS">%s</xliff:g> ثانیه"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"لغو حالت اقدام دستهای"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"پست صوتی"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"پستهای صوتی"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"بله"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"نه"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> انتخابشده حذف شود؟"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> مورد انتخاب شد"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ساعت <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"در حال بارگیری سیم کارت..."</string> <string name="simContacts_title" msgid="7961069730386378887">"مخاطبین سیم کارت"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"هیچ برنامه مخاطبی در دسترس نیست"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"جستجوی گفتاری در دسترس نیست"</string> <string name="call_not_available" msgid="7850148370757361155">"برقراری تماس تلفنی ممکن نیست، زیرا برنامه تلفن غیرفعال شده است."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"جستجوی مخاطبین"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> تماس بیپاسخ جدید"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"هنوز کسی در فهرست شمارهگیری سریع شما نیست"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"افزودن مورد دلخواه"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"هنوز هیچ مخاطبی ندارید"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"افزودن مخاطب"</string> <string name="contact_tooltip" msgid="8871614660967439999">"برای مشاهده همه شمارهها، تصویر را لمس کنید، یا برای ترتیب مجدد، لمس کنید و نگهدارید"</string> <string name="remove_contact" msgid="2353580570488923668">"حذف"</string> + <string name="select_all" msgid="408601760696146245">"انتخاب همه"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"تماس ویدئویی"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"ارسال پیام"</string> <string name="call_log_action_details" msgid="2091370737371449501">"جزئیات تماس"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"شمارههای مسدودشده"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> درحالحاضر مسدود شده است."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"حسابهای تماس"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"روشن کردن"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"تنظیم مجوزها"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"برای فعال کردن شمارهگیری سریع، مجوز «مخاطبین» را روشن کنید."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"برای دیدن گزارش تماستان، مجوز «تلفن» را روشن کنید."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"برای دیدن مخاطبینتان، مجوز «مخاطبین» را روشن کنید."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"برای دسترسی به پست صوتیتان، مجوز «تلفن» را روشن کنید."</string> <string name="permission_no_search" msgid="2424710404207193826">"برای جستجوی مخاطبینتان، مجوزهای مخاطبین را روشن کنید."</string> <string name="permission_place_call" msgid="8686908130349369423">"برای برقراری تماس، مجوز «تلفن» را روشن کنید."</string> diff --git a/java/com/android/dialer/app/res/values-fi/strings.xml b/java/com/android/dialer/app/res/values-fi/strings.xml index c5a103d48..951095908 100644 --- a/java/com/android/dialer/app/res/values-fi/strings.xml +++ b/java/com/android/dialer/app/res/values-fi/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Palaa käynnissä olevaan puheluun"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Lisää puhelu"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Saapuvat puhelut"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Siirrytään joukkotoimintotilaan."</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Poistuttiin joukkotoimintotilasta."</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> valittiin."</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ei ole enää valittuna."</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Toista vastaajaviesti"</string> <string name="description_view_contact" msgid="3940984937384372665">"Näytä yhteystieto <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Soita: <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Vastaaja"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Peruuta joukkotoimintotila."</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"vastaajaviesti"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"vastaajaviestit"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Kyllä"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ei"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Poistetaanko <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> valittu"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> klo <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>.<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Ladataan SIM-kortilta…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM-kortin yhteystiedot"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Ei käytettävissä olevaa yhteystietosovellusta"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Puhehaku ei ole käytettävissä"</string> <string name="call_not_available" msgid="7850148370757361155">"Puhelua ei voi soittaa, koska Puhelin-sovellus on poistettu käytöstä."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Hae yhteystiedoista"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> uutta vastaamatonta puhelua"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Pikavalinnassa ei ole vielä yhtään yhteystietoa."</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Lisää suosikki"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Sinulla ei ole yhteystietoja."</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Lisää yhteystieto"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Katso kaikki numerot koskettamalla kuvaa tai järjestele tietoja koskettamalla kuvaa pitkään."</string> <string name="remove_contact" msgid="2353580570488923668">"Poista"</string> + <string name="select_all" msgid="408601760696146245">"Valitse kaikki"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videopuhelu"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Lähetä viesti"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Puhelun tiedot"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Estetyt numerot"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> on jo estetty."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Puhelutilit"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Ota käyttöön"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Määritä käyttöoikeudet"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Jos haluat käyttää pikavalintaa, ota Yhteystiedot-käyttöoikeus käyttöön."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Jos haluat katsella puhelulokiasi, ota Puhelin-käyttöoikeus käyttöön."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Jos haluat katsella yhteystietojasi, ota Yhteystiedot-käyttöoikeus käyttöön."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Jos haluat käyttää puhelinvastaajaa, ota Puhelin-käyttöoikeus käyttöön."</string> <string name="permission_no_search" msgid="2424710404207193826">"Jos haluat hakea kontaktejasi, ota käyttöön kontaktien käyttöoikeudet."</string> <string name="permission_place_call" msgid="8686908130349369423">"Jos haluat soittaa puheluja, ota Puhelin-käyttöoikeus käyttöön."</string> diff --git a/java/com/android/dialer/app/res/values-fr-rCA/strings.xml b/java/com/android/dialer/app/res/values-fr-rCA/strings.xml index d557d7442..6aa285c50 100644 --- a/java/com/android/dialer/app/res/values-fr-rCA/strings.xml +++ b/java/com/android/dialer/app/res/values-fr-rCA/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Reprendre l\'appel en cours"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Autre appel"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Appels entrants"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrée du mode d\'action groupée en cours…"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Mode d\'action groupée quitté"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Sélection : <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Désélection : <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Écouter le message vocal"</string> <string name="description_view_contact" msgid="3940984937384372665">"Afficher le contact <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Appeler <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Messagerie vocale"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min et <xliff:g id="SECONDS">%s</xliff:g> sec"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Annuler le mode d\'action par lots"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"message vocal"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"messages vocaux"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Oui"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Non"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Supprimer la sélection (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>)?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> sélection(s)"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> à <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Chargement depuis la carte SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Contacts de carte SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Aucune application de gestion des contacts n\'est disponible"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Recherche vocale non disponible"</string> <string name="call_not_available" msgid="7850148370757361155">"Impossible d\'effectuer un appel téléphonique, car l\'application Téléphone a été désactivée."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Rechercher des contacts"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nouveaux appels manqués"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Aucun contact ne figure dans vos numéros de composition abrégée"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Ajouter un favori"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Vous n\'avez pas encore de contacts"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Ajouter un contact"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Touchez l\'image pour afficher tous les numéros, ou maintenez le doigt dessus pour les réorganiser"</string> <string name="remove_contact" msgid="2353580570488923668">"Supprimer"</string> + <string name="select_all" msgid="408601760696146245">"Tout sélectionner"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Appel vidéo"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Envoyer un message"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Détails de l\'appel"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Numéros bloqués"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Le numéro <xliff:g id="NUMBER">%1$s</xliff:g> est déjà bloqué."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Comptes d\'appel"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Activer"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Définir les autorisations"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Pour activer la composition abrégée, activez l\'autorisation Contacts."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Pour consulter votre journal d\'appels, activez l\'autorisation Téléphone."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Pour consulter vos contacts, activez l\'autorisation Contacts."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Pour accéder à votre messagerie vocale, activez l\'autorisation Téléphone."</string> <string name="permission_no_search" msgid="2424710404207193826">"Pour rechercher vos contacts et les lieux à proximité, activez les autorisations Contacts."</string> <string name="permission_place_call" msgid="8686908130349369423">"Pour faire un appel, activez l\'autorisation Téléphone."</string> diff --git a/java/com/android/dialer/app/res/values-fr/strings.xml b/java/com/android/dialer/app/res/values-fr/strings.xml index d8a59395b..f539d2e55 100644 --- a/java/com/android/dialer/app/res/values-fr/strings.xml +++ b/java/com/android/dialer/app/res/values-fr/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Reprendre l\'appel en cours"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Autre appel"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Appels entrants"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Activation du mode d\'action groupée"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Désactivation du mode d\'action groupée"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> sélectionné"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> désélectionné"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Écouter le message vocal"</string> <string name="description_view_contact" msgid="3940984937384372665">"Afficher le contact <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Appeler <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Messagerie vocale"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> secondes"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min et <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Annuler le mode d\'actions groupées"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"message vocal"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"messages vocaux"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Oui"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Non"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Supprimer les messages vocaux sélectionnés (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>) ?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> sélectionnés"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> à <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Chargement depuis la carte SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Contacts de carte SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Aucune application de gestion des contacts n\'est disponible."</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Recherche vocale non disponible"</string> <string name="call_not_available" msgid="7850148370757361155">"Impossible d\'effectuer un appel téléphonique, car l\'application Téléphone a été désactivée."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Rech. des contacts"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Nouveaux appels manqués : <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Aucun contact pour la numérotation abrégée"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Ajouter un favori"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Vous n\'avez pas encore de contacts."</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Ajouter un contact"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Appuyer sur l\'image pour afficher tous les numéros, ou appuyer dessus de manière prolongée pour réorganiser ces derniers"</string> <string name="remove_contact" msgid="2353580570488923668">"Supprimer"</string> + <string name="select_all" msgid="408601760696146245">"Tout sélectionner"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Appel vidéo"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Envoyer un message"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Informations sur l\'appel"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Numéros bloqués"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Le numéro \"<xliff:g id="NUMBER">%1$s</xliff:g>\" est déjà bloqué."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Comptes téléphoniques"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Activer"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Définir les autorisations"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Pour activer la numérotation abrégée, activez l\'autorisation Contacts."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Pour consulter votre journal d\'appels, activez l\'autorisation Téléphone."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Pour consulter vos contacts, activez l\'autorisation Contacts."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Pour accéder à votre messagerie vocale, activez l\'autorisation Téléphone."</string> <string name="permission_no_search" msgid="2424710404207193826">"Pour rechercher vos contacts, activez l\'autorisation Contacts."</string> <string name="permission_place_call" msgid="8686908130349369423">"Pour passer un appel, activez l\'autorisation Téléphone."</string> diff --git a/java/com/android/dialer/app/res/values-gl/strings.xml b/java/com/android/dialer/app/res/values-gl/strings.xml index 33b55a740..ca31c5e47 100644 --- a/java/com/android/dialer/app/res/values-gl/strings.xml +++ b/java/com/android/dialer/app/res/values-gl/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Volver á chamada en curso"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Engadir chamada"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Chamadas entrantes"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrando no modo de acción masiva"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Saíu do modo de acción masiva"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Seleccionouse: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Anulouse a selección de: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Reproducir correo de voz"</string> <string name="description_view_contact" msgid="3940984937384372665">"Ver contacto <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Chamar a <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Correo de voz"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancela o modo de accións en lote"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"correo de voz"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"correos de voz"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Si"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Non"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Queres eliminar a selección (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>)?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Cantidade seleccionada: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ás <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Cargando da tarxeta SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Contactos da tarxeta SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Non hai aplicacións de contactos dispoñibles"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Busca por voz non dispoñible"</string> <string name="call_not_available" msgid="7850148370757361155">"Non se pode facer unha chamada telefónica porque se desactivou a aplicación de teléfono."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Buscar contactos"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> chamadas perdidas novas"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Aínda non tes ningún contacto na marcación directa"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Engade un favorito para a marcación directa"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Aínda non tes contactos"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Engade un contacto"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Toca a imaxe para ver todos os números ou mantena premida para reordenalos"</string> <string name="remove_contact" msgid="2353580570488923668">"Eliminar"</string> + <string name="select_all" msgid="408601760696146245">"Seleccionar todos"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videochamada"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar unha mensaxe"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detalles da chamada"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"O <xliff:g id="NUMBER">%1$s</xliff:g> xa está bloqueado."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Contas de chamadas"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Activar"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Establecer permisos"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Para activar a marcación rápida, activa o permiso de Contactos."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Para ver o teu rexistro de chamadas, activa o permiso de Teléfono."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver os teus contactos, activa o permiso de Contactos."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Para acceder ao correo de voz, activa o permiso de Teléfono."</string> <string name="permission_no_search" msgid="2424710404207193826">"Para buscar os teus contactos, activa os permisos de Contactos."</string> <string name="permission_place_call" msgid="8686908130349369423">"Para facer unha chamada, activa o permiso de Teléfono."</string> diff --git a/java/com/android/dialer/app/res/values-gu/strings.xml b/java/com/android/dialer/app/res/values-gu/strings.xml index 1df18269e..fbe4d0aaa 100644 --- a/java/com/android/dialer/app/res/values-gu/strings.xml +++ b/java/com/android/dialer/app/res/values-gu/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"કૉલ પર પાછા આવવું પ્રગતિ પર છે"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"કૉલ ઉમેરો"</string> <string name="actionIncomingCall" msgid="891346596090030558">"ઇનકમિંગ કૉલ્સ"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"બલ્ક ક્રિયા મોડમાં દાખલ થઈ રહ્યાં છે"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"બલ્ક ક્રિયા મોડ છોડી દીધો"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> પસંદ કર્યો"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> પસંદગીમાંથી દૂર કર્યો"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"વૉઇસમેઇલ ચલાવો"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> સંપર્ક જુઓ"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ને કૉલ કરો"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"વૉઇસમેઇલ"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> સેકંડ"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> મિ <xliff:g id="SECONDS">%s</xliff:g> સે"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"બૅચ ક્રિયા મોડ રદ કરો"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"વૉઇસમેઇલ"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"વૉઇસમેઇલ"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"હા"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"નહીં"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"પસંદ કરેલ <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>ને કાઢી નાખીએ?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> પસંદ કરી"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> નાં રોજ <xliff:g id="TIME">%2$s</xliff:g> વાગ્યે"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM કાર્ડમાંથી લોડ કરી રહ્યું છે…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM કાર્ડ સંપર્કો"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"કોઈ સંપર્કો ઍપ્લિકેશન ઉપલબ્ધ નથી"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"વૉઇસ શોધ ઉપલબ્ધ નથી"</string> <string name="call_not_available" msgid="7850148370757361155">"ફોન કૉલ કરી શકાતો નથી કારણ કે ફોન ઍપ્લિકેશન અક્ષમ કરવામાં આવી છે."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"સંપર્કો શોધો"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> નવા છૂટેલા કૉલ્સ"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"તમારા ઝડપી ડાયલ પર હજી સુધી કોઇ નથી"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"એક મનપસંદ ઉમેરો"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"તમે હજી સુધી કોઇપણ સંપર્કો ધરાવતાં નથી"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"સંપર્ક ઉમેરો"</string> <string name="contact_tooltip" msgid="8871614660967439999">"બધા નંબર્સ જોવા માટે છબી ટચ કરો અથવા પુનઃક્રમાંકિત કરવા માટે ટચ કરો અને પકડી રાખો"</string> <string name="remove_contact" msgid="2353580570488923668">"દૂર કરો"</string> + <string name="select_all" msgid="408601760696146245">"તમામ પસંદ કરો"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"વિડિઓ કૉલ"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"એક સંદેશ મોકલો"</string> <string name="call_log_action_details" msgid="2091370737371449501">"કૉલની વિગતો"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"અવરોધિત નંબરો"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ને પહેલેથી અવરોધિત કરવામાં આવ્યો છે."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"કૉલિંગ એકાઉન્ટ્સ"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"ચાલુ કરો"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"પરવાનગીઓ સેટ કરો"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"ઝડપી ડાયલ સક્ષમ કરવા માટે, સંપર્કોની પરવાનગી ચાલુ કરો."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"તમારો કૉલ લૉગ જોવા માટે, ફોન પરવાનગી ચાલુ કરો."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"તમારા સંપર્કો જોવા માટે, સંપર્કોની પરવાનગી ચાલુ કરો."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"તમારી વૉઇસમેઇલને ઍક્સેસ કરવા માટે, ફોન પરવાનગી ચાલુ કરો."</string> <string name="permission_no_search" msgid="2424710404207193826">"તમારા સંપર્કો શોધવા માટે, સંપર્કોની પરવાનગીઓ ચાલુ કરો."</string> <string name="permission_place_call" msgid="8686908130349369423">"કૉલ કરવા માટે, ફોન પરવાનગી ચાલુ કરો."</string> diff --git a/java/com/android/dialer/app/res/values-hi/strings.xml b/java/com/android/dialer/app/res/values-hi/strings.xml index 84d2d974a..c998e4402 100644 --- a/java/com/android/dialer/app/res/values-hi/strings.xml +++ b/java/com/android/dialer/app/res/values-hi/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"कॉल पर लौटना प्रगति पर है"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"कॉल जोड़ें"</string> <string name="actionIncomingCall" msgid="891346596090030558">"इनकमिंग कॉल"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"बल्क कार्रवाई मोड में प्रवेश कर रहे हैं"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"बल्क कार्रवाई मोड छोड़ा"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> को चुना गया"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> को नहीं चुना गया"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"ध्वनिमेल चलाएं"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> संपर्क देखें"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> को कॉल करें"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"वॉयस मेल"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> सेकंड"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> मि. <xliff:g id="SECONDS">%s</xliff:g> से."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"बैच कार्रवाई मोड रद्द करें"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"वॉयसमेल"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"वॉयसमेल"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"हां"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"नहीं"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"क्या चुने गए <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> हटाना चाहते हैं?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> चयनित"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> को <xliff:g id="TIME">%2$s</xliff:g> बजे"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"सिम कार्ड से लोड हो रहा है…"</string> <string name="simContacts_title" msgid="7961069730386378887">"सिम कार्ड के संपर्क"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"कोई भी संपर्क ऐप उपलब्ध नहीं है"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"बोलकर खोजना उपलब्ध नहीं है"</string> <string name="call_not_available" msgid="7850148370757361155">"फ़ोन कॉल नहीं किया जा सकता क्योंकि फ़ोन ऐप्लिकेशन अक्षम कर दिया गया है."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"संपर्क खोजें"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> छूटे हुए नए कॉल"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"आपके स्पीड डायल पर अभी तक कोई भी नहीं है"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"कोई पसंदीदा जोड़ें"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"आपके पास अभी कोई भी संपर्क नहीं है"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"कोई संपर्क जोड़ें"</string> <string name="contact_tooltip" msgid="8871614660967439999">"सभी नंबर देखने के लिए चित्र को स्पर्श करें या पुन: क्रमित करने के लिए स्पर्श करके रखें"</string> <string name="remove_contact" msgid="2353580570488923668">"निकालें"</string> + <string name="select_all" msgid="408601760696146245">"सभी चुनें"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"वीडियो कॉल"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"संदेश भेजें"</string> <string name="call_log_action_details" msgid="2091370737371449501">"कॉल विवरण"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"अवरोधित नंबर"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> पहले से अवरोधित है."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"कॉलिंग खाते"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"चालू करें"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"अनुमतियां सेट करें"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"स्पीड डायल सक्षम करने के लिए, संपर्क अनुमति चालू करें."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"अपना कॉल लॉग देखने के लिए, फ़ोन अनुमति चालू करें."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"अपने संपर्क देखने के लिए, संपर्क अनुमति चालू करें."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"अपना वॉइसमेल ऐक्सेस करने के लिए, फ़ोन अनुमति चालू करें."</string> <string name="permission_no_search" msgid="2424710404207193826">"अपने संपर्कों की खोज करने के लिए, संपर्क अनुमतियों को चालू करें."</string> <string name="permission_place_call" msgid="8686908130349369423">"कॉल करने के लिए, फ़ोन अनुमति चालू करें."</string> diff --git a/java/com/android/dialer/app/res/values-hr/strings.xml b/java/com/android/dialer/app/res/values-hr/strings.xml index cd3535372..5261cfb0d 100644 --- a/java/com/android/dialer/app/res/values-hr/strings.xml +++ b/java/com/android/dialer/app/res/values-hr/strings.xml @@ -86,6 +86,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Natrag na poziv u tijeku"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Dodaj poziv"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Dolazni pozivi"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Ulazak u način skupne radnje"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Napuštanje načina skupne radnje"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Odabrano: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Poništen odabir: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Reprodukcija govorne pošte"</string> <string name="description_view_contact" msgid="3940984937384372665">"Prikaz kontakta <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Nazovi <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -100,11 +104,13 @@ <string name="voicemail" msgid="8899540969000957954">"Govorna pošta"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Otkaži način skupnih radnji"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"poruka govorne pošte"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"poruke govorne pošte"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Da"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Želite li izbrisati odabranu poruku/e govorne pošte <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Odabrano: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> u <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>.<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -117,7 +123,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Učitavanje sa SIM kartice..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakti SIM kartice"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nije dostupna nijedna aplikacija za kontakte"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Glasovno pretraživanje nije dostupno"</string> <string name="call_not_available" msgid="7850148370757361155">"Telefoniranje nije moguće jer je aplikacija Telefon onemogućena."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Pretraži kontakte"</string> @@ -146,10 +151,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Broj novih propuštenih poziva: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Još nemate nikog na brzom biranju"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodaj omiljeni kontakt"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Još nemate nijedan kontakt"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Dodajte kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Dodirnite sliku da biste vidjeli sve brojeve ili dodirnite i zadržite da biste promijenili redoslijed"</string> <string name="remove_contact" msgid="2353580570488923668">"Ukloni"</string> + <string name="select_all" msgid="408601760696146245">"Odaberi sve"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videopoziv"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Pošalji poruku"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Pojedinosti poziva"</string> @@ -215,11 +219,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokirani brojevi"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Broj <xliff:g id="NUMBER">%1$s</xliff:g> već je blokiran."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Pozivanje računa"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Uključi"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Postavi dopuštenja"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Da biste omogućili brzo biranje, uključite dopuštenje za kontakte."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Da biste vidjeli zapisnik poziva, uključite dopuštenje za telefon."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Da biste vidjeli svoje kontakte, uključite dopuštenje za kontakte."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Da biste pristupili govornoj pošti, uključite dopuštenje za telefon."</string> <string name="permission_no_search" msgid="2424710404207193826">"Da biste pretraživali kontakte, uključite dopuštenja za kontakte."</string> <string name="permission_place_call" msgid="8686908130349369423">"Da biste nazvali nekog, uključite dopuštenje za telefon."</string> diff --git a/java/com/android/dialer/app/res/values-hu/strings.xml b/java/com/android/dialer/app/res/values-hu/strings.xml index 2e64d745d..452f0da47 100644 --- a/java/com/android/dialer/app/res/values-hu/strings.xml +++ b/java/com/android/dialer/app/res/values-hu/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Vissza a folyamatban lévő híváshoz"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Hívás hozzáadása"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Bejövő hívások"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Belépés tömeges műveleti módba"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Kilépett a tömeges műveleti módból"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Kijelölés: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Kijelölés megszüntetve: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Hangposta lejátszása"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> névjegyének megtekintése"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> hívása"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Hangposta"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> másodperc"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> perc <xliff:g id="SECONDS">%s</xliff:g> másodperc"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Köteges művelet mód leállítva"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"hangpostaüzenetet"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"hangpostaüzeneteket"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Igen"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nem"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Törli a kiválasztott <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> kiválasztva"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Betöltés a SIM kártyáról..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Névjegyek a SIM kártyán"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nincs elérhető névjegyek alkalmazás"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"A hangalapú keresés nem érhető el"</string> <string name="call_not_available" msgid="7850148370757361155">"Nem lehet telefonhívást kezdeményezni, mert a Telefon alkalmazást letiltották."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Keresés a névjegyek között"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> új nem fogadott hívás"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Még semelyik telefonszám sincs gyorshívón"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Kedvenc hozzáadása"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Még nem rendelkezik egyetlen névjeggyel sem"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Névjegy hozzáadása"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Koppintson a képre az összes szám megjelenítéséhez, vagy tartsa nyomva az átrendezéshez"</string> <string name="remove_contact" msgid="2353580570488923668">"Eltávolítás"</string> + <string name="select_all" msgid="408601760696146245">"Az összes kijelölése"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videohívás"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Üzenet küldése"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Hívás adatai"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Letiltott számok"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"A következő szám már le van tiltva: <xliff:g id="NUMBER">%1$s</xliff:g>."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Telefonos fiókok"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Engedélyezés"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Engedélyek beállítása"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Gyorshívás engedélyezéséhez kapcsolja be a Névjegyek engedélyt."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"A hívásnapló megtekintéséhez kapcsolja be a Telefon engedélyt."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"A névjegyek megtekintéséhez kapcsolja be a Névjegyek engedélyt."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"A hangposta eléréséhez kapcsolja be a Telefon engedélyt."</string> <string name="permission_no_search" msgid="2424710404207193826">"A névjegyek kereséséhez adja meg a Névjegyek engedélyeket."</string> <string name="permission_place_call" msgid="8686908130349369423">"Hívásindításhoz kapcsolja be a Telefon engedélyt."</string> diff --git a/java/com/android/dialer/app/res/values-hy/strings.xml b/java/com/android/dialer/app/res/values-hy/strings.xml index 6f3931c9f..97a84f2fe 100644 --- a/java/com/android/dialer/app/res/values-hy/strings.xml +++ b/java/com/android/dialer/app/res/values-hy/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Վերադառնալ ընթացիկ զանգին"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Ավելացնել զանգ"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Մուտքային զանգեր"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Մուտք զանգվածային գործողությունների ռեժին"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Դուք դուրս եկաք զանգվածային գործողությունների ռեժիմից"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Ընտրվեց՝ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Ապընտրվեց՝ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Նվագարկել ձայնային փոստը"</string> <string name="description_view_contact" msgid="3940984937384372665">"Դիտել <xliff:g id="NAME">%1$s</xliff:g> կոնտակտը"</string> <string name="description_call" msgid="1532402285334775372">"Զանգել <xliff:g id="NAME">%1$s</xliff:g>-ին"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Ձայնային փոստ"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> վրկ"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> րոպե <xliff:g id="SECONDS">%s</xliff:g> վայրկյան"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Չեղարկել փաթեթային գործողությունների ռեժիմը"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ձայնային հաղորդագրություն"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ձայնային հաղորդագրություններ"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Այո"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ոչ"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Ջնջե՞լ նշված <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>ը"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Ընտրվել է՝ <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>-ին, ժամը <xliff:g id="TIME">%2$s</xliff:g>-ին"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM քարտը բեռնվում է..."</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM քարտի կոնտակտները"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Կոնտակտների հավելված չկա"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Ձայնային որոնումը հասանելի չէ"</string> <string name="call_not_available" msgid="7850148370757361155">"Հնարավոր չէ զանգահարել, քանի որ Հեռախոս հավելվածն անջատված է:"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Կոնտակտների որոնում"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> նոր բաց թողնված զանգ"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Արագ համարահավաքման ցանկը դատարկ է"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Ավելացնել կոնտակտ"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Դեռ կոնտակտներ չունեք"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Ավելացնել կոնտակտ"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Բոլոր համարները տեսնելու համար հպեք պատկերին: Վերադասավորելու համար հպեք և պահեք:"</string> <string name="remove_contact" msgid="2353580570488923668">"Հեռացնել"</string> + <string name="select_all" msgid="408601760696146245">"Ընտրել բոլորը"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Տեսազանգ"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Ուղարկել հաղորդագրություն"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Զանգի մանրամասները"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Արգելափակված համարներ"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> համարն արդեն արգելափակված է:"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Հաշիվներ զանգերի համար"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Միացնել"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Թույլտվությունների սահմանում"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Արագ համարահավաքը թույլատրելու համար միացրեք Կոնտակտների թույլտվությունը:"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Ձեր զանգերի մատյանը տեսնելու համար միացրեք Հեռախոսի թույլտվությունը:"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Ձեր կոնտակտները տեսնելու համար միացրեք Կոնտակտների թույլտվությունը:"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Ձայնային փոստն օգտագործելու համար միացրեք Հեռախոսի թույլտվությունը:"</string> <string name="permission_no_search" msgid="2424710404207193826">"Կոնտակտները որոնելու համար միացրեք Կոնտակտների թույլտվությունները:"</string> <string name="permission_place_call" msgid="8686908130349369423">"Զանգ կատարելու համար միացրեք Հեռախոսի թույլտվությունը:"</string> diff --git a/java/com/android/dialer/app/res/values-in/strings.xml b/java/com/android/dialer/app/res/values-in/strings.xml index c0de9b3b4..f309f927b 100644 --- a/java/com/android/dialer/app/res/values-in/strings.xml +++ b/java/com/android/dialer/app/res/values-in/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Kembali ke panggilan sedang berlangsung"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Tambahkan panggilan"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Panggilan masuk"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Masuk ke mode tindakan massal"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Keluar dari mode tindakan massal"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> dipilih"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> tidak dipilih"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Putar pesan suara"</string> <string name="description_view_contact" msgid="3940984937384372665">"Lihat kontak <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Telepon <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Kotak Pesan"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> dtk"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> mnt <xliff:g id="SECONDS">%s</xliff:g> dtk"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Membatalkan mode tindakan kelompok"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"pesan suara"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"pesan suara"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ya"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Tidak"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Hapus <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> yang dipilih?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> dipilih"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> pukul <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>.<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Memuat dari kartu SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontak pada kartu SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Aplikasi kontak tidak tersedia"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Penelusuran suara tidak tersedia"</string> <string name="call_not_available" msgid="7850148370757361155">"Tidak dapat melakukan panggilan telepon karena aplikasi Telepon telah dinonaktifkan."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Telusuri kontak"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> panggilan tidak terjawab baru"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Daftar panggilan cepat masih kosong"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Tambahkan favorit"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Anda belum memiliki kontak"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Tambahkan kontak"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Sentuh foto untuk melihat semua nomor atau sentuh & tahan untuk menyusun ulang"</string> <string name="remove_contact" msgid="2353580570488923668">"Hapus"</string> + <string name="select_all" msgid="408601760696146245">"Pilih semua"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Panggilan video"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Kirim pesan"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detail panggilan"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Nomor yang diblokir"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> sudah diblokir."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Akun panggilan"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktifkan"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Setel izin"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Untuk mengaktifkan panggilan cepat, aktifkan izin Kontak."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Untuk melihat log panggilan, aktifkan izin Telepon."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Untuk melihat kontak, aktifkan izin Kontak."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Untuk mengakses pesan suara, aktifkan izin Telepon."</string> <string name="permission_no_search" msgid="2424710404207193826">"Untuk menelusuri kontak, aktifkan izin Kontak."</string> <string name="permission_place_call" msgid="8686908130349369423">"Untuk melakukan panggilan, aktifkan izin Telepon."</string> diff --git a/java/com/android/dialer/app/res/values-is/strings.xml b/java/com/android/dialer/app/res/values-is/strings.xml index fdd635668..b291eae84 100644 --- a/java/com/android/dialer/app/res/values-is/strings.xml +++ b/java/com/android/dialer/app/res/values-is/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Fara aftur í símtal í gangi"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Bæta við símtali"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Móttekin símtöl"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Opnar fjöldaaðgerðastillingu"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Fjöldaaðgerðastillingu lokað"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Valdi <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Fjarlægði val á <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Spila talhólfsskilaboð"</string> <string name="description_view_contact" msgid="3940984937384372665">"Skoða tengiliðinn <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Hringja í <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Talhólf"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> mín. og <xliff:g id="SECONDS">%s</xliff:g> sek."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Hætta við runuaðgerðastillingu"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"talhólfsskilaboð"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"talhólfsskilaboð"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Já"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nei"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Eyða völdum <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> valin"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kl. <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Hleður af SIM-kortinu…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Tengiliðir á SIM-korti"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Ekkert tengiliðaforrit í boði"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Raddleit er ekki í boði"</string> <string name="call_not_available" msgid="7850148370757361155">"Ekki er hægt að hringja vegna þess að forritið Sími hefur verið gert óvirkt."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Leita í tengiliðum"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ný ósvöruð símtöl"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Þú ert ekki með neinn í hraðvali enn sem komið er"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Bæta uppáhaldi við"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Þú ert ekki með neina tengiliði enn sem komið er"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Bæta tengilið við"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Snertu myndina til að sjá öll númer eða haltu henni inni til að endurraða"</string> <string name="remove_contact" msgid="2353580570488923668">"Fjarlægja"</string> + <string name="select_all" msgid="408601760696146245">"Velja allt"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Myndsímtal"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Senda skilaboð"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Símtalsupplýsingar"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Númer á bannlista"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> er nú þegar á bannlista."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Símtalareikningar"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Kveikja"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Stilla heimildir"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Kveiktu á tengiliðaheimildinni til að gera hraðval virkt."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Kveiktu á heimild símaforritsins til að sjá símtalaskrána þína."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Kveiktu á tengiliðaheimildinni til að sjá tengiliðina þína."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Kveiktu á heimild símaforritsins til að fá aðgang að talhólfinu þínu."</string> <string name="permission_no_search" msgid="2424710404207193826">"Kveiktu á heimildunum fyrir tengiliði til að leita að tengiliðum."</string> <string name="permission_place_call" msgid="8686908130349369423">"Kveiktu á heimild símaforritsins til að hringja símtal."</string> diff --git a/java/com/android/dialer/app/res/values-it/strings.xml b/java/com/android/dialer/app/res/values-it/strings.xml index 9bd8cd359..711ab26ee 100644 --- a/java/com/android/dialer/app/res/values-it/strings.xml +++ b/java/com/android/dialer/app/res/values-it/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Torna alla chiamata in corso"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Aggiungi chiamata"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Chiamate in arrivo"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Attivazione della modalità di azione collettiva"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Disttivazione della modalità di azione collettiva"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> selezionato"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> deselezionato"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Riproduci messaggio vocale"</string> <string name="description_view_contact" msgid="3940984937384372665">"Visualizza <xliff:g id="NAME">%1$s</xliff:g> contatto"</string> <string name="description_call" msgid="1532402285334775372">"Chiama <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Segreteria"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> secondi"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Annulla modalità di azione collettiva"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"messaggio vocale"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"messaggi vocali"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sì"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Eliminare i <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> selezionati?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selezionate"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> alle ore <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Caricamento da SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Contatti SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nessuna app di contatti disponibile"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Ricerca vocale non disponibile"</string> <string name="call_not_available" msgid="7850148370757361155">"Impossibile effettuare una telefonata perché l\'applicazione Telefono è stata disattivata."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Cerca contatti"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nuove chiamate perse"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Nessun preferito disponibile nella Composizione rapida"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Aggiungi un preferito"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Nessun contatto disponibile"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Aggiungi un contatto"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Tocca l\'immagine per visualizzare tutti i numeri oppure tieni premuto per cambiare l\'ordine"</string> <string name="remove_contact" msgid="2353580570488923668">"Rimuovi"</string> + <string name="select_all" msgid="408601760696146245">"Seleziona tutto"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videochiamata"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Invia un messaggio"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Dettagli chiamata"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Numeri bloccati"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> è già bloccato."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Account di chiamata"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Attiva"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Imposta autorizzazioni"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Per attivare la composizione rapida, attiva l\'autorizzazione Contatti."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Per accedere al registro chiamate, attiva l\'autorizzazione sul telefono."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Per accedere ai tuoi contatti, attiva l\'autorizzazione Contatti."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Per accedere alla segreteria, attiva l\'autorizzazione sul telefono."</string> <string name="permission_no_search" msgid="2424710404207193826">"Per cercare nei tuoi contatti, attiva le autorizzazioni Contatti."</string> <string name="permission_place_call" msgid="8686908130349369423">"Per fare una chiamata, attiva l\'autorizzazione sul telefono."</string> diff --git a/java/com/android/dialer/app/res/values-iw/strings.xml b/java/com/android/dialer/app/res/values-iw/strings.xml index bb115e2f8..bd2a05aec 100644 --- a/java/com/android/dialer/app/res/values-iw/strings.xml +++ b/java/com/android/dialer/app/res/values-iw/strings.xml @@ -87,6 +87,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"חזור לשיחה פעילה"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"הוסף שיחה"</string> <string name="actionIncomingCall" msgid="891346596090030558">"שיחות נכנסות"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"עברת למצב של ביצוע פעולות בכמות גדולה"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"עזבת את המצב של ביצוע פעולות בכמות גדולה"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"בחרת את <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"ביטלת את הבחירה של <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"הפעל דואר קולי"</string> <string name="description_view_contact" msgid="3940984937384372665">"הצג את איש הקשר <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"התקשר אל <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -101,11 +105,13 @@ <string name="voicemail" msgid="8899540969000957954">"דואר קולי"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> שניות"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> דק\' <xliff:g id="SECONDS">%s</xliff:g> שנ\'"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"ביטול המצב של ביצוע פעולות בכמות גדולה"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ההודעה הקולית"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ההודעות הקוליות"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"כן"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"לא"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"האם למחוק את <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> שבחרת?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> נבחרו"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ב-<xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -118,7 +124,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"טוען מכרטיס SIM…"</string> <string name="simContacts_title" msgid="7961069730386378887">"אנשי קשר בכרטיס SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"אין אפליקציה זמינה עבור אנשי קשר"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"חיפוש קולי אינו זמין"</string> <string name="call_not_available" msgid="7850148370757361155">"לא ניתן לבצע שיחת טלפון מפני שאפליקציית הטלפון הושבתה."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"חפש אנשי קשר"</string> @@ -147,10 +152,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> שיחות חדשות שלא נענו"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"עדיין לא הוגדר חיוג מהיר לאף איש קשר"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"הוסף פריט מועדף"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"עדיין אין לך אנשי קשר"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"הוסף איש קשר"</string> <string name="contact_tooltip" msgid="8871614660967439999">"גע בתמונה כדי להציג את כל המספרים או גע והחזק כדי לשנות את הסדר"</string> <string name="remove_contact" msgid="2353580570488923668">"הסר"</string> + <string name="select_all" msgid="408601760696146245">"בחירת הכל"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"שיחת וידאו"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"שלח הודעה"</string> <string name="call_log_action_details" msgid="2091370737371449501">"פרטי שיחה"</string> @@ -217,11 +221,9 @@ <string name="block_list" msgid="4701585783411870782">"מספרים חסומים"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> כבר חסום."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"חשבונות לביצוע שיחות"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"הפעל"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"הגדר הרשאות"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"כדי להפעיל חיוג מהיר, הפעל את ההרשאה \'אנשי קשר\'."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"כדי לראות את יומן השיחות, הפעל את ההרשאה \'טלפון\'."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"כדי להציג את אנשי הקשר, הפעל את ההרשאה \'אנשי קשר\'."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"כדי לגשת לדואר הקולי, הפעל את ההרשאה \'טלפון\'."</string> <string name="permission_no_search" msgid="2424710404207193826">"כדי לחפש באנשי הקשר, הפעל את ההרשאה \'אנשי קשר\'."</string> <string name="permission_place_call" msgid="8686908130349369423">"כדי להתקשר, הפעל את ההרשאה \'טלפון\'."</string> diff --git a/java/com/android/dialer/app/res/values-ja/strings.xml b/java/com/android/dialer/app/res/values-ja/strings.xml index 63b15cbed..9ba40fb8f 100644 --- a/java/com/android/dialer/app/res/values-ja/strings.xml +++ b/java/com/android/dialer/app/res/values-ja/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"通話に戻る"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"別の通話を追加"</string> <string name="actionIncomingCall" msgid="891346596090030558">"着信"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"一括操作モードを開始します"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"一括操作モードを終了しました"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> を選択しました"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> を選択解除しました"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"ボイスメールを再生"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g>の連絡先を表示"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g>に発信"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"ボイスメール"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g>秒"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g>分<xliff:g id="SECONDS">%s</xliff:g>秒"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"一括操作モードをキャンセルします"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ボイスメール"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ボイスメール"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"はい"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"いいえ"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"選択した<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>を削除しますか?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> 件選択済み"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>、<xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g> 分 <xliff:g id="SECONDS">%2$02d</xliff:g> 秒"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIMカードから読み取り中..."</string> <string name="simContacts_title" msgid="7961069730386378887">"SIMカードの連絡先"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"連絡先アプリがありません"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"音声検索を利用できません"</string> <string name="call_not_available" msgid="7850148370757361155">"電話アプリが無効になっているため発信できません。"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"連絡先を検索"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g>件の不在着信"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"クイックアクセスに登録済みの連絡先はまだありません"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"お気に入りを追加"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"連絡先はまだありません"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"連絡先を追加"</string> <string name="contact_tooltip" msgid="8871614660967439999">"画像をタップするとすべての番号が表示され、押し続けると番号を並べ替えることができます"</string> <string name="remove_contact" msgid="2353580570488923668">"削除"</string> + <string name="select_all" msgid="408601760696146245">"すべて選択"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"ビデオハングアウト"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"メッセージを送信"</string> <string name="call_log_action_details" msgid="2091370737371449501">"通話の詳細"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"ブロックした番号"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g>は既にブロックしています。"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"通話アカウント"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"ONにする"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"権限を設定"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"クイックアクセスを有効にするには、連絡先権限をONにしてください。"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"通話履歴を表示するには、電話権限をONにしてください。"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"連絡先を表示するには、連絡先権限をONにしてください。"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"ボイスメールにアクセスするには、電話権限をONにしてください。"</string> <string name="permission_no_search" msgid="2424710404207193826">"連絡先を検索するには、連絡先権限をONにしてください。"</string> <string name="permission_place_call" msgid="8686908130349369423">"電話をかけるには、電話権限をONにしてください。"</string> diff --git a/java/com/android/dialer/app/res/values-ka/strings.xml b/java/com/android/dialer/app/res/values-ka/strings.xml index ae89505b5..dbb48f4f5 100644 --- a/java/com/android/dialer/app/res/values-ka/strings.xml +++ b/java/com/android/dialer/app/res/values-ka/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"მიმდინარე ზარზე დაბრუნება"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"ზარის დამატება"</string> <string name="actionIncomingCall" msgid="891346596090030558">"შემომავალი ზარები"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"მიმდინარეობს ერთიანი ქმედების რეჟიმში შესვლა"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ერთიანი ქმედების რეჟიმიდან გამოხვედით"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"არჩეულია <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>-ის არჩევა გაუქმდა"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"ხმოვანი ფოსტის ჩართვა"</string> <string name="description_view_contact" msgid="3940984937384372665">"კონტაქტის <xliff:g id="NAME">%1$s</xliff:g> ნახვა"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g>-თან დარეკვა"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"ხმოვანი ფოსტა"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> წმ"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> მინ <xliff:g id="SECONDS">%s</xliff:g> წამ"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"ერთიანი ქმედების რეჟიმის გაუქმება"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ხმოვანი ფოსტა"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ხმოვანი ფოსტა"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"დიახ"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"არა"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"გსურთ, წაშალოთ არჩეული <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"არჩეულია <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"იტვირთება SIM ბარათიდან…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM ბარათის კონტაქტები"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"კონტაქტების აპლიკაცია არ არის ხელმისაწვდომი"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"ხმოვანი ძიება არ არის ხელმისაწვდომი"</string> <string name="call_not_available" msgid="7850148370757361155">"სატელეფონო ზარის განხორციელება ვერ ხერხდება, ვინაიდან ტელეფონის აპლიკაცია გაუქმებულია."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"კონტაქტებში ძიება"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ახალი გაცდენილი ზარი"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"სწრაფი აკრეფისთვის რჩეულები ჯერ არ გყავთ"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"რჩეული კონტაქტის დამატება"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"კონტაქტები ჯერ არ გაქვთ"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"კონტაქტის დამატება"</string> <string name="contact_tooltip" msgid="8871614660967439999">"ყველა ნომრის სანახავად შეეხეთ სურათს ან შეეხეთ და დააყოვნეთ მიმდევრობის შესაცვლელად"</string> <string name="remove_contact" msgid="2353580570488923668">"ამოშლა"</string> + <string name="select_all" msgid="408601760696146245">"ყველას არჩევა"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"ვიდეო ზარი"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"შეტყობინების გაგზავნა"</string> <string name="call_log_action_details" msgid="2091370737371449501">"ზარის მონაცემები"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"დაბლოკილი ნომრები"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> უკვე დაბლოკილია."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"ანგარიშების გამოძახება"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"ჩართვა"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"ნებართვების დაყენება"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"სწრაფი აკრეფის გასააქტიურებლად, ჩართეთ კონტაქტების ნებართვა."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"ზარების ჟურნალის სანახავად, ჩართეთ ტელეფონის ნებართვა."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"კონტაქტების სანახავად, ჩართეთ კონტაქტების ნებართვა."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"ხმოვან ფოსტაზე წვდომისთვის, ჩართეთ ტელეფონის ნებართვა."</string> <string name="permission_no_search" msgid="2424710404207193826">"თქვენი კონტაქტების მოსაძებნად ჩართეთ კონტაქტების ნებართვები."</string> <string name="permission_place_call" msgid="8686908130349369423">"ზარის განსახორციელებლად, ჩართეთ ტელეფონის ნებართვა."</string> diff --git a/java/com/android/dialer/app/res/values-kk/strings.xml b/java/com/android/dialer/app/res/values-kk/strings.xml index ba4238692..8dfe531a1 100644 --- a/java/com/android/dialer/app/res/values-kk/strings.xml +++ b/java/com/android/dialer/app/res/values-kk/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Қосылып тұрған қоңырауға оралу"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Қоңырау қосу"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Келген қоңыраулар"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Жаппай әрекет режиміне өту"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Жаппай әрекет режиімінен шығу"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> таңдалды"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> таңдауы алынды"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Дауыс-хабарды ойнату"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> контактісін көру"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> нөміріне қоңырау шалу"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Дауыстық пошта"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мин <xliff:g id="SECONDS">%s</xliff:g> сек"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Топтама әрекеттер режимін жабу"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"дауыстық хабар"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"дауыстық хабарлар"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Иә"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Жоқ"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Таңдалған <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> хабарларын жою қажет пе?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> таңдалды"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID (ұялы жабдық анықтағыш)"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM картасынан жүктеу…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM картасының контактілері"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Контактілер қолданбасы қол жетімді емес"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Дауыс арқылы іздеу қол жетімді емес"</string> <string name="call_not_available" msgid="7850148370757361155">"Телефон қоңырауын шалу мүмкін емес, өйткені «Телефон» қолданбасы өшірілген."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Контактілерді іздеу"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> жаңа қабылданбаған қоңыраулар"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Жылдам теруде әлі ешкім жоқ"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Таңдаулыны қосу"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Әлі ешқандай контактілер жоқ"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Контакт қосу"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Барлық нөмірлерді көру үшін кескінді түртіңіз, ал ретін өзгерту үшін түртіп, ұстап тұрыңыз"</string> <string name="remove_contact" msgid="2353580570488923668">"Алып тастау"</string> + <string name="select_all" msgid="408601760696146245">"Барлығын таңдау"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Бейне қоңырау"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Хабар жіберу"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Қоңырау мәліметтері"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Бөгелген нөмірлер"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> бөгеліп қойылған."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Қоңырау шалу есептік жазбалары"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Қосу"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Рұқсаттар орнату"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Жылдам теруді қосу үшін \"Контактілер\" рұқсатын қосыңыз."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Қоңыраулар журналы көру үшін \"Телефон\" рұқсатын қосыңыз."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Контактілерді көру үшін \"Контактілер\" рұқсатын қосыңыз."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Дауыс поштасына қатынасу үшін \"Телефон\" рұқсатын қосыңыз."</string> <string name="permission_no_search" msgid="2424710404207193826">"Контактілерді іздеу үшін \"Контактілер\" рұқсаттарын қосыңыз."</string> <string name="permission_place_call" msgid="8686908130349369423">"Қоңырауды шалу үшін \"Телефон\" рұқсатын қосыңыз."</string> diff --git a/java/com/android/dialer/app/res/values-km/strings.xml b/java/com/android/dialer/app/res/values-km/strings.xml index bdc91cf0b..ed0db05e2 100644 --- a/java/com/android/dialer/app/res/values-km/strings.xml +++ b/java/com/android/dialer/app/res/values-km/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"កំពុងត្រឡប់ទៅកាន់ការហៅ"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"បន្ថែមការហៅ"</string> <string name="actionIncomingCall" msgid="891346596090030558">"ការហៅចូល"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ចូលមុខងារសកម្មភាពច្រើន"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"បានចាកចេញពីមុខងារសកម្មភាពច្រើន"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"បានជ្រើសរើស <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"បានដកការជ្រើសរើស <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"ចាក់សារជាសំឡេង"</string> <string name="description_view_contact" msgid="3940984937384372665">"មើលទំនាក់ទំនង <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"ហៅ <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"សារជាសំឡេង"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> វិនាទី"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> នាទី <xliff:g id="SECONDS">%s</xliff:g> វិនាទី"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"បោះបង់មុខងារសកម្មភាពជាក្រុម"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"សារជាសំឡេង"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"សារជាសំឡេង"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"បាទ/ចាស"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ទេ"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"លុប <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ដែលបានជ្រើសរើស?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"បានជ្រើសរើស <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> នៅម៉ោង <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"កំពុងផ្ទុកពីស៊ីមកាត..."</string> <string name="simContacts_title" msgid="7961069730386378887">"ទំនាក់ទំនងនៅក្នុងស៊ីមកាត"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"មិនមានកម្មវិធីទំនាក់ទំនងទេ"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"ការស្វែងរកជាសម្លេងមិនមានទេ"</string> <string name="call_not_available" msgid="7850148370757361155">"មិនអាចហៅបានទេ ព្រោះកម្មវិធីទូរស័ព្ទត្រូវបានបិទ។"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"រកទំនាក់ទំនង"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"ខកខានទទួលថ្មី <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"គ្មាននរណាម្នាក់នៅក្នុងការហៅរហ័សរបស់អ្នកនៅឡើយទេ"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"បញ្ចូលសំណព្វ"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"អ្នកមិនទាន់មានទំនាក់ទំនងនៅឡើយទេ"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"បន្ថែមទំនាក់ទំនង"</string> <string name="contact_tooltip" msgid="8871614660967439999">"ប៉ះរូបភាពដើម្បីមើលលេខទាំងអស់ ឬប៉ះ & សង្កត់ឲ្យជាប់ដើម្បីតម្រៀបឡើងវិញ"</string> <string name="remove_contact" msgid="2353580570488923668">"លុបចេញ"</string> + <string name="select_all" msgid="408601760696146245">"ជ្រើសរើសទាំងអស់"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"ហៅជាវីដេអូ"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"ផ្ញើសារ"</string> <string name="call_log_action_details" msgid="2091370737371449501">"ព័ត៌មានលម្អិតអំពីការហៅ"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"លេខបានរារាំង"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ត្រូវបានទប់ស្កាត់រួចហើយ"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"គណនីហៅទូរសព្ទ"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"បើក"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"កំណត់សិទ្ធិអនុញ្ញាត"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"ដើម្បីបើកដំណើរការហៅរហ័ស សូមបើកសិទ្ធិអនុញ្ញាតកម្មវិធីទំនាក់ទំនង។"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"ដើម្បីមើលកំណត់ហេតុហៅទូរស័ព្ទរបស់អ្នក សូមបើកសិទ្ធិអនុញ្ញាតកម្មវិធីហៅទូរស័ព្ទ។"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"ដើម្បីមើលទំនាក់ទំនងរបស់អ្នក សូមបើកសិទ្ធិអនុញ្ញាតកម្មវិធីទំនាក់ទំនង។"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"ដើម្បីចូលដំណើរការសារជាសំឡេងរបស់អ្នក សូមបើកសិទ្ធិអនុញ្ញាតកម្មវិធីហៅទូរស័ព្ទ។"</string> <string name="permission_no_search" msgid="2424710404207193826">"ដើម្បីស្វែងរកទំនាក់ទំនងរបស់អ្នក សូមបើកសិទ្ធិអនុញ្ញាតទំនាក់ទំនង។"</string> <string name="permission_place_call" msgid="8686908130349369423">"ដើម្បីធ្វើការហៅទូរស័ព្ទ សូមបើកសិទ្ធិអនុញ្ញាតកម្មវិធីហៅទូរស័ព្ទ។"</string> diff --git a/java/com/android/dialer/app/res/values-kn/strings.xml b/java/com/android/dialer/app/res/values-kn/strings.xml index dae544d3f..932bc4035 100644 --- a/java/com/android/dialer/app/res/values-kn/strings.xml +++ b/java/com/android/dialer/app/res/values-kn/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"ಪ್ರತ್ಯತ್ತರ ಕರೆಯು ಪ್ರಗತಿಯಲ್ಲಿದೆ"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"ಕರೆಯನ್ನು ಸೇರಿಸಿ"</string> <string name="actionIncomingCall" msgid="891346596090030558">"ಒಳಬರುವ ಕರೆಗಳು"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ದೊಡ್ಡ ಪ್ರಮಾಣದ ಕ್ರಿಯೆಯ ಮೋಡ್ಗೆ ಪ್ರವೇಶಿಸಲಾಗುತ್ತಿದೆ"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ದೊಡ್ಡ ಪ್ರಮಾಣದ ಕ್ರಿಯೆಯ ಮೋಡ್ ತೊರೆಯಲಾಗಿದೆ"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ಆಯ್ಕೆಯನ್ನು ರದ್ದುಮಾಡಲಾಗಿದೆ"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"ಧ್ವನಿಮೇಲ್ ಪ್ಲೇ ಮಾಡಿ"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> ಸಂಪರ್ಕ ವೀಕ್ಷಿಸಿ"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ಕರೆ ಮಾಡಿ"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"ಧ್ವನಿಮೇಲ್"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ಸೆಕೆಂ"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> ನಿಮಿ <xliff:g id="SECONDS">%s</xliff:g> ಸೆಕೆಂ"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"ಬ್ಯಾಚ್ ಕ್ರಿಯೆಗಳ ಮೋಡ್ ಅನ್ನು ರದ್ದುಮಾಡಿ"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ಧ್ವನಿಮೇಲ್"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ಧ್ವನಿಮೇಲ್ಗಳು"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ಹೌದು"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ಇಲ್ಲ"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ಆಯ್ಕೆ ಮಾಡಲಾದ <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ಅನ್ನು ಅಳಿಸುವುದೇ?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ರಂದು <xliff:g id="TIME">%2$s</xliff:g> ಗಂಟೆಗೆ"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"ಸಿಮ್ ಕಾರ್ಡ್ನಿಂದ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string> <string name="simContacts_title" msgid="7961069730386378887">"ಸಿಮ್ ಕಾರ್ಡ್ ಸಂಪರ್ಕಗಳು"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"ಯಾವುದೇ ಸಂಪರ್ಕಗಳ ಅಪ್ಲಿಕೇಶನ್ ಲಭ್ಯವಿಲ್ಲ"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"ಧ್ವನಿ ಹುಡುಕಾಟ ಲಭ್ಯವಿಲ್ಲ"</string> <string name="call_not_available" msgid="7850148370757361155">"ಫೋನ್ ಅಪ್ಲಿಕೇಶನ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿರುವುದರಿಂದ ಫೋನ್ ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"ಸಂಪರ್ಕಗಳನ್ನು ಹುಡುಕಿ"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ಹೊಸ ಮಿಸ್ಡ್ ಕರೆಗಳು"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"ನಿಮ್ಮ ತ್ವರಿತ ಡಯಲ್ನಲ್ಲಿ ಇದುವರೆಗೆ ಯಾರೂ ಇಲ್ಲ"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ಮೆಚ್ಚಿನದನ್ನು ಸೇರಿಸಿ"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"ನೀವು ಇನ್ನೂ ಯಾವುದೇ ಸಂಪರ್ಕಗಳನ್ನು ಹೊಂದಿಲ್ಲ"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ಸಂಪರ್ಕ ಸೇರಿಸಿ"</string> <string name="contact_tooltip" msgid="8871614660967439999">"ಎಲ್ಲಾ ಸಂಖ್ಯೆಗಳನ್ನು ನೋಡಲು ಚಿತ್ರವನ್ನು ಸ್ಪರ್ಶಿಸಿ ಅಥವಾ ಮರುಕ್ರಮಗೊಳಿಸಲು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹೋಲ್ಡ್ ಮಾಡಿ"</string> <string name="remove_contact" msgid="2353580570488923668">"ತೆಗೆದುಹಾಕು"</string> + <string name="select_all" msgid="408601760696146245">"ಎಲ್ಲವನ್ನೂ ಆಯ್ಕೆ ಮಾಡಿ"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"ವೀಡಿಯೊ ಕರೆ"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"ಸಂದೇಶ ಕಳುಹಿಸಿ"</string> <string name="call_log_action_details" msgid="2091370737371449501">"ಕರೆಯ ವಿವರಗಳು"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"ನಿರ್ಬಂಧಿಸಲಾದ ಸಂಖ್ಯೆಗಳು"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ಈಗಾಗಲೇ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"ಕರೆ ಮಾಡುವ ಖಾತೆಗಳು"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"ಆನ್ ಮಾಡಿ"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿಸು"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"ವೇಗ ಡಯಲ್ ಸಕ್ರಿಯಗೊಳಿಸಲು, ಸಂಪರ್ಕಗಳ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"ನಿಮ್ಮ ಕರೆಯ ಲಾಗ್ ಅನ್ನು ವೀಕ್ಷಿಸಲು, ಫೋನ್ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ವೀಕ್ಷಿಸಲು, ಸಂಪರ್ಕಗಳ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"ನಿಮ್ಮ ಧ್ವನಿಮೇಲ್ ಪ್ರವೇಶಿಸಲು, ಫೋನ್ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string> <string name="permission_no_search" msgid="2424710404207193826">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ಹುಡುಕಲು, ಸಂಪರ್ಕಗಳ ಅನುಮತಿಗಳನ್ನು ಆನ್ ಮಾಡಿ."</string> <string name="permission_place_call" msgid="8686908130349369423">"ಕರೆ ಮಾಡಲು, ಫೋನ್ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string> diff --git a/java/com/android/dialer/app/res/values-ko/strings.xml b/java/com/android/dialer/app/res/values-ko/strings.xml index 1850b6ce1..de6b93c01 100644 --- a/java/com/android/dialer/app/res/values-ko/strings.xml +++ b/java/com/android/dialer/app/res/values-ko/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"진행 중인 통화로 돌아가기"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"통화 추가"</string> <string name="actionIncomingCall" msgid="891346596090030558">"수신전화"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"일괄 작업 모드 시작 중"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"일괄 작업 모드 종료됨"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> 선택됨"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> 선택 취소됨"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"음성사서함 재생"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g>님의 연락처 보기"</string> <string name="description_call" msgid="1532402285334775372">"전화걸기: <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"음성사서함"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g>초"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g>분 <xliff:g id="SECONDS">%s</xliff:g>초"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"일괄 작업 모드 취소"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"음성사서함"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"음성사서함"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"예"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"아니요"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"선택한 <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>을(를) 삭제하시겠습니까?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g>개 선택됨"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>분 <xliff:g id="SECONDS">%2$02d</xliff:g>초"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM 카드에서 로딩 중..."</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM 카드 주소록"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"사용할 수 있는 주소록 앱이 없습니다."</string> <string name="voice_search_not_available" msgid="6546240433719732905">"음성검색이 지원되지 않습니다."</string> <string name="call_not_available" msgid="7850148370757361155">"전화 애플리케이션을 사용 중지했으므로 전화를 걸 수 없습니다."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"주소록 검색"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"새로운 부재중 전화 <xliff:g id="NUMBER">%s</xliff:g>건"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"아직 단축 다이얼이 설정된 연락처가 없습니다."</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"단축 다이얼 추가"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"아직 연락처가 없습니다."</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"연락처 추가"</string> <string name="contact_tooltip" msgid="8871614660967439999">"이미지를 터치하여 모든 번호를 확인하거나 길게 터치하여 재정렬합니다."</string> <string name="remove_contact" msgid="2353580570488923668">"삭제"</string> + <string name="select_all" msgid="408601760696146245">"모두 선택"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"화상 통화"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"메시지 보내기"</string> <string name="call_log_action_details" msgid="2091370737371449501">"통화 세부정보"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"차단된 번호"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g>번은 이미 차단되었습니다."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"통화 계정"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"사용"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"권한 설정"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"단축번호를 사용하려면 주소록 권한을 사용하도록 설정하세요."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"통화 기록을 보려면 전화 권한을 사용하도록 설정하세요."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"주소록을 보려면 주소록 권한을 사용하도록 설정하세요."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"음성사서함에 액세스하려면 전화 권한을 사용하도록 설정하세요."</string> <string name="permission_no_search" msgid="2424710404207193826">"주소록을 검색하려면 주소록 권한을 사용하도록 설정하세요."</string> <string name="permission_place_call" msgid="8686908130349369423">"전화를 걸려면 전화 권한을 사용하도록 설정하세요."</string> diff --git a/java/com/android/dialer/app/res/values-ky/strings.xml b/java/com/android/dialer/app/res/values-ky/strings.xml index 9e80e29ee..ac9a617ed 100644 --- a/java/com/android/dialer/app/res/values-ky/strings.xml +++ b/java/com/android/dialer/app/res/values-ky/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Токтотулган чалууга кайтуу"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Чалууну кошуу"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Кирүүчү чалуулар"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Жапырт аракет режимине кирдиңиз"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Жапырт аракет режиминен чыктыңыз"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> объект тандалды"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> объект тандоодон чыгарылды"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Үнкатты угуу"</string> <string name="description_view_contact" msgid="3940984937384372665">"Байланышты кароо <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Чалуу <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Үн почтасы"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мүн. <xliff:g id="SECONDS">%s</xliff:g> сек."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Жапырт аракет режимин жокко чыгаруу"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"үн почтасы"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"үн почталары"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ооба"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Жок"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Тандалган <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> жок кылынсынбы?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> тандалды"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> саат <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM картадан жүктөлүүдө..."</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM картадагы байланыштар"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Жеткиликтүү байланыштар колдонмосу жок"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Үн менен издөө жеткиликтүү эмес"</string> <string name="call_not_available" msgid="7850148370757361155">"Телефон колдонмосу өчүрүлгөндүктөн, чалуу мүмкүн болбой жатат."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Байланыштарды издөө"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> жаңы өткөзүлгөн чалуу"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Азырынча тез териле турган номерлер жок"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Сүйүктүү номер кошуу"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Азырынча бир дагы байланышыңыз жок"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Байланыш кошуу"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Бардык номерлерди көрүү үчүн, сүрөткө тийип коюңуз же коё бербей басып туруп иретин өзгөртсөңүз болот."</string> <string name="remove_contact" msgid="2353580570488923668">"Алып салуу"</string> + <string name="select_all" msgid="408601760696146245">"Баарын тандоо"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Видео чалуу"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Билдирүү жөнөтүү"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Чалуунун чоо-жайы"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Бөгөттөлгөн номерлер"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> мурунтан эле бөгөттөлгөн."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Чалуу каттоо эсептери"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Күйгүзүү"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Уруксаттарды берүү"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Тез терүүнү иштетүү үчүн, \"Байланыштар\" колдонмосуна уруксат бериңиз."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Чалуулар таржымалыңызды көрүү үчүн, \"Телефон\" колдонмосуна уруксат бериңиз."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Байланыштар тизмесин көрүү үчүн, \"Байланыштар\" колдонмосуна уруксат бериңиз."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Үн почтаңызга кирүү үчүн, \"Телефон\" колдонмосуна уруксат бериңиз."</string> <string name="permission_no_search" msgid="2424710404207193826">"Байланыштарыңызды издөө үчүн, Байланыштарга уруксатты күйгүзүңүз."</string> <string name="permission_place_call" msgid="8686908130349369423">"Чалуу үчүн, \"Телефон\" колдонмосуна уруксат бериңиз."</string> diff --git a/java/com/android/dialer/app/res/values-lo/strings.xml b/java/com/android/dialer/app/res/values-lo/strings.xml index 8284e8de0..2a829730f 100644 --- a/java/com/android/dialer/app/res/values-lo/strings.xml +++ b/java/com/android/dialer/app/res/values-lo/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"ກັບໄປການໂທທີ່ກຳລັງດຳເນີນຢູ່"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"ເພີ່ມການໂທ"</string> <string name="actionIncomingCall" msgid="891346596090030558">"ສາຍໂທເຂົ້າ"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ກຳລັງເຂົ້າໂໝດຄຳສັ່ງຈຳນວນຫຼາຍ"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ອອກຈາກໂໝດຄຳສັ່ງຈຳນວນຫຼາຍແລ້ວ"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"ເລືອກ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ແລ້ວ"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"ເຊົາເລືອກ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ແລ້ວ"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"ເປີດຂໍ້ຄວາມສຽງ"</string> <string name="description_view_contact" msgid="3940984937384372665">"ເບິ່ງລາຍຊື່ຜູ່ຕິດຕໍ່ <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"ໂທຫາ <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"ຂໍ້ຄວາມສຽງ"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ວິນາທີ"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> ນທ <xliff:g id="SECONDS">%s</xliff:g> ວິ"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"ຍົກເລີກໂໝດຄຳສັ່ງເປັນຊຸດ"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ຂໍ້ຄວາມສຽງ"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ຂໍ້ຄວາມສຽງ"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ແມ່ນແລ້ວ"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ບໍ່"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ລຶບ <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ທີ່ເລືອກອອກໄປບໍ?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"ເລືອກ <xliff:g id="NUMBER">%1$s</xliff:g> ລາຍການແລ້ວ"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ເວລາ <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"ກຳລັງໂຫລດຈາກ SIM card..."</string> <string name="simContacts_title" msgid="7961069730386378887">"ລາຍຊື່ຜູ່ຕິດຕໍ່ SIM card"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"ບໍ່ມີແອັບຯລາຍຊື່ຕິດຕໍ່ຢູ່"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"ບໍ່ມີການຊອກຫາດ້ວຍສຽງຢູ່"</string> <string name="call_not_available" msgid="7850148370757361155">"ບໍ່ສາມາດໂທໄດ້ເນື່ອງຈາກແອັບພລິເຄຊັນໂທລະສັບຖືກປິດການນຳໃຊ້ໄວ້."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"ຊອກຫາລາຍຊື່ຜູ່ຕິດຕໍ່"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ສາຍທີ່ບໍ່ໄດ້ຮັບໃໝ່"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"ບໍ່ມີຜູ້ໃດຢູ່ໃນການໂທດ່ວນຂອງທ່ານເທື່ອ"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ເພີ່ມລາຍການທີ່ມັກ"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"ທ່ານບໍ່ມີລາຍຊື່ໃດເທື່ອ"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ເພີ່ມລາຍຊື່"</string> <string name="contact_tooltip" msgid="8871614660967439999">"ແຕະຮູບເພື່ອເບິ່ງເບີໂທທັງໝົດ ຫຼື ແຕະຄ້າງໄວ້ເພື່ອຈັດລຳດັບໃໝ່"</string> <string name="remove_contact" msgid="2353580570488923668">"ລຶບອອກ"</string> + <string name="select_all" msgid="408601760696146245">"ເລືອກທັງໝົດ"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"ໂທດ້ວຍວິດີໂອ"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"ສົ່ງຂໍ້ຄວາມ"</string> <string name="call_log_action_details" msgid="2091370737371449501">"ລາຍລະອຽດການໂທ"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"ເບີໂທລະສັບທີ່ບລັອກໄວ້"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ຖືກບລັອກແລ້ວ."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"ບັນຊີໂທ"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"ເປີດ"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"ຕັ້ງການອະນຸຍາດ"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"ເພື່ອເປີດໃຊ້ງານການໂທດ່ວນ, ເປີດການອະນຸຍາດລາຍຊື່."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"ເພື່ອເບິ່ງບັນທຶກການໂທຂອງທ່ານ, ເປີດການອະນຸຍາດໂທລະສັບ."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"ເພື່ອເບິ່ງລາຍຊື່ຂອງທ່ານ, ເປີດການອະນຸຍາດລາຍຊື່"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"ເພື່ອເຂົ້າຫາຂໍ້ຄວາມສຽງຂອງທ່ານ, ເປີດການອະນຸຍາດໂທລະສັບ."</string> <string name="permission_no_search" msgid="2424710404207193826">"ເພື່ອຄົ້ນຫາລາຍາຊື່ຂອງທ່ານ, ໃຫ້ເປີດການອະນຸຍາດລາຍຊື່."</string> <string name="permission_place_call" msgid="8686908130349369423">"ເພື່ອເຮັດການໂທ, ເປີດການອະນຸຍາດໂທລະສັບ."</string> diff --git a/java/com/android/dialer/app/res/values-lt/strings.xml b/java/com/android/dialer/app/res/values-lt/strings.xml index a346d5d0a..367c928f4 100644 --- a/java/com/android/dialer/app/res/values-lt/strings.xml +++ b/java/com/android/dialer/app/res/values-lt/strings.xml @@ -87,6 +87,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Grįžti prie vykdomo skambučio"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Pridėti skambutį"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Gaunami skambučiai"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Įjungiamas masinių veiksmų režimas"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Masinių veiksmų režimas išjungtas"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Pasirinkta: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Pasirinkimas atšauktas: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Paleisti balso pašto pranešimus"</string> <string name="description_view_contact" msgid="3940984937384372665">"Žiūrėti kontaktą <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Skambinti <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -101,11 +105,13 @@ <string name="voicemail" msgid="8899540969000957954">"Balso paštas"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Atšaukti masinių veiksmų režimą"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"balso pašto praneš."</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"balso pašto praneš."</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Taip"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Ištrinti pasir. <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Pasirinkta: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -118,7 +124,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Įkeliama iš SIM kortelės..."</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM kortelės adresatai"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nepasiekiama jokia kontaktų programa"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Paieška balsu nepasiekiama"</string> <string name="call_not_available" msgid="7850148370757361155">"Negalima skambinti telefonu, nes Telefono programa išjungta."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Ieškoti adresatų"</string> @@ -147,10 +152,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Naujų praleistų skambučių: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Dar nieko neįtraukėte į sparčiojo rinkimo sąrašą"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Pridėti mėgstamiausią"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Dar neturite kontaktų"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Pridėti kontaktą"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Palieskite vaizdą, kad peržiūrėtumėte visus numerius, arba palieskite ir palaikykite, kad pertvarkytumėte"</string> <string name="remove_contact" msgid="2353580570488923668">"Pašalinti"</string> + <string name="select_all" msgid="408601760696146245">"Pasirinkti viską"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Vaizdo skambutis"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Siųsti pranešimą"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Išsami skambučio informacija"</string> @@ -217,11 +221,9 @@ <string name="block_list" msgid="4701585783411870782">"Užblokuoti numeriai"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> jau užblokuotas."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Skambinimo paskyros"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Įjungti"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Nustatyti leidimus"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Jei norite įgalinti spartųjį rinkimą, įjunkite Kontaktų programos leidimą."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Jei norite peržiūrėti skambučių žurnalą, įjunkite Telefono programos leidimą."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Jei norite peržiūrėti kontaktus, įjunkite Kontaktų programos leidimą."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Jei norite pasiekti balso paštą, įjunkite Telefono programos leidimą."</string> <string name="permission_no_search" msgid="2424710404207193826">"Kad galėtumėte ieškoti kontaktų, įjunkite Kontaktų leidimus."</string> <string name="permission_place_call" msgid="8686908130349369423">"Jei norite paskambinti, įjunkite Telefono programos leidimą."</string> diff --git a/java/com/android/dialer/app/res/values-lv/strings.xml b/java/com/android/dialer/app/res/values-lv/strings.xml index 808d7bfb7..2713b91b6 100644 --- a/java/com/android/dialer/app/res/values-lv/strings.xml +++ b/java/com/android/dialer/app/res/values-lv/strings.xml @@ -86,6 +86,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Atgriezties pie pašreizējā zvana"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Pievienot zvanu"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Ienākošie zvani"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Tiek atvērts lielapjoma darbību režīms"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Tika aizvērts lielapjoma darbību režīms"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Atlasīt: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Noņemt atlasi: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Atskaņot balss pasta ziņojumu"</string> <string name="description_view_contact" msgid="3940984937384372665">"Skatīt kontaktpersonu <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Zvanīt: <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -100,11 +104,13 @@ <string name="voicemail" msgid="8899540969000957954">"Balss pasts"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Iziet no grupas darbību režīma"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"balss pasta ziņojums"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"balss pasta ziņojumi"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Jā"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nē"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Vai dzēst atlasi: <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Atlasīti: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> plkst. <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -117,7 +123,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Notiek ielāde no SIM kartes..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontaktpersonas SIM kartē"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nav pieejama neviena kontaktpersonu lietotne."</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Meklēšana ar balsi nav pieejama."</string> <string name="call_not_available" msgid="7850148370757361155">"Nevar veikt tālruņa zvanu, jo lietojumprogramma Tālrunis tika atspējota."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Meklēt kontaktpersonas"</string> @@ -146,10 +151,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Jauni neatbildēti zvani: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Ātro zvanu sarakstā vēl nav nevienas kontaktpersonas."</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Pievienot izlasei"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Jums vēl nav nevienas kontaktpersonas."</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Pievienot kontaktpersonu"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Pieskarieties attēlam, lai skatītu visus numurus, vai pieskarieties attēlam un turiet to, lai veiktu pārkārtošanu."</string> <string name="remove_contact" msgid="2353580570488923668">"Noņemt"</string> + <string name="select_all" msgid="408601760696146245">"Atlasīt visu"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videozvans"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Sūtīt ziņojumu"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Informācija par zvanu"</string> @@ -215,11 +219,9 @@ <string name="block_list" msgid="4701585783411870782">"Bloķētie numuri"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> jau ir bloķēts."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Zvanu konti"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Ieslēgt"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Iestatīt atļaujas"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Lai iespējotu ātros zvanus, ieslēdziet atļauju Kontaktpersonas."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Lai skatītu zvanu žurnālu, ieslēdziet atļauju Tālrunis."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Lai skatītu kontaktpersonas, ieslēdziet atļauju Kontaktpersonas."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Lai piekļūtu balss pastam, ieslēdziet atļauju Tālrunis."</string> <string name="permission_no_search" msgid="2424710404207193826">"Lai meklētu savas kontaktpersonas, ieslēdziet atļauju Kontaktpersonas."</string> <string name="permission_place_call" msgid="8686908130349369423">"Lai veiktu zvanu, ieslēdziet atļauju Tālrunis."</string> diff --git a/java/com/android/dialer/app/res/values-mk/strings.xml b/java/com/android/dialer/app/res/values-mk/strings.xml index 6d2e533a5..09725a642 100644 --- a/java/com/android/dialer/app/res/values-mk/strings.xml +++ b/java/com/android/dialer/app/res/values-mk/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Врати се на повик во тек"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Додај повик"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Дојдовни повици"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Влегувате во режим на групно дејство"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Излеговте од режим на групно дејство"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Избрано е <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Поништен е изборот на <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Преслушај говорна пошта"</string> <string name="description_view_contact" msgid="3940984937384372665">"Прикажи контакт <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Повикај <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Говорна пошта"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мин. <xliff:g id="SECONDS">%s</xliff:g> сек."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Откажи го режимот на групни дејства"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"говорна пошта"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"говорни пораки"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Да"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Не"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Да се избришат избраните <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Избрани се <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> во <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Вчитување од SIM картичка..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Контакти од SIM картичка"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Не е достапна апликација за контакти"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Гласовното пребарување не е достапно"</string> <string name="call_not_available" msgid="7850148370757361155">"Не може да се воспостави телефонски повик, бидејќи апликацијата Телефон е оневозможена."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Пребарај контакти"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> нови пропуштени повици"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Сè уште немате никого на брзо бирање"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Додај омилено"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Сè уште немате контакти"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Додај контакт"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Допрете ја сликата за да ги видите сите броеви или допрете и држете за промена на редоследот"</string> <string name="remove_contact" msgid="2353580570488923668">"Отстрани"</string> + <string name="select_all" msgid="408601760696146245">"Изберете ги сите"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Видеоповик"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Испрати порака"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Детали на повик"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Блокирани броеви"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> веќе е блокиран."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Сметки за повикување"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Вклучи"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Постави дозволи"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"За да овозможите брзо бирање, вклучете ја дозволата за контакти."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"За да ја видите евиденцијата на повици, вклучете ја дозволата за телефон."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"За да ги видите контактите, вклучете ја дозволата за контакти."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"За да пристапите кон говорната пошта, вклучете ја дозволата за телефон."</string> <string name="permission_no_search" msgid="2424710404207193826">"За да ги пребарувате контактите, вклучете ги дозволите за контакти."</string> <string name="permission_place_call" msgid="8686908130349369423">"За да воспоставите повик, вклучете ја дозволата за телефон."</string> diff --git a/java/com/android/dialer/app/res/values-ml/strings.xml b/java/com/android/dialer/app/res/values-ml/strings.xml index 91accf442..7655dbe23 100644 --- a/java/com/android/dialer/app/res/values-ml/strings.xml +++ b/java/com/android/dialer/app/res/values-ml/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"വിളിച്ചുകൊണ്ടിരിക്കുന്ന കോളിലേക്ക് മടങ്ങുക"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"കോൾ ചേർക്കുക"</string> <string name="actionIncomingCall" msgid="891346596090030558">"ഇൻകമിംഗ് കോളുകൾ"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ബൾക്ക് പ്രവർത്തന മോഡിലേക്ക് പ്രവേശിക്കുന്നു"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ബൾക്ക് പ്രവർത്തന മോഡ് വിട്ടു"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> തിരഞ്ഞെടുത്തു"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> തിരഞ്ഞെടുത്തത് മാറ്റി"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"വോയ്സ്മെയിൽ പ്ലേ ചെയ്യുക"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> എന്ന കോൺടാക്റ്റ് കാണുക"</string> <string name="description_call" msgid="1532402285334775372">"വിളിക്കുക <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"വോയ്സ്മെയിൽ"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> സെക്കൻഡ്"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> മി. <xliff:g id="SECONDS">%s</xliff:g> സെ."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"\'ബാച്ച് പ്രവർത്തനങ്ങൾ\' മോഡ് റദ്ദാക്കുക"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"വോയ്സ്മെയിൽ"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"വോയ്സ്മെയിലുകൾ"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"അതെ"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ഇല്ല"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"തിരഞ്ഞെടുത്ത <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ഇല്ലാതാക്കണോ?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> എണ്ണം തിരഞ്ഞെടുത്തു"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>-ന്"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"സിം കാർഡിൽ നിന്നും ലോഡുചെയ്യുന്നു…"</string> <string name="simContacts_title" msgid="7961069730386378887">"സിം കാർഡ് കോൺടാക്റ്റുകൾ"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"കോൺടാക്റ്റ് അപ്ലിക്കേഷനൊന്നും ലഭ്യമല്ല"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"വോയ്സ് തിരയൽ ലഭ്യമല്ല"</string> <string name="call_not_available" msgid="7850148370757361155">"ഫോൺ അപ്ലിക്കേഷൻ പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നതിനാൽ ഫോൺ കോൾ ചെയ്യാനാകില്ല."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"കോണ്ടാക്റ്റുകള് തിരയുക"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> പുതിയ മിസ്ഡ് കോളുകൾ"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"ഇതുവരെ ആരും നിങ്ങളുടെ സ്പീഡ് ഡയലിൽ ഇല്ല"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"പ്രിയപ്പെട്ടത് ചേർക്കുക"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"നിങ്ങൾക്ക് ഇതുവരെയും കോൺടാക്റ്റുകൾ ഒന്നുമില്ല."</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ഒരു കോണ്ടാക്റ്റ് ചേര്ക്കുക"</string> <string name="contact_tooltip" msgid="8871614660967439999">"എല്ലാ നമ്പറുകളും കാണാൻ ചിത്രം സ്പർശിക്കുക അല്ലെങ്കിൽ വീണ്ടും ക്രമീകരിക്കാൻ സ്പർശിച്ച് പിടിക്കുക"</string> <string name="remove_contact" msgid="2353580570488923668">"നീക്കംചെയ്യുക"</string> + <string name="select_all" msgid="408601760696146245">"എല്ലാം തിരഞ്ഞെടുക്കുക"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"വീഡിയോ കോള്"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"ഒരു സന്ദേശം അയയ്ക്കുക"</string> <string name="call_log_action_details" msgid="2091370737371449501">"കോൾ വിശദാംശങ്ങൾ"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"ബ്ലോക്കുചെയ്ത നമ്പറുകൾ"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"ഇതിനകം തന്നെ <xliff:g id="NUMBER">%1$s</xliff:g> ബ്ലോക്കുചെയ്തിരിക്കുന്നു"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"കോളിംഗ് അക്കൗണ്ട്"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"ഓണാക്കുക"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"അനുമതികൾ സജ്ജമാക്കുക"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"സ്പീഡ് ഡയൽ പ്രവർത്തനക്ഷമാക്കുന്നതിന്, \'കോൺടാക്റ്റുകൾ\' അനുമതി ഓണാക്കുക."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"നിങ്ങളുടെ കോൾ ലോഗ് കാണുന്നതിന്, \'ഫോൺ\' അനുമതി ഓണാക്കുക."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"നിങ്ങളുടെ കോൺടാക്റ്റുകൾ കാണുന്നതിന്, \'കോൺടാക്റ്റുകൾ\' അനുമതി ഓണാക്കുക."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"നിങ്ങളുടെ വോയ്സ്മെയിൽ ആക്സസ് ചെയ്യുന്നതിന്, \'ഫോൺ\' അനുമതി ഓണാക്കുക."</string> <string name="permission_no_search" msgid="2424710404207193826">"നിങ്ങളുടെ കോൺടാക്റ്റുകൾ തിരയുന്നതിന് കോൺടാക്റ്റുകൾക്കുള്ള അനുമതികൾ ഓണാക്കുക."</string> <string name="permission_place_call" msgid="8686908130349369423">"കോൾ വിളിക്കുന്നതിന്, \'ഫോൺ\' അനുമതി ഓണാക്കുക."</string> diff --git a/java/com/android/dialer/app/res/values-mn/strings.xml b/java/com/android/dialer/app/res/values-mn/strings.xml index a07a826d5..29bd8af42 100644 --- a/java/com/android/dialer/app/res/values-mn/strings.xml +++ b/java/com/android/dialer/app/res/values-mn/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Үргэлжилж буй дуудлага руу буцах"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Дуудлага нэмэх"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Ирж буй дуудлага"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Багц үйлдлийн горимд орж байна"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Багц үйлдлийн горимоос гарсан"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> сонгосон"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> сонголтыг болиулсан"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Дуут шууданг тоглуулах"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> харилцагчийг харах"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> руу залгах"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Дуут шуудан"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> минут <xliff:g id="SECONDS">%s</xliff:g> секунд"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Багц үйлдлийн горимыг цуцлах"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"дуут шуудан"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"дуут шуудан"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Тийм"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Үгүй"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Сонгосон <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>-г устгах уу?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> сонгосон"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g>-д"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM картаас уншиж байна…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM картны харилцагчид"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Ямар ч харилцагчдын апликейшн байхгүй байна."</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Дуут хайлт хийх боломжгүй байна"</string> <string name="call_not_available" msgid="7850148370757361155">"Утас аппликешныг идэвхгүйжүүлсэн тул утасны дуудлага хийх боломжгүй."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Харилцагчдаас хайх"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> шинэ аваагүй дуудлага"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Таны яаралтай залгах тохиргоон дээр одоогоор харилцагч байхгүй байна"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Таалагдсан хэсэгт нэмэх"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Танд одоогоор харилцагч байхгүй байна"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Харилцагч нэмэх"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Бүх дугаарыг харахын тулд зурганд хүрнэ үү эсвэл жагсаалтыг өөрчлөхийн тулд удаан дарна уу."</string> <string name="remove_contact" msgid="2353580570488923668">"Хасах"</string> + <string name="select_all" msgid="408601760696146245">"Бүгдийг сонгох"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Видео дуудлага"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Зурвас илгээх"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Дуудлагын мэдээлэл"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Блоклосон дугаар"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g>-г аль хэдийн блоклосон байна."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Дуудах бүртгэл"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Идэвхжүүлэх"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Зөвшөөрөл тохируулах"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Яаралтай дуудлагыг идэвхжүүлэхийн тулд Харилцагчдын зөвшөөрлийг идэвхжүүлнэ үү."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Дуудлагын жагсаалтыг харахын тулд утасны зөвшөөрлийг идэвхжүүлнэ үү."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Харилцагчдаа харахын тулд Харилцагчдын зөвшөөрлийг идэвхжүүлнэ үү."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Дуут шууданд хандахын тулд Утасны зөвшөөрлийг идэвхжүүлнэ үү."</string> <string name="permission_no_search" msgid="2424710404207193826">"Харилцагчаа хайхын тулд, Харилцагчийн жагсаалтын зөвшөөрлийг идэвхжүүлнэ үү."</string> <string name="permission_place_call" msgid="8686908130349369423">"Залгахын тулд Утасны зөвшөөрлийг идэвхжүүлнэ үү."</string> diff --git a/java/com/android/dialer/app/res/values-mr/strings.xml b/java/com/android/dialer/app/res/values-mr/strings.xml index 5aca7a5e2..ee21291e8 100644 --- a/java/com/android/dialer/app/res/values-mr/strings.xml +++ b/java/com/android/dialer/app/res/values-mr/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"चालू असलेल्या कॉलवर परत जा"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"कॉल जोडा"</string> <string name="actionIncomingCall" msgid="891346596090030558">"येणारे कॉल"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"मोठ्या प्रमाणात क्रिया मोडमध्ये प्रवेश करीत आहे"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"मोठ्या प्रमाणात क्रिया मोड सोडत आहे"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> निवडले"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ची निवड रद्द केली"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"व्हॉइसमेल प्ले करा"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> संपर्क पहा"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ला कॉल करा"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"व्हॉइसमेल"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> सेकंद"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> मिनिट <xliff:g id="SECONDS">%s</xliff:g> सेकंद"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"बॅच क्रिया मोड रद्द करा"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"व्हॉइसमेल"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"व्हॉइसमेल"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"होय"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"नाही"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"निवडलेले <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> हटवायचेे?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> निवडले"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> रोजी <xliff:g id="TIME">%2$s</xliff:g> वाजता"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"सिम कार्ड मधून लोड करीत आहे..."</string> <string name="simContacts_title" msgid="7961069730386378887">"सिम कार्ड संपर्क"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"कोणताही संपर्क अॅप उपलब्ध नाही"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"व्हॉइस शोध उपलब्ध नाही"</string> <string name="call_not_available" msgid="7850148370757361155">"फोन अनुप्रयोग अक्षम केला गेला असल्याने फोन कॉल करणे शक्य नाही."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"संपर्क शोधा"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> नवीन सुटलेले कॉल"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"अद्याप आपल्या स्पीड डायलवर कोणीही नाही"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"एक आवडते जोडा"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"आपल्याकडे अद्याप कोणतेही संपर्क नाहीत"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"एक संपर्क जोडा"</string> <string name="contact_tooltip" msgid="8871614660967439999">"सर्व नंबर पाहण्यासाठी प्रतिमेस स्पर्श करा किंवा पुन्हा क्रम लावण्यासाठी स्पर्श करा आणि धरून ठेवा"</string> <string name="remove_contact" msgid="2353580570488923668">"काढा"</string> + <string name="select_all" msgid="408601760696146245">"सर्व निवडा"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"व्हिडिओ कॉल"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"एक संदेश पाठवा"</string> <string name="call_log_action_details" msgid="2091370737371449501">"कॉल तपशील"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"अवरोधित केलेले नंबर"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> आधीच अवरोधित केलेला आहे."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"कॉल करण्याची खाती"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"चालू करा"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"परवानग्या सेट करा"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"स्पीड डायल सक्षम करण्यासाठी, संपर्क परवानगी चालू करा."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"आपला कॉल लॉग पाहण्यासाठी, फोन परवानगी चालू करा."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"आपले संपर्क पाहण्यासाठी, संपर्क परवानगी चालू करा."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"आपल्या व्हॉइसमेलमध्ये प्रवेश करण्यासाठी, फोन परवानगी चालू करा."</string> <string name="permission_no_search" msgid="2424710404207193826">"आपले संपर्क शोधण्यासाठी, संपर्क परवानग्या चालू करा."</string> <string name="permission_place_call" msgid="8686908130349369423">"कॉल करण्यासाठी, फोन परवानगी चालू करा."</string> diff --git a/java/com/android/dialer/app/res/values-ms/strings.xml b/java/com/android/dialer/app/res/values-ms/strings.xml index 9dbe541d9..dbb021359 100644 --- a/java/com/android/dialer/app/res/values-ms/strings.xml +++ b/java/com/android/dialer/app/res/values-ms/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Kembali ke panggilan yang sedang berlangsung"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Tambah panggilan"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Panggilan masuk"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Memasuki mod tindakan pukal"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Meninggalkan mod tindakan pukal"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> dipilih"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> dinyahpilih"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Mainkan mel suara"</string> <string name="description_view_contact" msgid="3940984937384372665">"Lihat kenalan <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Panggil <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Mel suara"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> saat"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> saat"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Batalkan mod tindakan kelompok"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"mel suara"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"mel suara"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ya"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Tidak"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Padam <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> yang dipilih?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> dipilih"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> pada <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Memuatkan dari kad SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Kenalan kad SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Tiada apl kenalan tersedia"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Carian suara tidak tersedia"</string> <string name="call_not_available" msgid="7850148370757361155">"Tidak boleh membuat panggilan telefon kerana aplikasi Telefon telah dilumpuhkan."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Cari dalam kenalan"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> panggilan terlepas baharu"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Belum ada sesiapa pada dail pantas anda"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Tambahkan kegemaran"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Anda belum mempunyai sebarang kenalan"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Tambahkan kenalan"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Sentuh imej untuk melihat semua nombor atau sentuh & tahan untuk menyusun semula"</string> <string name="remove_contact" msgid="2353580570488923668">"Alih keluar"</string> + <string name="select_all" msgid="408601760696146245">"Pilih semua"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Panggilan video"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Hantar mesej"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Butiran panggilan"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Nombor yang disekat"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> sudah disekat."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Akaun panggilan"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Hidupkan"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Tetapkan kebenaran"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Untuk mendayakan dail laju, hidupkan kebenaran Kenalan."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Untuk melihat log panggilan anda, hidupkan kebenaran Telefon."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Untuk melihat kenalan anda, hidupkan kebenaran Kenalan."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Untuk mengakses mel suara anda, hidupkan kebenaran Telefon."</string> <string name="permission_no_search" msgid="2424710404207193826">"Untuk mencari kenalan anda, hidupkan kebenaran Kenalan."</string> <string name="permission_place_call" msgid="8686908130349369423">"Untuk membuat panggilan, hidupkan kebenaran Telefon."</string> diff --git a/java/com/android/dialer/app/res/values-my/strings.xml b/java/com/android/dialer/app/res/values-my/strings.xml index 2b51b2054..eecfeb234 100644 --- a/java/com/android/dialer/app/res/values-my/strings.xml +++ b/java/com/android/dialer/app/res/values-my/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"ဖုန်းပြန်ခေါ်မှု ပြုလုပ်နေစဉ်"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"ဖုန်းခေါ်မှု ထပ်ထည့်ပါ"</string> <string name="actionIncomingCall" msgid="891346596090030558">"အဝင်ခေါ်ဆိုမှုများ"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"တပြိုင်နက်တည်း စုပြုံလုပ်ဆောင်ချက်မုဒ်ကို ထည့်သွင်းခြင်း"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"တပြိုင်နက်တည်း စုပြုံလုပ်ဆောင်ချက်မုဒ်မှ ထွက်လိုက်သည်"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"ရွေးချယ်ထားသော <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"မရွေးချယ်ထားသော <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"အသံပို့စာ နားထောင်ရန်"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> လိပ်စာကြည့်ရန်"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ကိုခေါ်ပါ"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"အသံစာပို့စနစ်"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> စက္ကန့်"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> မိနစ် <xliff:g id="SECONDS">%s</xliff:g> စက္ကန့်"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"တပြိုင်နက်တည်း စုပြုံလုပ်ဆောင်ချက်များမုဒ်ကိ ပယ်ဖျက်ရန်"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"အသံမေးလ်"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"အသံမေးလ်များ"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Yes"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"No"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ရွေးထားသော <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ကို ဖျက်လိုပါသလား။"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ကို ရွေးချယ်ထားသည်"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g> ၌"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEIDနံပါတ်"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"ဆင်းမ်ကဒ်မှ ဖွင့်နေပါသည်..."</string> <string name="simContacts_title" msgid="7961069730386378887">"ဆင်းမ်ကဒ်မှ အဆက်အသွယ်များ"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"အဆက်အသွယ်များ app မရှိ"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"အသံဖြင့် ရှာဖွေမှု မရှိ"</string> <string name="call_not_available" msgid="7850148370757361155">"ဖုန်း အပလီကေးရှင်းကို ပိတ်ထား၍ ဖုန်း ခေါ်ဆိုမှု မပြုလုပ်နိုင်ခဲ့ပါ။"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"အဆက်အသွယ်များရှာပါ"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"လွတ်သွားသောဖုန်း <xliff:g id="NUMBER">%s</xliff:g> ခါ"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"သင်၏အမြန်ခေါ်စာရင်းတွင် မည်သူမျှ မရှိသေးပါ"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"အနှစ်သက်ဆုံးတစ်ခု ထည့်ရန်"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"သင့်တွင် မည်သည့်အဆက်အသွယ်မျှ မရှိသေးပါ"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"အဆက်အသွယ်တစ်ယောက် ထည့်မည်"</string> <string name="contact_tooltip" msgid="8871614660967439999">"နံပါတ်အားလုံးကိုကြည့်ရန် ပုံကိုထိပါ (သို့) ပြန်စီရန် ထိပြီးဖိထားပါ"</string> <string name="remove_contact" msgid="2353580570488923668">"ဖယ်ရှာခြင်း"</string> + <string name="select_all" msgid="408601760696146245">"အားလုံးကို ရွေးချယ်ပါ"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"ဗီဒီယို ခေါ်ဆိုမှု"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"စာ တစ်စောင် ပို့ပါ"</string> <string name="call_log_action_details" msgid="2091370737371449501">"ဖုန်းခေါ်မှု အသေးစိတ်အချက်အလက်"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"ပိတ်ထားသည့် နံပါတ်များ"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> အားပိတ်ဆို့ထားပြီးပါပြီ။"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"ခေါ်ဆိုသော အကောင့်များ"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"ဖွင့်ထားရန်"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"ခွင့်ပြုချက်များ သတ်မှတ်မည်"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"မြန်နှုန်းမြင့်ဖုန်းခေါ်ဆိုမှုကို ဖွင့်ရန်၊ အဆက်အသွယ်ခွင့်ပြုချက်ကို ဖွင့်ပါ။"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"ခေါ်ဆိုမှုမှတ်တမ်းကို ကြည့်ရန်၊ ဖုန်းခွင့်ပြုချက်ကို ဖွင့်ပါ။"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"အဆက်အသွယ်များကိုကြည့်ရန်၊ အဆက်အသွယ်ခွင့်ပြုချက်ကို ဖွင့်ပါ။"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"အသံမေးလ်ကိုအသုံးပြုရန်၊ ဖုန်းခွင့်ပြုချက်ကိုဖွင့်ပါ။"</string> <string name="permission_no_search" msgid="2424710404207193826">"သင့်အဆက်အသွယ်များကို ရှာဖွေရန်၊ အဆက်အသွယ်ခွင့်ပြုချက်များကို ဖွင့်ပါ။"</string> <string name="permission_place_call" msgid="8686908130349369423">"ဖုန်းခေါ်ဆိုရန်၊ ဖုန်းခွင့်ပြုချက်ကိုဖွင့်ပါ။"</string> diff --git a/java/com/android/dialer/app/res/values-nb/strings.xml b/java/com/android/dialer/app/res/values-nb/strings.xml index d92edc649..bda4915b5 100644 --- a/java/com/android/dialer/app/res/values-nb/strings.xml +++ b/java/com/android/dialer/app/res/values-nb/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Gå tilbake til aktiv samtale"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Legg til en samtale"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Innkommende samtaler"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Starter massehandlingsmodus"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Massehandlingsmodus er avsluttet"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Du har valgt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Du har valgt bort <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Spill av talemelding"</string> <string name="description_view_contact" msgid="3940984937384372665">"Se kontakten <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Ring <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Telefonsvarer"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Avbryt massehandlinsmodus"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"talepost"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"talepost"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nei"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Slett markert <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> er valgt"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kl. <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Henter fra SIM-kort…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakter på SIM-kort"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Ingen kontaktapper er tilgjengelige"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Talesøk er ikke tilgjengelig"</string> <string name="call_not_available" msgid="7850148370757361155">"Kan ikke ringe fordi Telefon-appen er deaktivert."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Søk i kontakter"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nye tapte anrop"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Du har ingen på hurtigoppringning ennå"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Legg til en favoritt"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Du har ingen kontakter ennå"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Legg til en kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Trykk på bildet for å se alle numrene, eller trykk og hold for å omorganisere"</string> <string name="remove_contact" msgid="2353580570488923668">"Fjern"</string> + <string name="select_all" msgid="408601760696146245">"Velg alle"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videoanrop"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Send en melding"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Samtaleinformasjon"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokkerte numre"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> er allerede blokkert."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Ringekontoer"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Slå på"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Angi tillatelser"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"For å slå på hurtigoppringning, slå på Kontakter-tillatelsen."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"For å se samtaleloggen din, slå på Telefon-tillatelsen."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"For å se kontaktene dine, slå på Kontakter-tillatelsen."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"For å få tilgang til talepostkassen, slå på Telefon-tillatelsen."</string> <string name="permission_no_search" msgid="2424710404207193826">"For å søke i kontaktene dine, slå på tillatelser for Kontakter."</string> <string name="permission_place_call" msgid="8686908130349369423">"For å ringe, slå på Telefon-tillatelsen."</string> diff --git a/java/com/android/dialer/app/res/values-ne/strings.xml b/java/com/android/dialer/app/res/values-ne/strings.xml index 90a3016e2..8262a316c 100644 --- a/java/com/android/dialer/app/res/values-ne/strings.xml +++ b/java/com/android/dialer/app/res/values-ne/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"हुदै गरेको कलमा फर्कनुहोस्"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"कल थप्नुहोस्"</string> <string name="actionIncomingCall" msgid="891346596090030558">"आगमन कलहरू"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"बल्क कारबाही सम्बन्धी मोडमा प्रवेश गर्दै"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"बल्क कारबाही सम्बन्धी मोड छोडियो"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> चयन गरियो"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> चयन हटाइयो"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"भ्वाइसमेल बजाउनुहोस्"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> सम्पर्क हेर्नुहोस्"</string> <string name="description_call" msgid="1532402285334775372">"कल <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"भ्वाइसमेल"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> सेकेन्ड"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> मिनेट <xliff:g id="SECONDS">%s</xliff:g> सकेन्ड"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"ब्याच सम्बन्धी कारबाहीको मोडलाई रद्द गर्नुहोस्"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"भ्वाइस मेल"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"भ्वाइस मेलहरू"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"हो"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"होइन"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"चयन गरिएका <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> लाई मेटाउने हो?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> चयन गरियो"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> मा <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM कार्डबाट लोड हुँदै"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM कार्ड सम्पर्कहरू"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"कुनै पनि सम्पर्क अनुप्रयोग उपलब्ध छैन"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"आवाज खोजी उपलब्ध छैन"</string> <string name="call_not_available" msgid="7850148370757361155">"फोन अनुप्रयोग असक्षम गरिएकोले फोन गर्न सकिँदैन।"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"सम्पर्कहरू खोज्नुहोस्"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> नयाँ छुटेका कलहरु"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"तपाईँको स्पिड डायलमा अझसम्म कोही छैन"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"एक मनपर्ने थप्नुहोस्"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"तपाईँसँग अझसम्म कुनै सम्पर्कहरू छैनन्"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"एउटा सम्पर्क थप्नुहोस्"</string> <string name="contact_tooltip" msgid="8871614660967439999">"सबै नम्बरहरू हेर्न छविलाई छुनुहोस् वा पुन:क्रमबद्ध गर्न छोइराख्नुहोस्"</string> <string name="remove_contact" msgid="2353580570488923668">"हटाउँनुहोस्"</string> + <string name="select_all" msgid="408601760696146245">"सबैलाई चयन गर्नुहोस्"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"भिडियो कल"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"सन्देश पठाउनुहोस्"</string> <string name="call_log_action_details" msgid="2091370737371449501">"कल विवरणहरु"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"रोकिएका नम्बरहरू"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> पहिले नै रोकिएको छ।"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"खाता कलिङ"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"सक्रिय पार्नुहोस्"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"अनुमतिहरू सेट गर्नुहोस्"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"तीव्र डायल सक्षम गर्न, सम्पर्क अनुमति सक्षम गर्नुहोस्।"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"आफ्नो कल लग हेर्न, फोन अनुमति सक्रिय गर्नुहोस्।"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"आफ्नो सम्पर्क हेर्न सम्पर्क अनुमति सक्रिय गर्नुहोस्।"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"आफ्नो भ्वाइस मेल पहुँच गर्न, फोन अनुमति सक्रिय गर्नुहोस्"</string> <string name="permission_no_search" msgid="2424710404207193826">"तपाईँको सम्पर्कहरू खोज गर्न सम्पर्क अनुमतिहरू सक्रिय गर्नुहोस्।"</string> <string name="permission_place_call" msgid="8686908130349369423">"कल गर्न फोन अनुमति सक्रिय गर्नुहोस्।"</string> diff --git a/java/com/android/dialer/app/res/values-nl/strings.xml b/java/com/android/dialer/app/res/values-nl/strings.xml index 5f41b8063..eed412d69 100644 --- a/java/com/android/dialer/app/res/values-nl/strings.xml +++ b/java/com/android/dialer/app/res/values-nl/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Terug naar actief gesprek"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Oproep toevoegen"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Inkomende oproepen"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Modus voor bulkacties openen"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Modus voor bulkacties verlaten"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> geselecteerd"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Selectie van <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> opgeheven"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Voicemail afspelen"</string> <string name="description_view_contact" msgid="3940984937384372665">"Contact <xliff:g id="NAME">%1$s</xliff:g> bekijken"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> bellen"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Voicemail"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sec."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sec."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Modus voor batchacties annuleren"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"voicemail"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"voicemails"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nee"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Geselecteerde <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> verwijderen?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> geselecteerd"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> om <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Laden vanaf SIM-kaart..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Contacten op SIM-kaart"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Geen app voor contacten beschikbaar"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Gesproken zoekopdracht niet beschikbaar"</string> <string name="call_not_available" msgid="7850148370757361155">"Kan niet bellen omdat de Telefoon-app is uitgeschakeld."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Contacten zoeken"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nieuwe gemiste oproepen"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Er staat nog niemand in je snelkeuzelijst"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Een favoriet toevoegen"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Je hebt nog geen contacten"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Contact toevoegen"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Tik op de afbeelding om alle nummers te bekijken of tik op de afbeelding en houd vast om opnieuw te rangschikken"</string> <string name="remove_contact" msgid="2353580570488923668">"Verwijderen"</string> + <string name="select_all" msgid="408601760696146245">"Alles selecteren"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videogesprek"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Een bericht verzenden"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Oproepdetails"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Geblokkeerde nummers"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> is al geblokkeerd."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Oproepaccounts"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Inschakelen"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Toestemmingen instellen"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Als je de snelkeuzefunctie wilt inschakelen, schakel je de machtiging voor Contacten in."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Als je je gesprekkenlijst wilt bekijken, schakel je de machtiging voor Telefoon in."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Als je je contacten wilt bekijken, schakel je de machtiging voor Contacten in."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Als je je voicemail wilt beluisteren, schakel je de machtiging voor Telefoon in."</string> <string name="permission_no_search" msgid="2424710404207193826">"Als je naar contacten wilt zoeken, schakel je de contacttoestemming in."</string> <string name="permission_place_call" msgid="8686908130349369423">"Als je iemand wilt bellen, schakel je de machtiging voor Telefoon in."</string> diff --git a/java/com/android/dialer/app/res/values-no/strings.xml b/java/com/android/dialer/app/res/values-no/strings.xml index d92edc649..bda4915b5 100644 --- a/java/com/android/dialer/app/res/values-no/strings.xml +++ b/java/com/android/dialer/app/res/values-no/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Gå tilbake til aktiv samtale"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Legg til en samtale"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Innkommende samtaler"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Starter massehandlingsmodus"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Massehandlingsmodus er avsluttet"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Du har valgt <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Du har valgt bort <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Spill av talemelding"</string> <string name="description_view_contact" msgid="3940984937384372665">"Se kontakten <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Ring <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Telefonsvarer"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sek"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Avbryt massehandlinsmodus"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"talepost"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"talepost"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nei"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Slett markert <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> er valgt"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kl. <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Henter fra SIM-kort…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakter på SIM-kort"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Ingen kontaktapper er tilgjengelige"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Talesøk er ikke tilgjengelig"</string> <string name="call_not_available" msgid="7850148370757361155">"Kan ikke ringe fordi Telefon-appen er deaktivert."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Søk i kontakter"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nye tapte anrop"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Du har ingen på hurtigoppringning ennå"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Legg til en favoritt"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Du har ingen kontakter ennå"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Legg til en kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Trykk på bildet for å se alle numrene, eller trykk og hold for å omorganisere"</string> <string name="remove_contact" msgid="2353580570488923668">"Fjern"</string> + <string name="select_all" msgid="408601760696146245">"Velg alle"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videoanrop"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Send en melding"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Samtaleinformasjon"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokkerte numre"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> er allerede blokkert."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Ringekontoer"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Slå på"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Angi tillatelser"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"For å slå på hurtigoppringning, slå på Kontakter-tillatelsen."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"For å se samtaleloggen din, slå på Telefon-tillatelsen."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"For å se kontaktene dine, slå på Kontakter-tillatelsen."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"For å få tilgang til talepostkassen, slå på Telefon-tillatelsen."</string> <string name="permission_no_search" msgid="2424710404207193826">"For å søke i kontaktene dine, slå på tillatelser for Kontakter."</string> <string name="permission_place_call" msgid="8686908130349369423">"For å ringe, slå på Telefon-tillatelsen."</string> diff --git a/java/com/android/dialer/app/res/values-pa/strings.xml b/java/com/android/dialer/app/res/values-pa/strings.xml index 76d4b9b70..8e6540727 100644 --- a/java/com/android/dialer/app/res/values-pa/strings.xml +++ b/java/com/android/dialer/app/res/values-pa/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"ਪ੍ਰਗਤੀ ਵਿੱਚ ਕਾਲ ਤੇ ਵਾਪਸ ਜਾਓ"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"ਕਾਲ ਜੋੜੋ"</string> <string name="actionIncomingCall" msgid="891346596090030558">"ਇਨਕਮਿੰਗ ਕਾਲਾਂ"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"ਬਲਕ ਕਾਰਵਾਈ ਮੋਡ ਵਿੱਚ ਦਾਖਲ ਹੋਇਆ ਜਾ ਰਿਹਾ ਹੈ"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ਬਲਕ ਕਾਰਵਾਈ ਮੋਡ ਨੂੰ ਛੱਡਿਆ"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ਨੂੰ ਚੁਣਿਆ ਗਿਆ"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ਨੂੰ ਅਣ-ਚੁਣਿਆ ਕੀਤਾ ਗਿਆ"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"ਵੌਇਸਮੇਲ ਪਲੇ ਕਰੋ"</string> <string name="description_view_contact" msgid="3940984937384372665">"ਸੰਪਰਕ <xliff:g id="NAME">%1$s</xliff:g> ਦੇਖੋ"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ਨੂੰ ਕਾਲ ਕਰੋ"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"ਵੌਇਸਮੇਲ"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> ਸਕਿੰਟ"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> ਮਿੰਟ <xliff:g id="SECONDS">%s</xliff:g> ਸਕਿੰਟ"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"ਬੈਚ ਕਾਰਵਾਈਆਂ ਮੋਡ ਨੂੰ ਰੱਦ ਕਰੋ"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ਵੌਇਸਮੇਲ"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ਵੌਇਸਮੇਲਾਂ"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ਹਾਂ"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ਨਹੀਂ"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ਕੀ ਚੁਣੀ(ਆਂ) ਹੋਈ(ਆਂ) <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ਨੂੰ ਚੁਣਿਆ ਗਿਆ"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ਨੂੰ <xliff:g id="TIME">%2$s</xliff:g> ਵਜੇ"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM ਕਾਰਡ ਵਿੱਚੋਂ ਲੋਡ ਕਰ ਰਿਹਾ ਹੈ…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM ਕਾਰਡ ਸੰਪਰਕ"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"ਕੋਈ ਸੰਪਰਕ ਐਪ ਉਪਲਬਧ ਨਹੀਂ"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"ਵੌਇਸ ਖੋਜ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string> <string name="call_not_available" msgid="7850148370757361155">"ਇੱਕ ਫੋਨ ਕਾਲ ਨਹੀਂ ਕਰ ਸਕਦਾ ਕਿਉਂਕਿ ਫੋਨ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ।"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"ਸੰਪਰਕ ਖੋਜੋ"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ਨਵੀਆਂ ਮਿਸਡ ਕਾਲਾਂ"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"ਅਜੇ ਤੁਹਾਡੇ ਸਪੀਡ ਡਾਇਲ \'ਤੇ ਕੋਈ ਵੀ ਵਿਅਕਤੀ ਨਹੀਂ ਹੈ"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ਕੋਈ ਮਨਪਸੰਦ ਸ਼ਾਮਲ ਕਰੋ"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"ਤੁਹਾਡੇ ਕੋਲ ਅਜੇ ਕੋਈ ਸੰਪਰਕ ਨਹੀਂ ਹਨ।"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ਕੋਈ ਸੰਪਰਕ ਸ਼ਾਮਲ ਕਰੋ"</string> <string name="contact_tooltip" msgid="8871614660967439999">"ਸਾਰੇ ਨੰਬਰਾਂ ਨੂੰ ਵੇਖਣ ਲਈ ਚਿਤਰ ਨੂੰ ਸਪਰਸ਼ ਕਰੋ ਜਾਂ ਦੁਬਾਰਾ ਕ੍ਰਮਬੱਧ ਕਰਨ ਲਈ ਸਪਰਸ਼ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ"</string> <string name="remove_contact" msgid="2353580570488923668">"ਹਟਾਓ"</string> + <string name="select_all" msgid="408601760696146245">"ਸਭ ਚੁਣੋ"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"ਵੀਡੀਓ ਕਾਲ"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"ਇੱਕ ਸੁਨੇਹਾ ਭੇਜੋ"</string> <string name="call_log_action_details" msgid="2091370737371449501">"ਕਾਲ ਵੇਰਵੇ"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"ਬਲੌਕ ਕੀਤੇ ਗਏ ਨੰਬਰ"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ਪਹਿਲਾਂ ਹੀ ਬਲੌਕ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"ਕਾਲਿੰਗ ਖਾਤੇ"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"ਚਾਲੂ ਕਰੋ"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"ਅਨੁਮਤੀਆਂ ਸੈੱਟ ਕਰੋ"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"ਸਪੀਡ ਡਾਇਲ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ, ਸੰਪਰਕ ਅਨੁਮਤੀ ਚਾਲੂ ਕਰੋ।"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"ਆਪਣਾ ਕਾਲ ਲੌਗ ਵੇਖਣ ਲਈ, ਫ਼ੋਨ ਅਨੁਮਤੀ ਚਾਲੂ ਕਰੋ।"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਨੂੰ ਵੇਖਣ ਲਈ, ਸੰਪਰਕ ਅਨੁਮਤੀ ਚਾਲੂ ਕਰੋ।"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"ਆਪਣੀ ਵੌਇਸਮੇਲ ਐਕਸੈਸ ਕਰਨ ਲਈ, ਫ਼ੋਨ ਅਨੁਮਤੀ ਚਾਲੂ ਕਰੋ।"</string> <string name="permission_no_search" msgid="2424710404207193826">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਦੀ ਖੋਜ ਕਰਨ ਲਈ,, ਸੰਪਰਕ ਅਨੁਮਤੀਆਂ ਨੂੰ ਚਾਲੂ ਕਰੋ।"</string> <string name="permission_place_call" msgid="8686908130349369423">"ਕਾਲ ਕਰਨ ਲਈ, ਫ਼ੋਨ ਅਨੁਮਤੀ ਚਾਲੂ ਕਰੋ।"</string> diff --git a/java/com/android/dialer/app/res/values-pl/strings.xml b/java/com/android/dialer/app/res/values-pl/strings.xml index 76adfe579..8f57a82b4 100644 --- a/java/com/android/dialer/app/res/values-pl/strings.xml +++ b/java/com/android/dialer/app/res/values-pl/strings.xml @@ -87,6 +87,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Wróć do aktywnego połączenia"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Dodaj połączenie"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Połączenia przychodzące"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Włączono tryb działań zbiorczych"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Wyłączono tryb działań zbiorczych"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Wybrano: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Anulowano wybór: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Odtwórz pocztę głosową"</string> <string name="description_view_contact" msgid="3940984937384372665">"Wyświetl kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Zadzwoń do: <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -101,11 +105,13 @@ <string name="voicemail" msgid="8899540969000957954">"Poczta głosowa"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Anuluj tryb działań zbiorczych"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"wiadomości głosowe"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"wiadomości głosowe"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Tak"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nie"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Usunąć wybrane <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Wybrane: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> o <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -118,7 +124,6 @@ <string name="meid" msgid="3333779521535224028">"Numer MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Wczytuję z karty SIM…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakty z karty SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nie jest dostępna aplikacja do obsługi kontaktów"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Wyszukiwanie głosowe jest niedostępne"</string> <string name="call_not_available" msgid="7850148370757361155">"Nie można zadzwonić, ponieważ aplikacja Telefon została wyłączona."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Przeszukuj kontakty"</string> @@ -147,10 +152,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Nowe nieodebrane połączenia: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Lista szybkiego wybierania jest pusta"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodaj do ulubionych"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Nie masz jeszcze żadnych kontaktów"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Dodaj kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Kliknij obraz, by zobaczyć wszystkie numery, lub kliknij go i przytrzymaj, by zmienić kolejność"</string> <string name="remove_contact" msgid="2353580570488923668">"Usuń"</string> + <string name="select_all" msgid="408601760696146245">"Zaznacz wszystkie"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Rozmowa wideo"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Wyślij wiadomość"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Szczegóły połączenia"</string> @@ -217,11 +221,9 @@ <string name="block_list" msgid="4701585783411870782">"Zablokowane numery"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Numer <xliff:g id="NUMBER">%1$s</xliff:g> jest już zablokowany."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Konta telefoniczne"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Włącz"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Ustaw uprawnienia"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Aby włączyć szybkie wybieranie, włącz uprawnienie Kontakty."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Aby zobaczyć swój rejestr połączeń, włącz uprawnienie Telefon."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Aby zobaczyć swoje kontakty, włącz uprawnienie Kontakty."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Aby uzyskać dostęp do poczty głosowej, włącz uprawnienie Telefon."</string> <string name="permission_no_search" msgid="2424710404207193826">"Aby wyszukać kontakty, włącz uprawnienia Kontakty."</string> <string name="permission_place_call" msgid="8686908130349369423">"Aby nawiązać połączenie, włącz uprawnienie Telefon."</string> diff --git a/java/com/android/dialer/app/res/values-pt-rBR/strings.xml b/java/com/android/dialer/app/res/values-pt-rBR/strings.xml index 780ca07db..eb61923e9 100644 --- a/java/com/android/dialer/app/res/values-pt-rBR/strings.xml +++ b/java/com/android/dialer/app/res/values-pt-rBR/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Retornar para a chamada em espera"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Ad. cham."</string> <string name="actionIncomingCall" msgid="891346596090030558">"Chamadas recebidas"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrando no modo de ação em massa"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Saindo do modo de ação em massa"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> selecionado"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> não selecionado"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Reproduzir mensagem de voz"</string> <string name="description_view_contact" msgid="3940984937384372665">"Visualizar contato <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Ligar para <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Correio de voz"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> seg"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> m <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancelar modo de ações em lote"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"correio de voz"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"correios de voz"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sim"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Não"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Excluir a seleção de <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Itens selecionados: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> às <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Carregando do cartão SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Contatos do cartão SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nenhum app de contatos disponível"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"A pesquisa por voz não está disponível"</string> <string name="call_not_available" msgid="7850148370757361155">"Não é possível fazer uma chamada porque o app Telefone foi desativado."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Pesquisar contatos"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> novas chamadas perdidas"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Ainda não há ninguém na sua discagem rápida"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Adicionar favorito"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Você ainda não tem contatos"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Adicionar um contato"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Toque na imagem para ver todos os números ou toque e segure para reordenar"</string> <string name="remove_contact" msgid="2353580570488923668">"Remover"</string> + <string name="select_all" msgid="408601760696146245">"Selecionar tudo"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videochamada"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar uma mensagem"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detalhes da chamada"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"O número <xliff:g id="NUMBER">%1$s</xliff:g> já está bloqueado."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Contas de chamadas"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Ativar"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Definir permissões"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Para ativar a discagem rápida, ative a permissão para o app Contatos."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Para ver seu registro de chamadas, ative a permissão para o app Telefone."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver seus contatos, ative a permissão para o app Contatos."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Para acessar seu correio de voz, ative a permissão para o app Telefone."</string> <string name="permission_no_search" msgid="2424710404207193826">"Para pesquisar seus contatos, ative as permissões para \"Contatos\"."</string> <string name="permission_place_call" msgid="8686908130349369423">"Para fazer uma chamada, ative a permissão para o app Telefone."</string> diff --git a/java/com/android/dialer/app/res/values-pt-rPT/strings.xml b/java/com/android/dialer/app/res/values-pt-rPT/strings.xml index 95fa75c7e..493f846c4 100644 --- a/java/com/android/dialer/app/res/values-pt-rPT/strings.xml +++ b/java/com/android/dialer/app/res/values-pt-rPT/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Voltar à chamada em curso"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Adicionar chamada"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Chamadas recebidas"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"A entrar no modo de ação em massa…"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Saiu do modo de ação em massa"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> selecionado"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> não selecionado"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Reproduzir mensagem de correio de voz"</string> <string name="description_view_contact" msgid="3940984937384372665">"Ver o contacto <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Ligar a <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Correio de voz"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> seg"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> seg."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancelar modo de ações em lote"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"mensagem de correio de voz"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"mensagens de correio de voz"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sim"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Não"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Pretende eliminar a(s) <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> selecionada(s)?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selecionada(s)"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> às <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"A carregar a partir do cartão SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Contactos no cartão SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Não existe nenhuma aplicação de contactos disponível"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Pesquisa por voz não disponível"</string> <string name="call_not_available" msgid="7850148370757361155">"Não é possível efetuar uma chamada porque a aplicação Telefone foi desativada."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Pesquisar contactos"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> chamadas não atendidas novas"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Ainda não tem ninguém na marcação rápida"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Adicionar um favorito"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Ainda não tem nenhum contacto"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Adicionar um contacto"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Toque na imagem para ver todos os números ou toque sem soltar para reordenar"</string> <string name="remove_contact" msgid="2353580570488923668">"Remover"</string> + <string name="select_all" msgid="408601760696146245">"Selecionar tudo"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videochamada"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar uma mensagem"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detalhes da chamada"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> já está bloqueado."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Contas de chamadas"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Ativar"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Definir autorizações"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Para ativar a marcação rápida, ative a autorização Contactos."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Para ver o registo de chamadas, ative a autorização Telemóvel."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver os seus contactos, ative a autorização Contactos."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Para aceder ao correio de voz, ative a autorização Telemóvel."</string> <string name="permission_no_search" msgid="2424710404207193826">"Para pesquisar os seus contactos, ative as autorizações Contactos."</string> <string name="permission_place_call" msgid="8686908130349369423">"Para efetuar uma chamada, ative a autorização Telemóvel."</string> diff --git a/java/com/android/dialer/app/res/values-pt/strings.xml b/java/com/android/dialer/app/res/values-pt/strings.xml index 780ca07db..eb61923e9 100644 --- a/java/com/android/dialer/app/res/values-pt/strings.xml +++ b/java/com/android/dialer/app/res/values-pt/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Retornar para a chamada em espera"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Ad. cham."</string> <string name="actionIncomingCall" msgid="891346596090030558">"Chamadas recebidas"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Entrando no modo de ação em massa"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Saindo do modo de ação em massa"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> selecionado"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> não selecionado"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Reproduzir mensagem de voz"</string> <string name="description_view_contact" msgid="3940984937384372665">"Visualizar contato <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Ligar para <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Correio de voz"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> seg"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> m <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Cancelar modo de ações em lote"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"correio de voz"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"correios de voz"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Sim"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Não"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Excluir a seleção de <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Itens selecionados: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> às <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Carregando do cartão SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Contatos do cartão SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nenhum app de contatos disponível"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"A pesquisa por voz não está disponível"</string> <string name="call_not_available" msgid="7850148370757361155">"Não é possível fazer uma chamada porque o app Telefone foi desativado."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Pesquisar contatos"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> novas chamadas perdidas"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Ainda não há ninguém na sua discagem rápida"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Adicionar favorito"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Você ainda não tem contatos"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Adicionar um contato"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Toque na imagem para ver todos os números ou toque e segure para reordenar"</string> <string name="remove_contact" msgid="2353580570488923668">"Remover"</string> + <string name="select_all" msgid="408601760696146245">"Selecionar tudo"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videochamada"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Enviar uma mensagem"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detalhes da chamada"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Números bloqueados"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"O número <xliff:g id="NUMBER">%1$s</xliff:g> já está bloqueado."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Contas de chamadas"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Ativar"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Definir permissões"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Para ativar a discagem rápida, ative a permissão para o app Contatos."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Para ver seu registro de chamadas, ative a permissão para o app Telefone."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Para ver seus contatos, ative a permissão para o app Contatos."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Para acessar seu correio de voz, ative a permissão para o app Telefone."</string> <string name="permission_no_search" msgid="2424710404207193826">"Para pesquisar seus contatos, ative as permissões para \"Contatos\"."</string> <string name="permission_place_call" msgid="8686908130349369423">"Para fazer uma chamada, ative a permissão para o app Telefone."</string> diff --git a/java/com/android/dialer/app/res/values-ro/strings.xml b/java/com/android/dialer/app/res/values-ro/strings.xml index 725ff4a3c..93d01888a 100644 --- a/java/com/android/dialer/app/res/values-ro/strings.xml +++ b/java/com/android/dialer/app/res/values-ro/strings.xml @@ -86,6 +86,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Reveniți la apelul în curs"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Adăugați un apel"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Apeluri de intrare"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Se intră în modul acțiune în bloc"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Ați ieșit din modul acțiune în bloc"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"S-a selectat <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"S-a deselectat <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Redați mesajul vocal"</string> <string name="description_view_contact" msgid="3940984937384372665">"Afișați persoana din agendă <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Apelați <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -100,11 +104,13 @@ <string name="voicemail" msgid="8899540969000957954">"Mesagerie vocală"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> secunde"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sec."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Anulați modul de acțiuni în lot"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"mesagerie vocală"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"mesaje vocale"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Da"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nu"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Ștergeți cele <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> selectate?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> selectate"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> la <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -117,7 +123,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Se încarcă de pe cardul SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Persoanele din agendă de pe cardul SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nu este disponibilă nicio aplicație pentru agendă"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Căutarea vocală nu este disponibilă"</string> <string name="call_not_available" msgid="7850148370757361155">"Nu se poate efectua un apel telefonic, deoarece aplicația Telefon a fost dezactivată."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Căutați în Agendă"</string> @@ -146,10 +151,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> apeluri nepreluate noi"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Nicio persoană de contact setată pentru apelarea rapidă"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Adăugați o persoană de contact preferată"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Nu aveți încă persoane de contact"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Adăugați o persoană de contact"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Atingeți imaginea pentru a vedea toate numerele sau atingeți lung pentru reordonare"</string> <string name="remove_contact" msgid="2353580570488923668">"Eliminați"</string> + <string name="select_all" msgid="408601760696146245">"Selectați tot"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Apel video"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Trimiteți un mesaj"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detaliile apelului"</string> @@ -215,11 +219,9 @@ <string name="block_list" msgid="4701585783411870782">"Numere blocate"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> este deja blocat."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Conturi pentru apelare"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Activați"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Setați permisiunile"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Pentru a activa apelarea rapidă, activați permisiunea Agendă."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Pentru a vedea jurnalul de apeluri, activați permisiunea Telefon."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Pentru a vedea persoanele de contact, activați permisiunea Agendă."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Pentru a accesa mesageria vocală, activați permisiunea Telefon."</string> <string name="permission_no_search" msgid="2424710404207193826">"Pentru a căuta în persoanele de contact, activați permisiunea Agendă."</string> <string name="permission_place_call" msgid="8686908130349369423">"Pentru a apela, activați permisiunea Telefon."</string> diff --git a/java/com/android/dialer/app/res/values-ru/strings.xml b/java/com/android/dialer/app/res/values-ru/strings.xml index 557832bcd..54278c40b 100644 --- a/java/com/android/dialer/app/res/values-ru/strings.xml +++ b/java/com/android/dialer/app/res/values-ru/strings.xml @@ -87,6 +87,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Вернуться к текущему вызову"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Добавить вызов"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Входящие вызовы"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Вы вошли в режим массового действия"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Вы вышли из режима массового действия"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Выбран объект <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Выбор объекта <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> отменен"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Прослушать голосовую почту"</string> <string name="description_view_contact" msgid="3940984937384372665">"Просмотреть данные: <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Вызов: <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -101,11 +105,13 @@ <string name="voicemail" msgid="8899540969000957954">"Голосовая почта"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мин. <xliff:g id="SECONDS">%s</xliff:g> сек."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Отмена режима массового действия"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"голосовое сообщение"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"голосовые сообщения"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Да"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Нет"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Удалить <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Выбрано: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> в <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -118,7 +124,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Загрузка с SIM-карты…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Контакты на SIM-карте"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Нет приложения для работы с контактами"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Голосовой поиск недоступен"</string> <string name="call_not_available" msgid="7850148370757361155">"Нельзя совершать телефонные звонки, поскольку приложение \"Телефон\" отключено."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Поиск в контактах"</string> @@ -147,10 +152,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Пропущенных вызовов: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Нет номеров для быстрого набора"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Настроить быстрый набор"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Нет контактов"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Добавить контакт"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Коснитесь изображения, чтобы увидеть все номера, или нажмите и удерживайте, чтобы изменить порядок"</string> <string name="remove_contact" msgid="2353580570488923668">"Удалить"</string> + <string name="select_all" msgid="408601760696146245">"Выбрать все"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Видеовстреча"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Отправить сообщение"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Сведения о вызове"</string> @@ -217,11 +221,9 @@ <string name="block_list" msgid="4701585783411870782">"Заблокированные номера"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> уже заблокирован."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Аккаунты для звонков"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Включить"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Задать разрешения"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Чтобы настроить быстрый набор, предоставьте приложению разрешение \"Контакты\"."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Чтобы открыть список вызовов, предоставьте приложению разрешение \"Телефон\"."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Чтобы открыть список контактов, предоставьте приложению разрешение \"Контакты\"."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Чтобы получить доступ к голосовой почте, предоставьте приложению разрешение \"Телефон\"."</string> <string name="permission_no_search" msgid="2424710404207193826">"Для поиска контактов включите разрешение \"Контакты\"."</string> <string name="permission_place_call" msgid="8686908130349369423">"Чтобы позвонить, предоставьте приложению разрешение \"Телефон\"."</string> diff --git a/java/com/android/dialer/app/res/values-si/strings.xml b/java/com/android/dialer/app/res/values-si/strings.xml index 329d89e8d..63634577f 100644 --- a/java/com/android/dialer/app/res/values-si/strings.xml +++ b/java/com/android/dialer/app/res/values-si/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"පවතින ඇමතුමට නැවත යන්න"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"ඇමතුමක් එක් කරන්න"</string> <string name="actionIncomingCall" msgid="891346596090030558">"එන ඇමතුම්"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"තොග ක්රියා ප්රකාරය ඇතුළු කරමින්"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"තොග ක්රියා ප්රකාරය හැර යන ලදී"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> තෝරා ගන්නා ලදී"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> තෝරා ගැනීම ඉවත් කරන ලදී"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"හඬ තැපෑල ධාවනය කිරීම"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> සම්බන්ධතාවය බලන්න"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> අමතන්න"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"හඬ තැපෑල"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"තත් <xliff:g id="SECONDS">%s</xliff:g>"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"මිනි <xliff:g id="MINUTES">%s</xliff:g> තත් <xliff:g id="SECONDS">%s</xliff:g>"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"කාණ්ඩ ක්රියා ප්රකාරය අවලංගු කරන්න"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"හඬ තැපෑල"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"හඬ තැපැල්"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ඔව්"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"නැත"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"තෝරා ගත් <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> මකන්නද?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> තෝරා ගන්නා ලදි"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> දින <xliff:g id="TIME">%2$s</xliff:g>ට"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM පතෙන් පූරණය කරමින්…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM පත් සම්බන්ධතා"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"සබඳතා යෙදුමක් ලබාගත නොහැකිය"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"හඬ සෙවුම ලබාගත නොහැකිය"</string> <string name="call_not_available" msgid="7850148370757361155">"දුරකථන යෙදුම අබල කර ඇති නිසා දුරකථන ඇමතුම ලබාගැනීම කළ නොහැක."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"සම්බන්ධතා සෙවීම"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"නව මඟ හැරුණු ඇමතුම් <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"ඔබගේ වේග ඩයල් එකේ තවමත් කවුරුවත් නැහැ"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ප්රියතම ලෙස එක් කරන්න"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"ඔබ තවමත් සම්බන්ධතා නැහැ"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"සම්බන්ධතාවයක් එක් කරන්න"</string> <string name="contact_tooltip" msgid="8871614660967439999">"සියලු අංක බැලීමට රූපය ස්පර්ශ කරන්න නැතහොත් නැවත අනුපිළිවෙළට සැකසීමට ස්පර්ශ කර අල්ලාගෙන සිටින්න"</string> <string name="remove_contact" msgid="2353580570488923668">"ඉවත් කරන්න"</string> + <string name="select_all" msgid="408601760696146245">"සියල්ල තෝරන්න"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"වීඩියෝ ඇමතුම"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"පණිවිඩයක් යවන්න"</string> <string name="call_log_action_details" msgid="2091370737371449501">"ඇමතුම් විස්තර"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"අවහිර කළ අංක"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> දැනටමත් අවහිර කර ඇත."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"ගිණුම් ඇමතීම"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"ක්රියාත්මක කරන්න"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"අවසර සකසන්න"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"වේග ඩයල් කිරීම සබල කිරීමට, සම්බන්ධතා අවසරය ක්රියාත්මක කරන්න."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"ඔබේ ඇමතුම් ලොගය බැලීමට, දුරකථන අවසරය ක්රියාත්මක කරන්න."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"ඔබේ සම්බන්ධතා බැලීමට, සම්බන්ධතා අවසරය ක්රියාත්මක කරන්න."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"ඔබේ හඬ තැපෑල වෙත ප්රවේශ වීමට, දුරකථන අවසරය ක්රියාත්මක කරන්න."</string> <string name="permission_no_search" msgid="2424710404207193826">"ඔබේ සම්බන්ධතා සෙවීමට, සම්බන්ධතා අවසර ක්රියාත්මක කරන්න."</string> <string name="permission_place_call" msgid="8686908130349369423">"ඇමතුමක් ලබා ගැනීමට, දුරකථන අවසරය ක්රියාත්මක කරන්න."</string> diff --git a/java/com/android/dialer/app/res/values-sk/strings.xml b/java/com/android/dialer/app/res/values-sk/strings.xml index 60b63d520..f7bf4237c 100644 --- a/java/com/android/dialer/app/res/values-sk/strings.xml +++ b/java/com/android/dialer/app/res/values-sk/strings.xml @@ -87,6 +87,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Návrat k prebiehajúcemu hovoru"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Pridať hovor"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Prichádzajúce hovory"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Vstupuje sa do režimu hromadných akcií"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Odišli ste z režimu hromadných akcií"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Položka <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> bola vybraná"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Výber položky <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> bol zrušený"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Prehrať hlasovú správu"</string> <string name="description_view_contact" msgid="3940984937384372665">"Zobraziť kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Zavolať kontakt <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -101,11 +105,13 @@ <string name="voicemail" msgid="8899540969000957954">"Hlasová schránka"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Zrušiť režim hromadných akcií"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"hlasová správa"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"hlasové správy"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Áno"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nie"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Chcete odstrániť vybraté položky (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>)?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Vybraté: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> o <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -118,7 +124,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Prebieha načítavanie z SIM karty..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakty na SIM karte"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nie je k dispozícii žiadna aplikácia na kontakty"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Hlasové vyhľadávanie nie je k dispozícii"</string> <string name="call_not_available" msgid="7850148370757361155">"Nie je možné volať, pretože aplikácia Telefón bola deaktivovaná."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Hľadať v kontaktoch"</string> @@ -147,10 +152,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Nové zmeškané hovory: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"V rýchlej voľbe zatiaľ nemáte žiadny kontakt"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Pridať obľúbený kontakt"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Zatiaľ nemáte žiadne kontakty"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Pridať kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Klepnutím na obrázok môžete zobraziť všetky čísla. Pridržaním obrázka môžete zmeniť poradie."</string> <string name="remove_contact" msgid="2353580570488923668">"Odstrániť"</string> + <string name="select_all" msgid="408601760696146245">"Vybrať všetko"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videohovor"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Odoslať správu"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Podrobnosti hovoru"</string> @@ -217,11 +221,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokované čísla"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Číslo <xliff:g id="NUMBER">%1$s</xliff:g> je už blokované."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Telefónne účty"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Zapnúť"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Nastaviť povolenia"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Ak chcete aktivovať rýchlu voľbu, zapnite povolenie Kontakty."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Ak si chcete zobraziť denník hovorov, zapnite povolenie Telefón."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Ak si chcete zobraziť kontakty, zapnite povolenie Kontakty."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Ak chcete používať hlasovú schránku, zapnite povolenie Telefón."</string> <string name="permission_no_search" msgid="2424710404207193826">"Ak chcete hľadať kontakty, zapnite povolenie Kontakty."</string> <string name="permission_place_call" msgid="8686908130349369423">"Ak chcete volať, zapnite povolenie Telefón."</string> diff --git a/java/com/android/dialer/app/res/values-sl/strings.xml b/java/com/android/dialer/app/res/values-sl/strings.xml index b46b99ab5..d3c57dd92 100644 --- a/java/com/android/dialer/app/res/values-sl/strings.xml +++ b/java/com/android/dialer/app/res/values-sl/strings.xml @@ -87,6 +87,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Nazaj na klic, ki poteka"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Dodaj klic"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Dohodni klici"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Prehod v način množičnega dejanja"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Prehod iz načina množičnega dejanja"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Izbrano: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Preklican izbor: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Predvajanje sporočil glasovne pošte"</string> <string name="description_view_contact" msgid="3940984937384372665">"Ogled stika <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Pokliči <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -101,11 +105,13 @@ <string name="voicemail" msgid="8899540969000957954">"Glasovna pošta"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> s"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Prekliči način množičnega dejanja"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"sporočilo v odzivniku"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"sporočila v odzivniku"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Da"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ne"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Želite izbrisati <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Št. izbranih: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ob <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -118,7 +124,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Nalaganje s kartice SIM ..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Stiki na kartici SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Ni aplikacije za stike"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Glasovno iskanje ni na voljo"</string> <string name="call_not_available" msgid="7850148370757361155">"Ni mogoče opraviti telefonskega klica, ker je aplikacija Telefon onemogočena."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Iskanje stikov"</string> @@ -147,10 +152,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Št. novih zgrešenih klicev: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Na seznamu za hitro klicanje nimate še nikogar"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Dodajte priljubljenega"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Nimate še stikov"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Dodajte stik"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Dotaknite se slike, da prikažete vse številke, ali pa se je dotaknite in pridržite, da spremenite vrstni red."</string> <string name="remove_contact" msgid="2353580570488923668">"Odstrani"</string> + <string name="select_all" msgid="408601760696146245">"Izberi vse"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videoklic"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Pošljite sporočilo"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Podrobnosti klica"</string> @@ -217,11 +221,9 @@ <string name="block_list" msgid="4701585783411870782">"Blokirane številke"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Telefonska številka <xliff:g id="NUMBER">%1$s</xliff:g> je že blokirana."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Računi za klicanje"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Vklop"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Nastavi dovoljenja"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Če želite omogočiti hitro klicanje, vklopite dovoljenje za stike."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Če si želite ogledati dnevnik klicev, vklopite dovoljenje za telefon."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Če si želite ogledati stike, vklopite dovoljenje za stike."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Če želite dostopati do sporočil v odzivniku, vklopite dovoljenje za telefon."</string> <string name="permission_no_search" msgid="2424710404207193826">"Če želite iskati po stikih, vklopite dovoljenje za stike."</string> <string name="permission_place_call" msgid="8686908130349369423">"Če želite klicati, vklopite dovoljenje za telefon."</string> diff --git a/java/com/android/dialer/app/res/values-sq/strings.xml b/java/com/android/dialer/app/res/values-sq/strings.xml index 6a274fcd2..84704459c 100644 --- a/java/com/android/dialer/app/res/values-sq/strings.xml +++ b/java/com/android/dialer/app/res/values-sq/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Kthehu te telefonata"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Shto një telefonatë"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Telefonatat hyrëse"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Po hyn në modalitetin e veprimit në masë"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"U largove nga modaliteti i veprimit në masë"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"U zgjodh <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Zgjedhja e <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> u anulua"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Luaj postën zanore"</string> <string name="description_view_contact" msgid="3940984937384372665">"Shiko kontaktin <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Telefono <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Posta zanore"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sekonda"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min. e <xliff:g id="SECONDS">%s</xliff:g> sek."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Anulo modalitetin e veprimeve në grup"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"posta zanore"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"postat zanore"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Po"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Jo"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Të fshihen <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> të zgjedhura?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> të zgjedhura"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> në <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Po ngarkon nga karta SIM…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontaktet e kartës SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Nuk mund të përdoret asnjë aplikacion për kontaktet"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Kërkimi me zë nuk mundësohet"</string> <string name="call_not_available" msgid="7850148370757361155">"Telefonata nuk mund të bëhet sepse aplikacioni \"Telefoni\" është i çaktivizuar."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Kërko për kontakte"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> telefonata të reja të humbura"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Askush nuk është ende në thirrjen tënde të shpejtuar"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Shto një të preferuar"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Nuk ke ende kontakte"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Shto një kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Prek imazhin për të parë të gjithë numrat ose mbaje të shtypur për ta pozicionuar përsëri"</string> <string name="remove_contact" msgid="2353580570488923668">"Hiq"</string> + <string name="select_all" msgid="408601760696146245">"Zgjidh të gjitha"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Telefonatë me video"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Dërgo një mesazh"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Detajet e telefonatës"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Numrat e bllokuar"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> është i bllokuar tashmë."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Llogaritë e telefonatave"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktivizo"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Cakto lejet"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Për të aktivizuar thirrjen e shpejtuar, aktivizo lejen e Kontakteve."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Për të parë evidencën e telefonatave, aktivizo lejen e Telefonit."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Për të parë kontaktet, aktivizo lejen e Kontakteve."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Për të pasur qasje në postën zanore, aktivizo lejen e Telefonit."</string> <string name="permission_no_search" msgid="2424710404207193826">"Për të kërkuar kontaktet, aktivizo lejet e Kontakteve"</string> <string name="permission_place_call" msgid="8686908130349369423">"Për të kryer një telefonatë, aktivizo lejen e Telefonit."</string> diff --git a/java/com/android/dialer/app/res/values-sr/strings.xml b/java/com/android/dialer/app/res/values-sr/strings.xml index 0def958d4..6cf7a7c85 100644 --- a/java/com/android/dialer/app/res/values-sr/strings.xml +++ b/java/com/android/dialer/app/res/values-sr/strings.xml @@ -86,6 +86,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Врати се на позив који је у току"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Додај позив"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Долазни позиви"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Улазите у режим групних радњи"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Изашли сте из режима групних радњи"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Изабрано је <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Опозван је избор <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Пуштање говорне поште"</string> <string name="description_view_contact" msgid="3940984937384372665">"Прикажи контакт <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Позови <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -100,11 +104,13 @@ <string name="voicemail" msgid="8899540969000957954">"Говорна пошта"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> сек"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> мин <xliff:g id="SECONDS">%s</xliff:g> сек"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Откажите режим групних радњи"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"говорну поруку"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"говорне поруке"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Да"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Не"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Желите ли да избришете изабрану(е) <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Изабраних: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> у <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -117,7 +123,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Учитава се са SIM картице…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Контакти на SIM картици"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Нема доступне апликације за контакте"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Гласовна претрага није доступна"</string> <string name="call_not_available" msgid="7850148370757361155">"Није могуће упутити телефонски позив јер је апликација Телефон онемогућена."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Претражи контакте"</string> @@ -146,10 +151,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Нових пропуштених позива: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Немате ниједан контакт на брзом бирању"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Додај омиљен контакт"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Још увек немате ниједан контакт"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Додај контакт"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Додирните слику да бисте видели све бројеве или додирните и задржите да бисте им променили распоред"</string> <string name="remove_contact" msgid="2353580570488923668">"Уклони"</string> + <string name="select_all" msgid="408601760696146245">"Изабери све"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Видео позив"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Пошаљи поруку"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Детаљи позива"</string> @@ -215,11 +219,9 @@ <string name="block_list" msgid="4701585783411870782">"Блокирани бројеви"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> је већ блокиран."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Налози за позивање"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Укључи"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Подеси дозволе"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Да бисте омогућили брзо бирање, укључите дозволу за Контакте."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Да бисте видели евиденцију позива, укључите дозволу за Телефон."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Да бисте видели контакте, укључите дозволу за Контакте."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Да бисте приступили говорној пошти, укључите дозволу за Телефон."</string> <string name="permission_no_search" msgid="2424710404207193826">"Да бисте претражили контакте, укључите дозволе за Контакте."</string> <string name="permission_place_call" msgid="8686908130349369423">"Да бисте упутили позив, укључите дозволу за Телефон."</string> diff --git a/java/com/android/dialer/app/res/values-sv/strings.xml b/java/com/android/dialer/app/res/values-sv/strings.xml index 75aa731f9..71ef3e55b 100644 --- a/java/com/android/dialer/app/res/values-sv/strings.xml +++ b/java/com/android/dialer/app/res/values-sv/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Återvänd till pågående samtal"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Lägg t. samt."</string> <string name="actionIncomingCall" msgid="891346596090030558">"Inkommande samtal"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Öppnar läget för massåtgärd"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Stängde läget för massåtgärd"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Markerade <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Avmarkerade <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Spela upp röstmeddelande"</string> <string name="description_view_contact" msgid="3940984937384372665">"Visa kontakten <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Ring <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Röstbrevlåda"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sekund"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Avbryt läget för massåtgärd"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"röstbrevlåda"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"röstmeddelanden"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ja"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Nej"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Vill du radera markerade <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> har markerats"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> kl. <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Läser in från SIM-kort…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Kontakter från SIM-kort"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Det finns inga appar för kontakter"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Röstsökning är inte tillgänglig"</string> <string name="call_not_available" msgid="7850148370757361155">"Det går inte att ringa eftersom appen Telefon har inaktiverats."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Sök efter kontakter"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> nya missade samtal"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Du har ingen kontakt som snabbval ännu"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Lägg till en favorit"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Du har inga kontakter ännu"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Lägg till en kontakt"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Tryck på bilden för att visa alla nummer eller tryck länge för att ändra ordningen"</string> <string name="remove_contact" msgid="2353580570488923668">"Ta bort"</string> + <string name="select_all" msgid="408601760696146245">"Markera alla"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Videosamtal"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Skicka ett meddelande"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Samtalsinfo"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Blockerade nummer"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> är redan blockerat."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Konton för samtal"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Aktivera"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Ange behörigheter"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Du måste aktivera behörigheten Kontakter för att kunna använda snabbuppringning."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Du måste aktivera behörigheten Telefon för att kunna visa samtalsloggen."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Du måste aktivera behörigheten Kontakter för att kunna visa kontakterna."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Du måste aktivera behörigheten Telefon för att kunna komma åt röstmeddelanden."</string> <string name="permission_no_search" msgid="2424710404207193826">"Aktivera behörigheter för Kontakter om du vill söka bland kontakterna."</string> <string name="permission_place_call" msgid="8686908130349369423">"Du måste aktivera behörigheten Telefon för att kunna ringa."</string> diff --git a/java/com/android/dialer/app/res/values-sw/strings.xml b/java/com/android/dialer/app/res/values-sw/strings.xml index d3b8392d4..9cbdd3e8e 100644 --- a/java/com/android/dialer/app/res/values-sw/strings.xml +++ b/java/com/android/dialer/app/res/values-sw/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Rudi kwa simu inayoendelea"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Ongeza simu"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Simu zinazoingia"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Unaingia katika hali ya kutekeleza vitendo vingi"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Umeondoka katika hali ya kutekeleza vitendo vingi"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Umeteua <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Umebatilisha uteuzi wa <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Sikiliza ujumbe wa sauti"</string> <string name="description_view_contact" msgid="3940984937384372665">"Angalia anwani <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Pigia <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Ujumbe wa sauti"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"Sekunde <xliff:g id="SECONDS">%s</xliff:g>"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"Dak <xliff:g id="MINUTES">%s</xliff:g> sek <xliff:g id="SECONDS">%s</xliff:g>"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Ghairi hali ya kutekeleza vitendo vingi"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ujumbe wa sauti"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ujumbe wa sauti"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ndiyo"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Hapana"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Je, ungependa kufuta <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> uliochagua?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> zimechaguliwa"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> saa <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Inapakia kutoka SIM kadi..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Anwani za SIM kadi"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Hakuna programu za mawasiliano zinazopatikana"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Kutafuta kwa kutamka hakupatikani"</string> <string name="call_not_available" msgid="7850148370757361155">"Haiwezi kupiga simu kwa sababu programu ya Simu imezimwa."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Tafuta anwani"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Simu <xliff:g id="NUMBER">%s</xliff:g> za karibuni ambazo hazikujibiwa"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Hakuna mtu aliye katika orodha yako ya watu unaowasiliana nao zaidi"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Ongeza anwani unazopenda zaidi"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Bado huna anwani zozote"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Ongeza anwani"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Gusa picha ili uone nambari zote ama uguse na kushikilia ili upange upya"</string> <string name="remove_contact" msgid="2353580570488923668">"Ondoa"</string> + <string name="select_all" msgid="408601760696146245">"Chagua zote"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Hangout ya Video"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Tuma SMS"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Maelezo ya simu"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Nambari zilizozuiwa"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> tayari imezuiwa."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Akaunti za simu"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Washa"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Weka ruhusa"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Ili kuwasha kipengele cha unaowasiliana nao zaidi, washa ruhusa ya Anwani."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Ili uone rekodi yako ya nambari za simu, washa ruhusa ya Simu."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Ili uone anwani zako, washa ruhusa ya Anwani."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Ili ufikie ujumbe wako wa sauti, washa ruhusa ya Simu."</string> <string name="permission_no_search" msgid="2424710404207193826">"Ili utafute anwani zako, washa ruhusa za Anwani."</string> <string name="permission_place_call" msgid="8686908130349369423">"Ili upige simu, washa ruhusa ya Simu."</string> diff --git a/java/com/android/dialer/app/res/values-ta/strings.xml b/java/com/android/dialer/app/res/values-ta/strings.xml index afb852b6d..a91088c4f 100644 --- a/java/com/android/dialer/app/res/values-ta/strings.xml +++ b/java/com/android/dialer/app/res/values-ta/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"செயலிலுள்ள அழைப்பிற்குத் திரும்பு"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"அழைப்பைச் சேர்"</string> <string name="actionIncomingCall" msgid="891346596090030558">"உள்வரும் அழைப்புகள்"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"மொத்தச் செயல் பயன்முறையில் நுழைகிறீர்கள்"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"மொத்தச் செயல் பயன்முறையிலிருந்து வெளியேறிவிட்டீர்கள்"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"தேர்ந்தெடுத்த <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"தேர்வுநீக்கிய <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"குரலஞ்சலை இயக்கு"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> தொடர்பைக் காட்டு"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> ஐ அழை"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"குரலஞ்சல்"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> வி"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> நிமிடம் <xliff:g id="SECONDS">%s</xliff:g> வினாடி"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"தொகுப்புச் செயல்கள் பயன்முறையை ரத்துசெய்யும்"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"குரலஞ்சல்"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"குரலஞ்சல்கள்"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ஆம்"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"வேண்டாம்"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"தேர்ந்தெடுத்த <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>ஐ நீக்கவா?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> தேர்ந்தெடுக்கப்பட்டன"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> அன்று <xliff:g id="TIME">%2$s</xliff:g> மணிக்கு"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"சிம் கார்டிலிருந்து ஏற்றுகிறது…"</string> <string name="simContacts_title" msgid="7961069730386378887">"சிம் கார்டின் தொடர்புகள்"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"தொடர்புகள் பயன்பாடு எதுவுமில்லை"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"குரல் தேடல் இல்லை"</string> <string name="call_not_available" msgid="7850148370757361155">"Phone பயன்பாடு முடக்கப்பட்டுள்ளதால், ஃபோன் அழைப்பைச் செய்ய முடியாது."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"தொடர்புகளைத் தேடு"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> புதிய தவறிய அழைப்புகள்"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"இன்னும் விரைவு டயலில் யாரையும் சேர்க்கவில்லை"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"முக்கியமானவர்களைச் சேர்"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"இதுவரை எந்தத் தொடர்புகளும் இல்லை"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ஒரு தொடர்பைச் சேர்க்கவும்"</string> <string name="contact_tooltip" msgid="8871614660967439999">"எல்லா எண்களையும் பார்க்க, படத்தைத் தொடவும் அல்லது மறுவரிசைப்படுத்த, தொட்டுப் பிடித்திருக்கவும்"</string> <string name="remove_contact" msgid="2353580570488923668">"அகற்று"</string> + <string name="select_all" msgid="408601760696146245">"அனைத்தையும் தேர்ந்தெடு"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"வீடியோ அழைப்பு"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"செய்தி அனுப்பவும்"</string> <string name="call_log_action_details" msgid="2091370737371449501">"அழைப்பு விவரங்கள்"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"தடுக்கப்பட்ட எண்கள்"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ஏற்கனவே தடுக்கப்பட்டுள்ளது."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"அழைப்பு கணக்குகள்"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"இயக்கு"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"அனுமதிகளை அமை"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"விரைவு டயலை இயக்க, தொடர்புகள் அனுமதியை இயக்கவும்."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"அழைப்புப் பதிவைப் பார்க்க, ஃபோன் அனுமதியை இயக்கவும்."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"தொடர்புகளைப் பார்க்க, தொடர்புகள் அனுமதியை இயக்கவும்."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"குரலஞ்சலை அணுக, ஃபோன் அனுமதியை இயக்கவும்."</string> <string name="permission_no_search" msgid="2424710404207193826">"தொடர்புகளைத் தேட, தொடர்புகள் அனுமதிகளை இயக்கவும்."</string> <string name="permission_place_call" msgid="8686908130349369423">"அழைக்க, ஃபோன் அனுமதியை இயக்கவும்."</string> diff --git a/java/com/android/dialer/app/res/values-te/strings.xml b/java/com/android/dialer/app/res/values-te/strings.xml index ffc046f69..aecc1c4b9 100644 --- a/java/com/android/dialer/app/res/values-te/strings.xml +++ b/java/com/android/dialer/app/res/values-te/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"ప్రోగ్రెస్లో ఉన్న కాల్కు వెళ్లు"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"కాల్ను జోడించు"</string> <string name="actionIncomingCall" msgid="891346596090030558">"ఇన్కమింగ్ కాల్లు"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"బల్క్ చర్య మోడ్లోకి ప్రవేశిస్తున్నారు"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"బల్క్ చర్య మోడ్ నుండి నిష్క్రమించారు"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ఎంచుకోబడింది"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> ఎంపిక తీసివేయబడింది"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"వాయిస్ మెయిల్ ప్లే చేయండి"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> పరిచయాన్ని వీక్షించండి"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g>కు కాల్ చేయి"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"వాయిస్ మెయిల్"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> సెక"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> నిమి <xliff:g id="SECONDS">%s</xliff:g> సెక"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"సమూహ చర్యల మోడ్ను రద్దు చేస్తుంది"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"వాయిస్ మెయిల్"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"వాయిస్ మెయిల్లు"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"అవును"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"వద్దు"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ఎంచుకున్న <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>ను తొలగించాలా?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ఎంచుకోబడ్డాయి"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g>కి"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"సిమ్ కార్డు నుండి లోడ్ చేస్తోంది…"</string> <string name="simContacts_title" msgid="7961069730386378887">"సిమ్ కార్డు పరిచయాలు"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"పరిచయాల అనువర్తనం ఏదీ అందుబాటులో లేదు"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"వాయిస్ శోధన అందుబాటులో లేదు"</string> <string name="call_not_available" msgid="7850148370757361155">"ఫోన్ అనువర్తనం నిలిపివేయబడినందున ఫోన్ కాల్ చేయలేరు."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"పరిచయాలను శోధించు"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> కొత్త సమాధానం ఇవ్వని కాల్లు"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"మీ స్పీడ్ డయల్లో ఇంకా ఎవరూ లేరు"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ఇష్టమైన వారిని జోడించండి"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"మీకు ఇప్పటికీ పరిచయాలేవీ లేవు"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"పరిచయాన్ని జోడించండి"</string> <string name="contact_tooltip" msgid="8871614660967439999">"అన్ని నంబర్లను చూడటానికి చిత్రాన్ని తాకండి లేదా క్రమం మార్చడానికి తాకి, కాసేపు అలాగే ఉంచండి"</string> <string name="remove_contact" msgid="2353580570488923668">"తీసివేయి"</string> + <string name="select_all" msgid="408601760696146245">"అన్నీ ఎంచుకోండి"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"వీడియో కాల్"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"సందేశాన్ని పంపు"</string> <string name="call_log_action_details" msgid="2091370737371449501">"కాల్ వివరాలు"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"బ్లాక్ చేయబడిన నంబర్లు"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ఇప్పటికే బ్లాక్ చేయబడింది."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"కాల్ చేసే ఖాతాలు"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"ఆన్ చేయి"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"అనుమతులను సెట్ చేయి"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"స్పీడ్ డయల్ను ప్రారంభించడానికి, పరిచయాల అనుమతిని ఆన్ చేయండి."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"మీ కాల్ లాగ్ను చూడటానికి, ఫోన్ అనుమతిని ఆన్ చేయండి."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"మీ పరిచయాలను చూడటానికి, పరిచయాల అనుమతిని ఆన్ చేయండి."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"మీ వాయిస్ మెయిల్ను ప్రాప్యత చేయడానికి, ఫోన్ అనుమతిని ఆన్ చేయండి."</string> <string name="permission_no_search" msgid="2424710404207193826">"మీ పరిచయాలను శోధించడానికి, పరిచయాల అనుమతులను ఆన్ చేయండి."</string> <string name="permission_place_call" msgid="8686908130349369423">"కాల్ చేయడానికి, ఫోన్ అనుమతిని ఆన్ చేయండి."</string> diff --git a/java/com/android/dialer/app/res/values-th/strings.xml b/java/com/android/dialer/app/res/values-th/strings.xml index 13916a51d..58507b49e 100644 --- a/java/com/android/dialer/app/res/values-th/strings.xml +++ b/java/com/android/dialer/app/res/values-th/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"กลับไปคุยสายต่อ"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"เพิ่มการโทร"</string> <string name="actionIncomingCall" msgid="891346596090030558">"สายโทรเข้า"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"กำลังเข้าสู่โหมดการดำเนินการแบบกลุ่ม"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"ออกจากโหมดการทำงานแบบกลุ่มแล้ว"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"เลือก <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> แล้ว"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"ยกเลิกการเลือก <xliff:g id="NAMEORNUMBER">%1$s</xliff:g> แล้ว"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"เล่นข้อความเสียง"</string> <string name="description_view_contact" msgid="3940984937384372665">"ดูรายชื่อติดต่อ <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"โทรหา <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"ข้อความเสียง"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> วินาที"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> นาที <xliff:g id="SECONDS">%s</xliff:g> วินาที"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"ยกเลิกโหมดการทำงานแบบกลุ่ม"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ข้อความเสียง"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ข้อความเสียง"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ใช่"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"ไม่"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"ลบ<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>ที่เลือกหรือไม่"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"เลือกไว้ <xliff:g id="NUMBER">%1$s</xliff:g> รายการ"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"วันที่ <xliff:g id="DATE">%1$s</xliff:g> เวลา <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"กำลังโหลดจากซิมการ์ด…"</string> <string name="simContacts_title" msgid="7961069730386378887">"รายชื่อบนซิมการ์ด"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"ไม่มีแอปรายชื่อติดต่อที่พร้อมใช้งาน"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"การค้นหาด้วยเสียงไม่พร้อมใช้งาน"</string> <string name="call_not_available" msgid="7850148370757361155">"ไม่สามารถโทรศัพท์ได้เนื่องจากแอปพลิเคชันโทรศัพท์ถูกปิดใช้งาน"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"ค้นหารายชื่อติดต่อ"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"สายที่ไม่ได้รับใหม่ <xliff:g id="NUMBER">%s</xliff:g> สาย"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"ยังไม่ได้กำหนดผู้ใดในการโทรด่วน"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"เพิ่มรายการโปรด"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"คุณยังไม่มีรายชื่อติดต่อ"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"เพิ่มรายชื่อติดต่อ"</string> <string name="contact_tooltip" msgid="8871614660967439999">"แตะรูปภาพเพื่อดูหมายเลขทั้งหมด หรือแตะค้างไว้เพื่อจัดเรียงใหม่"</string> <string name="remove_contact" msgid="2353580570488923668">"ลบ"</string> + <string name="select_all" msgid="408601760696146245">"เลือกทั้งหมด"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"แฮงเอาท์วิดีโอ"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"ส่งข้อความ"</string> <string name="call_log_action_details" msgid="2091370737371449501">"รายละเอียดการโทร"</string> @@ -201,7 +205,7 @@ <string name="voicemail_settings_label" msgid="4594299554519920570">"ข้อความเสียง"</string> <string name="voicemail_settings_select_sim_title" msgid="129296966967476845">"เลือกซิมสำหรับการตั้งค่าข้อความเสียง"</string> <string name="blocked_numbers_disabled_emergency_header_label" msgid="6936696532562923971">"การบล็อกสายเรียกเข้าปิดชั่วคราว"</string> - <string name="blocked_numbers_disabled_emergency_desc" msgid="5484785225285297040">"ระบบปิดใช้การบล็อกสายเรียกเข้าเนื่องจากคุณติดต่อบริการฉุกเฉินจากโทรศัพท์เครื่องนี้ภายใน 48 ชั่วโมงที่ผ่านมา ระบบจะเปิดใช้คุณลักษณะนี้อีกครั้งโดยอัตโนมัติเมื่อครบ 48 ชั่วโมง"</string> + <string name="blocked_numbers_disabled_emergency_desc" msgid="5484785225285297040">"ระบบปิดใช้การบล็อกสายเรียกเข้าเนื่องจากคุณติดต่อบริการฉุกเฉินจากโทรศัพท์เครื่องนี้ภายใน 48 ชั่วโมงที่ผ่านมา ระบบจะเปิดใช้ฟีเจอร์นี้อีกครั้งโดยอัตโนมัติเมื่อครบ 48 ชั่วโมง"</string> <string name="import_send_to_voicemail_numbers_label" msgid="7821890095264297681">"นำเข้าหมายเลข"</string> <string name="blocked_call_settings_import_description" msgid="1819412052545228965">"ก่อนหน้านี้คุณได้ทำเครื่องหมายว่าให้ส่งผู้โทรบางคนไปยังข้อความเสียงโดยอัตโนมัติผ่านแอปอื่นๆ"</string> <string name="blocked_call_settings_view_numbers_button" msgid="3332727948554356704">"ดูหมายเลข"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"หมายเลขที่ถูกบล็อก"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> ถูกบล็อกอยู่แล้ว"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"บัญชีการโทร"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"เปิด"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"ตั้งค่าสิทธิ์"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"หากต้องการเปิดใช้การโทรด่วน ให้เปิดสิทธิ์เข้าถึงรายชื่อติดต่อ"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"หากต้องการดูประวัติการโทร ให้เปิดสิทธิ์เข้าถึงโทรศัพท์"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"หากต้องการดูรายชื่อติดต่อ ให้เปิดสิทธิ์เข้าถึงรายชื่อติดต่อ"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"หากต้องการเข้าถึงข้อความเสียง ให้เปิดสิทธิ์เข้าถึงโทรศัพท์"</string> <string name="permission_no_search" msgid="2424710404207193826">"หากต้องการค้นหารายชื่อติดต่อ ให้เปิดสิทธิ์เข้าถึงรายชื่อติดต่อ"</string> <string name="permission_place_call" msgid="8686908130349369423">"หากต้องการโทรออก ให้เปิดสิทธิ์เข้าถึงโทรศัพท์"</string> diff --git a/java/com/android/dialer/app/res/values-tl/strings.xml b/java/com/android/dialer/app/res/values-tl/strings.xml index cc44cb5f2..9a8157fea 100644 --- a/java/com/android/dialer/app/res/values-tl/strings.xml +++ b/java/com/android/dialer/app/res/values-tl/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Bumalik sa kasalukuyang tawag"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Mag-add: tawag"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Mga paparating na tawag"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Pumapasok sa bulk action mode"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Umalis sa bulk action mode"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Napili <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Inalis sa pagkakapili <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"I-play ang voicemail"</string> <string name="description_view_contact" msgid="3940984937384372665">"Tingnan ang contact na si <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Tawagan si <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Voicemail"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sec"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sec"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Kanselahin ang batch actions mode"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"voicemail"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"mga voicemail"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Oo"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Hindi"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"I-delete ang napiling <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> ang napili"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ng <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Naglo-load mula sa SIM card…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Mga contact sa SIM card"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Walang available na app ng mga contact"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Hindi available ang paghahanap gamit ang boses"</string> <string name="call_not_available" msgid="7850148370757361155">"Hindi makagawa ng tawag sa telepono dahil naka-disable ang application na Telepono."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Maghanap ng mga contact"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> (na) bagong hindi nasagot na tawag"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Wala pang tao sa iyong speed dial"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Magdagdag ng paborito"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Wala ka pang sinumang mga contact"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Magdagdag ng contact"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Pindutin ang larawan upang makita ang lahat ng numero o pindutin nang matagal upang ayusing muli"</string> <string name="remove_contact" msgid="2353580570488923668">"Alisin"</string> + <string name="select_all" msgid="408601760696146245">"Piliin lahat"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Mag-video call"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Magpadala ng mensahe"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Mga detalye ng tawag"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Mga naka-block na numero"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Naka-block na ang <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Account sa pagtawag"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"I-on"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Magtakda ng mga pahintulot"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Upang i-enable ang speed dial, i-on ang pahintulot ng Mga Contact."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Upang makita ang iyong log ng tawag, i-on ang pahintulot ng Telepono."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Upang makita ang iyong mga contact, i-on ang pahintulot ng Mga Contact."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Upang ma-access ang iyong voicemail, i-on ang pahintulot ng Telepono."</string> <string name="permission_no_search" msgid="2424710404207193826">"Upang hanapin ang iyong mga contact, i-on ang mga pahintulot sa Mga Contact."</string> <string name="permission_place_call" msgid="8686908130349369423">"Upang tumawag, i-on ang pahintulot ng Telepono."</string> diff --git a/java/com/android/dialer/app/res/values-tr/strings.xml b/java/com/android/dialer/app/res/values-tr/strings.xml index 2f6f704f8..17bd6645c 100644 --- a/java/com/android/dialer/app/res/values-tr/strings.xml +++ b/java/com/android/dialer/app/res/values-tr/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Çağrıya dön"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Çağrı ekle"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Gelen çağrılar"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Toplu işlem moduna giriliyor"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Toplu işlem modundan çıkıldı"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Seçildi: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Seçimi kaldırıldı: <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Sesli mesajı oynat"</string> <string name="description_view_contact" msgid="3940984937384372665">"Kişiyi görüntüle: <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Ara: <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Sesli Mesaj"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> sn."</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> dk. <xliff:g id="SECONDS">%s</xliff:g> sn."</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Toplu işlemler modu iptal edilir"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"sesli mesaj"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"sesli mesajlar"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Evet"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Hayır"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Seçili <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> silinsin mi?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> öğe seçildi"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM karttan yükleniyor..."</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM kart kişileri"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Kullanılabilir rehber uygulaması yok"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Sesli arama kullanılamaz"</string> <string name="call_not_available" msgid="7850148370757361155">"Telefon uygulaması devre dışı bırakıldığından telefon edilemiyor."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Kişilerde ara"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> yeni cevapsız çağrı"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Hızlı arama listenizde henüz kimse yok"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Favori ekle"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Henüz kayıtlı kişi yok"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Kişi ekle"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Tüm numaraları görmek için resme dokunun veya yeniden sıralamak için dokunup basılı tutun"</string> <string name="remove_contact" msgid="2353580570488923668">"Kaldır"</string> + <string name="select_all" msgid="408601760696146245">"Tümünü seç"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Video görüşmesi"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"İleti gönder"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Çağrı ayrıntıları"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Engellenen numaralar"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> numaralı telefon zaten engellendi."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Çağrı hesapları"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Aç"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"İzinleri ayarla"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Hızlı aramayı etkinleştirmek için Kişiler iznini açın."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Çağrı günlüğünüzü görmek için Telefon iznini açın."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Kişilerinizi görmek için Kişiler iznini açın."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Sesli mesajınıza erişmek için Telefon iznini açın."</string> <string name="permission_no_search" msgid="2424710404207193826">"Kişilerinizde arama yapmak için Kişiler izinlerini açın."</string> <string name="permission_place_call" msgid="8686908130349369423">"Telefon etmek için Telefon iznini açın."</string> diff --git a/java/com/android/dialer/app/res/values-uk/strings.xml b/java/com/android/dialer/app/res/values-uk/strings.xml index 9a790125b..a020a1f1b 100644 --- a/java/com/android/dialer/app/res/values-uk/strings.xml +++ b/java/com/android/dialer/app/res/values-uk/strings.xml @@ -87,6 +87,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Повернутися до поточного виклику"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Додати виклик"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Вхідні виклики"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Перехід у режим масових дій"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Ви вийшли з режиму масових дій"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Вибрано користувача <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Скасовано вибір користувача <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Відтворити голосову пошту"</string> <string name="description_view_contact" msgid="3940984937384372665">"Переглянути контакт <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Набрати <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -101,11 +105,13 @@ <string name="voicemail" msgid="8899540969000957954">"Голосова пошта"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> с"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> хв <xliff:g id="SECONDS">%s</xliff:g> с"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Скасувати режим масових дій"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"голосова пошта"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"голосова пошта"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Так"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Ні"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Видалити вибране (<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>)?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Вибрано <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> о <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -118,7 +124,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Завантаж. із SIM-карти…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Контакти SIM-карти"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Немає додатка з контактами"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Голосовий пошук недоступний"</string> <string name="call_not_available" msgid="7850148370757361155">"Не вдається здійснити дзвінок, оскільки додаток Телефон вимкнено."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Пошук контактів"</string> @@ -147,10 +152,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"Нових пропущених дзвінків: <xliff:g id="NUMBER">%s</xliff:g>"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Немає номерів для швидкого набору"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Додати номер"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Ще немає контактів"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Додати контакт"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Торкніться зображення, щоб побачити всі номери, або натисніть і утримуйте, щоб змінити порядок."</string> <string name="remove_contact" msgid="2353580570488923668">"Видалити"</string> + <string name="select_all" msgid="408601760696146245">"Вибрати все"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Відеодзвінок"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Надіслати повідомлення"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Деталі виклику"</string> @@ -217,11 +221,9 @@ <string name="block_list" msgid="4701585783411870782">"Заблоковані номери"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"Номер <xliff:g id="NUMBER">%1$s</xliff:g> уже заблоковано."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Обл. записи для дзвінків"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Увімкнути"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Налаштувати дозволи"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Щоб активувати швидкий набір, увімкніть дозвіл \"Контакти\"."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Щоб переглянути журнал викликів, увімкніть дозвіл \"Телефон\"."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Щоб переглянути контакти, увімкніть дозвіл \"Контакти\"."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Щоб користуватися голосовою поштою, увімкніть дозвіл \"Телефон\"."</string> <string name="permission_no_search" msgid="2424710404207193826">"Щоб шукати контакти, увімкніть дозвіл \"Контакти\"."</string> <string name="permission_place_call" msgid="8686908130349369423">"Щоб зателефонувати, увімкніть дозвіл \"Телефон\"."</string> diff --git a/java/com/android/dialer/app/res/values-ur/strings.xml b/java/com/android/dialer/app/res/values-ur/strings.xml index 25198711b..d696bd54c 100644 --- a/java/com/android/dialer/app/res/values-ur/strings.xml +++ b/java/com/android/dialer/app/res/values-ur/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"جاری کال پر واپس لوٹیں"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"کال شامل کریں"</string> <string name="actionIncomingCall" msgid="891346596090030558">"آنے والی کالیں"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"بلک کاروائی موڈ میں داخل ہو رہا ہے"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"بلک کاروائی موڈ چھوڑ دیا"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"منتخب کردہ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"غیر منتخب کردہ <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"صوتی میل چلائیں"</string> <string name="description_view_contact" msgid="3940984937384372665">"رابطہ <xliff:g id="NAME">%1$s</xliff:g> دیکھیں"</string> <string name="description_call" msgid="1532402285334775372">"<xliff:g id="NAME">%1$s</xliff:g> کو کال کریں"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"صوتی میل"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> سیکنڈ"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> منٹ <xliff:g id="SECONDS">%s</xliff:g> سیکنڈ"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"بیچ کاروائی موڈ منسوخ کریں"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"صوتی میل"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"صوتی میلز"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"ہاں"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"نہیں"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"منتخب کردہ <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> حذف کریں؟"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"<xliff:g id="NUMBER">%1$s</xliff:g> منتخب کردہ"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> بوقت <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM کارڈ سے لوڈ ہو رہا ہے…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM کارڈ کے رابطے"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"رابطوں کی کوئی ایپ دستیاب نہیں ہے"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"صوتی تلاش دستیاب نہیں ہے"</string> <string name="call_not_available" msgid="7850148370757361155">"فون کال نہیں کی جا سکتی ہے کیونکہ فون ایپلیکیشن کو غیر فعال کر دیا گیا ہے۔"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"رابطے تلاش کریں"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> نئی چھوٹی ہوئی کالیں"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"آپ کے اسپیڈ ڈائل پر ابھی تک کوئی نہیں ہے"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"ایک پسندیدہ شامل کریں"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"آپ کے پاس ابھی تک کوئی رابطے نہیں ہیں"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"ایک رابطہ شامل کریں"</string> <string name="contact_tooltip" msgid="8871614660967439999">"سبھی نمبرز دیکھنے کیلئے تصویر ٹچ کریں یا دوبارہ ترتیب دینے کیلئے ٹچ کریں اور پکڑے رہیں"</string> <string name="remove_contact" msgid="2353580570488923668">"ہٹائیں"</string> + <string name="select_all" msgid="408601760696146245">"سبھی کو منتخب کریں"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"ویڈیو کال"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"پیغام بھیجیں"</string> <string name="call_log_action_details" msgid="2091370737371449501">"کال کی تفصیلات"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"مسدود کردہ نمبرز"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> پہلے ہی مسدود ہے۔"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"کالنگ اکاؤنٹس"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"آن کریں"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"اجازتیں طے کریں"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"اسپیڈ ڈائل کو فعال کرنے کیلئے رابطوں کی اجازت آن کریں۔"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"اپنا کال لاگ دیکھنے کیلئے فون کی اجازت آن کریں۔"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"اپنے رابطے دیکھنے کیلئے رابطوں کی اجازت آن کریں۔"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"اپنی صوتی میل تک رسائی کیلئے فون کی اجازت آن کریں۔"</string> <string name="permission_no_search" msgid="2424710404207193826">"اپنے رابطوں کو تلاش کرنے کیلئے رابطوں کی اجازتیں آن کریں۔"</string> <string name="permission_place_call" msgid="8686908130349369423">"کال کرنے کیلئے فون کی اجازت آن کریں۔"</string> diff --git a/java/com/android/dialer/app/res/values-uz/strings.xml b/java/com/android/dialer/app/res/values-uz/strings.xml index 705cae765..aa645bf88 100644 --- a/java/com/android/dialer/app/res/values-uz/strings.xml +++ b/java/com/android/dialer/app/res/values-uz/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Amaldagi chaqiruvga qaytish"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Chaqiruv qo‘shish"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Kiruvchi qo‘ng‘iroqlar"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Yoppasiga bajariladigan amallar rejimiga o‘tilmoqda"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Yoppasiga bajariladigan amallar rejimidan chiqib ketildi"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> tanlandi"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"<xliff:g id="NAMEORNUMBER">%1$s</xliff:g> tanlovi bekor qilindi"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Ovozli xabarni eshitish"</string> <string name="description_view_contact" msgid="3940984937384372665">"<xliff:g id="NAME">%1$s</xliff:g> kontaktini ko‘rish"</string> <string name="description_call" msgid="1532402285334775372">"Qo‘ng‘iroq: <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Ovozli pochta"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> soniya"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> daq <xliff:g id="SECONDS">%s</xliff:g> son"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Yoppasiga bajariladigan amallar rejimini bekor qilish"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ovozli xabar"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ovozli xabarlar"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Ha"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Yo‘q"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Tanlangan <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> o‘chirib tashlansinmi?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Tanlandi: <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g>, <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"SIM kartadan yuklanmoqda…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM karta kontaktlari"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Hech qanday kontakt ilovasi yo‘q"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Ovozli qidiruv mavjud emas"</string> <string name="call_not_available" msgid="7850148370757361155">"Telefon ilovasi o‘chirib qo‘yilgani sababli telefon qo‘ng‘iroqlarini amalga oshirib bo‘lmaydi."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Kontaktlar ichidan qidirish"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> ta javobsiz chaqiruv"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Tezkor terish uchun hech kim yo‘q"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Tezkor raqam terishni sozlang"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Sizda hali hech qanday kontakt yo‘q"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Yangi kontakt qo‘shing"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Barcha raqamlarni ko‘rish uchun rasm ustiga bosing yoki joyini o‘zgartirish uchun rasmni bosib turing."</string> <string name="remove_contact" msgid="2353580570488923668">"O‘chirish"</string> + <string name="select_all" msgid="408601760696146245">"Hammasini tanlash"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Video qo‘ng‘iroq"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Xabar yuborish"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Chaqiruv tafsilotlari"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Bloklangan raqamlar"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> raqami allaqachon bloklangan."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Chaqiruv uchun hisoblar"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Yoqish"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Ruxsatnomalarni sozlash"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Tezkor raqam terish uchun “Kontaktlar” ruxsatnomasini yoqing."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Qo‘ng‘iroqlaringiz ro‘yxatini ko‘rish uchun “Telefon” ruxsatnomasini yoqing."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Kontaktlaringizni ko‘rish uchun “Kontaktlar” ruxsatnomasini yoqing."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Ovozli pochtaga kirish uchun “Telefon” ruxsatnomasini yoqing."</string> <string name="permission_no_search" msgid="2424710404207193826">"Kontaktlarni qidirish uchun “Kontaktlar” ruxsatnomasini yoqing."</string> <string name="permission_place_call" msgid="8686908130349369423">"Qo‘ng‘iroq qilish uchun “Telefon” ruxsatnomasini yoqing."</string> diff --git a/java/com/android/dialer/app/res/values-vi/strings.xml b/java/com/android/dialer/app/res/values-vi/strings.xml index 5a60e0ac3..dda7c1523 100644 --- a/java/com/android/dialer/app/res/values-vi/strings.xml +++ b/java/com/android/dialer/app/res/values-vi/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Quay lại cuộc gọi đang thực hiện"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Thêm cuộc gọi"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Cuộc gọi đến"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Truy cập chế độ tác vụ hàng loạt"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Đã rời khỏi chế độ tác vụ hàng loạt"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Đã chọn <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Đã bỏ chọn <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Phát thư thoại"</string> <string name="description_view_contact" msgid="3940984937384372665">"Xem thông tin liên hệ của <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Gọi <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Thư thoại"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> giây"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> phút <xliff:g id="SECONDS">%s</xliff:g> giây"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Hủy chế độ tác vụ hàng loạt"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"thư thoại"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"thư thoại"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Có"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Không"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Xóa <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g> đã chọn?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Đã chọn <xliff:g id="NUMBER">%1$s</xliff:g>"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> lúc <xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Đang tải từ thẻ SIM…"</string> <string name="simContacts_title" msgid="7961069730386378887">"Danh bạ trên thẻ SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Không có ứng dụng danh bạ"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Không có tính năng tìm kiếm bằng giọng nói"</string> <string name="call_not_available" msgid="7850148370757361155">"Không thể thực hiện cuộc gọi điện thoại vì ứng dụng Điện thoại đã bị tắt."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Tìm kiếm trong danh bạ"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> cuộc gọi nhỡ mới"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Chưa có ai trong danh bạ quay số nhanh của bạn"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Thêm liên hệ quay số nhanh yêu thích"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Bạn chưa có bất kỳ liên hệ nào"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Thêm liên hệ"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Chạm vào hình ảnh để xem tất cả các số hoặc chạm và giữ để sắp xếp lại"</string> <string name="remove_contact" msgid="2353580570488923668">"Xóa"</string> + <string name="select_all" msgid="408601760696146245">"Chọn tất cả"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Cuộc gọi điện video"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Gửi tin nhắn"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Chi tiết cuộc gọi"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Số bị chặn"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> đã bị chặn."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Tài khoản gọi"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Bật"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Đặt quyền"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Để bật quay số nhanh, bật quyền đối với Danh bạ."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Để xem nhật ký cuộc gọi của bạn, bật quyền đối với Điện thoại."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Để xem danh bạ của bạn, bật quyền đối với Danh bạ."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Để truy cập thư thoại của bạn, bật quyền đối với Điện thoại."</string> <string name="permission_no_search" msgid="2424710404207193826">"Để tìm kiếm liên hệ của bạn, hãy bật quyền đối với Danh bạ."</string> <string name="permission_place_call" msgid="8686908130349369423">"Để thực hiện cuộc gọi, bật quyền đối với Điện thoại."</string> diff --git a/java/com/android/dialer/app/res/values-zh-rCN/strings.xml b/java/com/android/dialer/app/res/values-zh-rCN/strings.xml index 98abc396a..672614e48 100644 --- a/java/com/android/dialer/app/res/values-zh-rCN/strings.xml +++ b/java/com/android/dialer/app/res/values-zh-rCN/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"返回正在进行的通话"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"添加通话"</string> <string name="actionIncomingCall" msgid="891346596090030558">"来电"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"正在进入批量操作模式"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"已退出批量操作模式"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"已选择 <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"已取消选择 <xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"播放语音邮件"</string> <string name="description_view_contact" msgid="3940984937384372665">"查看联系人<xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"呼叫<xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"语音信箱"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> 秒"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> 分钟 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"取消批量操作模式"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"语音邮件"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"语音邮件"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"是"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"否"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"要删除所选的<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>吗?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"已选择 <xliff:g id="NUMBER">%1$s</xliff:g> 封"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g><xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"正从 SIM 卡中加载..."</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM卡联系人"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"没有可用的通讯录应用"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"无法使用语音搜索"</string> <string name="call_not_available" msgid="7850148370757361155">"“电话”应用已被停用,因此无法拨打电话。"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"搜索联系人"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g>个新的未接电话"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"尚未给任何联系人设定快速拨号"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"添加常用联系人"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"您还没有任何联系人"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"添加联系人"</string> <string name="contact_tooltip" msgid="8871614660967439999">"触摸图片可查看所有号码,触摸并按住可重新排序"</string> <string name="remove_contact" msgid="2353580570488923668">"移除"</string> + <string name="select_all" msgid="408601760696146245">"全选"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"视频通话"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"发送短信"</string> <string name="call_log_action_details" msgid="2091370737371449501">"通话详情"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"已屏蔽的号码"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> 已被屏蔽。"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"通话帐号"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"开启"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"设置权限"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"要启用快速拨号功能,请开启“通讯录”权限。"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"要查看您的通话记录,请开启“电话”权限。"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"要查看您的联系人,请开启“通讯录”权限。"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"要使用您的语音信箱,请开启“电话”权限。"</string> <string name="permission_no_search" msgid="2424710404207193826">"要搜索您的联系人,请开启“通讯录”权限。"</string> <string name="permission_place_call" msgid="8686908130349369423">"要拨打电话,请开启“电话”权限。"</string> diff --git a/java/com/android/dialer/app/res/values-zh-rHK/strings.xml b/java/com/android/dialer/app/res/values-zh-rHK/strings.xml index 2a96ce045..f3dc44baf 100644 --- a/java/com/android/dialer/app/res/values-zh-rHK/strings.xml +++ b/java/com/android/dialer/app/res/values-zh-rHK/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"返回進行中的通話"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"新增通話"</string> <string name="actionIncomingCall" msgid="891346596090030558">"來電"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"正在進入大量操作模式"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"已離開大量操作模式"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"已選取<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"已取消選取<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"播放語音留言"</string> <string name="description_view_contact" msgid="3940984937384372665">"查看聯絡人<xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"打電話給<xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"留言"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> 秒"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"取消批量操作模式"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"留言"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"留言"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"是"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"否"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"要刪除所選的<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>嗎?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"已選取 <xliff:g id="NUMBER">%1$s</xliff:g> 個"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g><xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"正在從 SIM 卡載入..."</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM 卡聯絡人"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"沒有可用的聯絡人應用程式"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"無法使用語音搜尋"</string> <string name="call_not_available" msgid="7850148370757361155">"由於「電話」應用程式已停用,因此無法打電話。"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"搜尋聯絡人"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> 個新的未接來電"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"快速撥號名單中沒有聯絡人"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"新增常用聯絡人"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"暫時沒有聯絡人"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"新增聯絡人"</string> <string name="contact_tooltip" msgid="8871614660967439999">"輕觸圖片以查看所有電話號碼,或輕觸並按住圖片以重新排序"</string> <string name="remove_contact" msgid="2353580570488923668">"移除"</string> + <string name="select_all" msgid="408601760696146245">"全選"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"視像通話"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"傳送訊息"</string> <string name="call_log_action_details" msgid="2091370737371449501">"通話詳情"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"已封鎖的號碼"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"已封鎖 <xliff:g id="NUMBER">%1$s</xliff:g>。"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"通話帳戶"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"開放權限"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"設定權限"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"如要啟用快速撥號功能,請開放「通訊錄」權限。"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"如要查看通話記錄,請開放「手機」權限。"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"如要查看聯絡人,請開放「通訊錄」權限。"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"如要存取留言信箱,請開放「手機」權限。"</string> <string name="permission_no_search" msgid="2424710404207193826">"如要搜尋聯絡人,請開啟「通訊錄」權限。"</string> <string name="permission_place_call" msgid="8686908130349369423">"如要撥打電話,請開放「手機」權限。"</string> diff --git a/java/com/android/dialer/app/res/values-zh-rTW/strings.xml b/java/com/android/dialer/app/res/values-zh-rTW/strings.xml index 917452133..473955c5d 100644 --- a/java/com/android/dialer/app/res/values-zh-rTW/strings.xml +++ b/java/com/android/dialer/app/res/values-zh-rTW/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"返回進行中的通話"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"新增通話"</string> <string name="actionIncomingCall" msgid="891346596090030558">"來電"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"已進入大量操作模式"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"已離開大量操作模式"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"已選取:<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"已取消選取:<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"播放語音留言"</string> <string name="description_view_contact" msgid="3940984937384372665">"查看聯絡人<xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"撥電話給<xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"語音留言"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> 秒"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"取消批次操作模式"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"語音留言"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"語音留言"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"是"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"否"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"要刪除選取的<xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>嗎?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"已選取 <xliff:g id="NUMBER">%1$s</xliff:g> 個"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g><xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"從 SIM 卡讀取中…"</string> <string name="simContacts_title" msgid="7961069730386378887">"SIM 卡聯絡人"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"沒有可用的聯絡人應用程式"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"無法使用語音搜尋"</string> <string name="call_not_available" msgid="7850148370757361155">"「電話」應用程式已遭停用,因此無法撥打電話。"</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"搜尋聯絡人"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> 通新的未接來電"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"您的快速撥號功能尚未設定任何聯絡人"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"新增常用聯絡人"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"您尚未加入任何聯絡人"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"新增聯絡人"</string> <string name="contact_tooltip" msgid="8871614660967439999">"輕觸圖片即可查看所有號碼,按住則可重新排序"</string> <string name="remove_contact" msgid="2353580570488923668">"移除"</string> + <string name="select_all" msgid="408601760696146245">"全選"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"視訊通話"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"傳送簡訊"</string> <string name="call_log_action_details" msgid="2091370737371449501">"通話詳細資料"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"已封鎖的號碼"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> 已在封鎖清單中。"</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"通話帳戶"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"開啟"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"設定權限"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"如要啟用快速撥號,請開啟「聯絡人」存取權限。"</string> <string name="permission_no_calllog" msgid="4053705651238775784">"如要查看您的通話紀錄,請開啟「電話」存取權限。"</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"如要查看您的聯絡人,請開啟「聯絡人」存取權限。"</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"如要存取您的語音信箱,請開啟「電話」存取權限。"</string> <string name="permission_no_search" msgid="2424710404207193826">"如要搜尋您的聯絡人,請開啟「聯絡人」存取權限。"</string> <string name="permission_place_call" msgid="8686908130349369423">"如要撥打電話,請開啟「電話」存取權限。"</string> diff --git a/java/com/android/dialer/app/res/values-zu/strings.xml b/java/com/android/dialer/app/res/values-zu/strings.xml index 9c8a6b8e1..93843aa2c 100644 --- a/java/com/android/dialer/app/res/values-zu/strings.xml +++ b/java/com/android/dialer/app/res/values-zu/strings.xml @@ -85,6 +85,10 @@ <string name="dialer_returnToInCallScreen" msgid="3487191628252824117">"Buyela kukholi eqhubekayo"</string> <string name="dialer_addAnotherCall" msgid="3132945651710234674">"Yengeza ikholi"</string> <string name="actionIncomingCall" msgid="891346596090030558">"Amakholi angenayo"</string> + <string name="description_entering_bulk_action_mode" msgid="6134916000015585401">"Kungenwa kumodi yesenzo senqwaba"</string> + <string name="description_leaving_bulk_action_mode" msgid="4355853387639765529">"Ishiye imodi yesenzo senqwaba"</string> + <string name="description_selecting_bulk_action_mode" msgid="7228565941043117618">"Kukhethwe i-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> + <string name="description_unselecting_bulk_action_mode" msgid="6450971299622386060">"Akukhethiwe i-<xliff:g id="NAMEORNUMBER">%1$s</xliff:g>"</string> <string name="description_call_log_play_button" msgid="2349845005022431438">"Dlala i-imeyli yezwi"</string> <string name="description_view_contact" msgid="3940984937384372665">"Bheka oxhumana naye <xliff:g id="NAME">%1$s</xliff:g>"</string> <string name="description_call" msgid="1532402285334775372">"Shayela <xliff:g id="NAME">%1$s</xliff:g>"</string> @@ -99,11 +103,13 @@ <string name="voicemail" msgid="8899540969000957954">"Ivoyisimeyili"</string> <string name="callDetailsShortDurationFormat" msgid="8517030531054801588">"<xliff:g id="SECONDS">%s</xliff:g> isekhondi"</string> <string name="callDetailsDurationFormat" msgid="6826204822350034578">"<xliff:g id="MINUTES">%s</xliff:g> amaminithi <xliff:g id="SECONDS">%s</xliff:g> amasekhondi"</string> + <string name="description_cancel_multi_select" msgid="3930475950253360461">"Khansela imodi lezenzo zeqoqo"</string> <string name="voicemailMultiSelectVoicemail" msgid="7792569522692927527">"ivoyisimeyili"</string> <string name="voicemailMultiSelectVoicemails" msgid="3901723179158415509">"ama-meyli ezwi"</string> <string name="voicemailMultiSelectDeleteConfirm" msgid="5904880853422397390">"Yebo"</string> <string name="voicemailMultiSelectDeleteCancel" msgid="7340110543555172665">"Cha"</string> <string name="voicemailMultiSelectDialogTitle" msgid="150612124416146690">"Susa okukhethiwe <xliff:g id="VOICEMAILORVOICEMAILS">%1$s</xliff:g>?"</string> + <string name="voicemailMultiSelectActionBarTitle" msgid="5840745438559612431">"Engu-<xliff:g id="NUMBER">%1$s</xliff:g> ekhethiwe"</string> <string name="voicemailCallLogToday" msgid="709034597866788854">@string/call_log_header_today</string> <string name="voicemailCallLogDateTimeFormat" msgid="4998985002074131268">"<xliff:g id="DATE">%1$s</xliff:g> ngo-<xliff:g id="TIME">%2$s</xliff:g>"</string> <string name="voicemailDurationFormat" msgid="5649961568550898382">"<xliff:g id="MINUTES">%1$02d</xliff:g>:<xliff:g id="SECONDS">%2$02d</xliff:g>"</string> @@ -116,7 +122,6 @@ <string name="meid" msgid="3333779521535224028">"I-MEID"</string> <string name="simContacts_emptyLoading" msgid="6205424276735652071">"Ilayisha kusuka ekhadini le-SIM..."</string> <string name="simContacts_title" msgid="7961069730386378887">"Othintana nabo bekhadi le-SIM"</string> - <string name="add_contact_not_available" msgid="7065884447935173347">"Alukho uhlelo lokusebenza loxhumana nabo olutholakalayo"</string> <string name="voice_search_not_available" msgid="6546240433719732905">"Usesho lwezwi alutholakali"</string> <string name="call_not_available" msgid="7850148370757361155">"Ayikwazi ukwenza ikholi yefoni ngoba uhlelo lokusebenza lwefoni likhutshaziwe."</string> <string name="dialer_hint_find_contact" msgid="2023214799381149808">"Sesha othintana nabo"</string> @@ -145,10 +150,9 @@ <string name="num_missed_calls" msgid="5171791753696317082">"<xliff:g id="NUMBER">%s</xliff:g> amakholi amasha owaphuthelwe"</string> <string name="speed_dial_empty" msgid="3346406399966039505">"Akekho umuntu osekudayeleni kwakho okusheshayo okwamanje"</string> <string name="speed_dial_empty_add_favorite_action" msgid="3470360584638103033">"Engeza intandokazi"</string> - <string name="all_contacts_empty" msgid="243071567853617177">"Awunabo oxhumana nabo okwamanje"</string> - <string name="all_contacts_empty_add_contact_action" msgid="2907328217206743952">"Engeza oxhumana naye"</string> <string name="contact_tooltip" msgid="8871614660967439999">"Thinta isithombe ukuze ubone zonke izinombolo noma thinta bese ubambe ukuze uhlele kabusha"</string> <string name="remove_contact" msgid="2353580570488923668">"Susa"</string> + <string name="select_all" msgid="408601760696146245">"Khetha konke"</string> <string name="call_log_action_video_call" msgid="7565549950343850819">"Ikholi yevidiyo"</string> <string name="call_log_action_send_message" msgid="6948727362660115554">"Thumela umlayezo"</string> <string name="call_log_action_details" msgid="2091370737371449501">"Imininingwane yekholi"</string> @@ -213,11 +217,9 @@ <string name="block_list" msgid="4701585783411870782">"Izinombolo ezivinjiwe"</string> <string name="alreadyBlocked" msgid="5483253180532475653">"<xliff:g id="NUMBER">%1$s</xliff:g> isivinjiwe kakade."</string> <string name="phone_account_settings_label" msgid="8372485478006965920">"Ama-akhawunti wokushaya"</string> - <string name="permission_single_turn_on" msgid="8014796118294187894">"Vula"</string> <string name="permission_multiple_turn_on" msgid="5679888820253829400">"Setha izimvume"</string> <string name="permission_no_speeddial" msgid="8487215628510596753">"Nika amandla ukudayela okusheshayo, vula imvume yoxhumana nabo."</string> <string name="permission_no_calllog" msgid="4053705651238775784">"Ukuze ubone irekhodi lakho lamakholi, vuma imvume yefoni."</string> - <string name="permission_no_contacts" msgid="8995025765862026771">"Ukuze ubone oxhumana nabo, vula imvume yoxhumana nabo."</string> <string name="permission_no_voicemail" msgid="1908142679289209291">"Ukuze ufinyelele ivoyisimeyili, vula imvume yefoni."</string> <string name="permission_no_search" msgid="2424710404207193826">"Ukuze useshe oxhumana nabo, vula izimvume zoxhumana nabo."</string> <string name="permission_place_call" msgid="8686908130349369423">"Ukuze ubeke ikholi, vula imvume yefoni."</string> diff --git a/java/com/android/dialer/app/res/values/colors.xml b/java/com/android/dialer/app/res/values/colors.xml index cf6b926be..2f6d87b49 100644 --- a/java/com/android/dialer/app/res/values/colors.xml +++ b/java/com/android/dialer/app/res/values/colors.xml @@ -52,8 +52,6 @@ <!-- Colour of voicemail progress bar to the left of position indicator. --> <color name="voicemail_playback_seek_bar_already_played">@color/dialer_theme_color</color> - <!-- Background color of new dialer activity --> - <color name="background_dialer_light">#fafafa</color> <!-- Background color for search results and call details --> <color name="background_dialer_results">#f9f9f9</color> <color name="background_dialer_call_log">@color/background_dialer_light</color> @@ -69,8 +67,6 @@ <!-- Undo dialogue color --> <color name="undo_dialogue_text_color">#4d4d4d</color> - <color name="empty_list_text_color">#b2b2b2</color> - <color name="remove_text_color">#ffffff</color> <!-- Text color for the "Remove" text when a contact is dragged on top of the remove view --> diff --git a/java/com/android/dialer/app/res/values/dimens.xml b/java/com/android/dialer/app/res/values/dimens.xml index 7da29c7a3..57c43ebbd 100644 --- a/java/com/android/dialer/app/res/values/dimens.xml +++ b/java/com/android/dialer/app/res/values/dimens.xml @@ -105,9 +105,6 @@ <!-- Length of dialpad's shadows in dialer. --> <dimen name="shadow_length">10dp</dimen> - <dimen name="empty_list_message_top_padding">20dp</dimen> - <dimen name="empty_list_message_text_size">16sp</dimen> - <!-- Dimensions for individual preference cards --> <dimen name="preference_padding_top">16dp</dimen> <dimen name="preference_padding_bottom">16dp</dimen> diff --git a/java/com/android/dialer/app/res/values/strings.xml b/java/com/android/dialer/app/res/values/strings.xml index 9e1fdeb5a..6110601d8 100644 --- a/java/com/android/dialer/app/res/values/strings.xml +++ b/java/com/android/dialer/app/res/values/strings.xml @@ -279,6 +279,34 @@ <!-- Description for incoming calls going to voice mail vs. not --> <string name="actionIncomingCall">Incoming calls</string> + <!-- String describing the user entering bulk action mode. + + Note: AccessibilityServices use this attribute to announce what the view represents. + This is especially valuable for views without textual representation like ImageView. +--> + <string name="description_entering_bulk_action_mode">Entering bulk action mode</string> + + <!-- String describing the user leaving bulk action mode. + + Note: AccessibilityServices use this attribute to announce what the view represents. + This is especially valuable for views without textual representation like ImageView. +--> + <string name="description_leaving_bulk_action_mode">Left bulk action mode</string> + + <!-- String describing the button to select an entry for bulk action. + + Note: AccessibilityServices use this attribute to announce what the view represents. + This is especially valuable for views without textual representation like ImageView. + --> + <string name="description_selecting_bulk_action_mode">Selected <xliff:g id="nameOrNumber">%1$s</xliff:g></string> + + <!-- String describing the button to unselect an entry for bulk action. + + Note: AccessibilityServices use this attribute to announce what the view represents. + This is especially valuable for views without textual representation like ImageView. + --> + <string name="description_unselecting_bulk_action_mode">Unselected <xliff:g id="nameOrNumber">%1$s</xliff:g></string> + <!-- String describing the icon in the call log used to play a voicemail. Note: AccessibilityServices use this attribute to announce what the view represents. @@ -362,12 +390,19 @@ <!-- A nicely formatted call duration displayed when viewing call details. For example "42 min 28 sec" --> <string name="callDetailsDurationFormat"><xliff:g example="42" id="minutes">%s</xliff:g> min <xliff:g example="28" id="seconds">%s</xliff:g> sec</string> + <!-- String describing the cancel button in multi select. + Note: AccessibilityServices uses this attribute to announce what the view represents. + [CHAR LIMIT=NONE] --> + <string name="description_cancel_multi_select">Cancel batch actions mode</string> + <string name="voicemailMultiSelectVoicemail">voicemail</string> <string name="voicemailMultiSelectVoicemails">voicemails</string> <string name="voicemailMultiSelectDeleteConfirm">Yes</string> <string name="voicemailMultiSelectDeleteCancel">No</string> <string name="voicemailMultiSelectDialogTitle">Delete selected <xliff:g id="voicemailorvoicemails">%1$s</xliff:g>?</string> + <string name="voicemailMultiSelectActionBarTitle"><xliff:g id="number">%1$s</xliff:g> selected</string> + <!-- The string 'Today'. This value is used in the voicemailCallLogDateTimeFormat rather than an explicit date string, e.g. Jul 25, 2014, in the event that a voicemail was created on the current day --> @@ -411,9 +446,6 @@ <!-- Dialog title displayed when loading a phone number from the SIM card for speed dial --> <string name="simContacts_title">SIM card contacts</string> - <!-- Message displayed when there is no application available to handle the add contact menu option. [CHAR LIMIT=NONE] --> - <string name="add_contact_not_available">No contacts app available</string> - <!-- Message displayed when there is no application available to handle voice search. [CHAR LIMIT=NONE] --> <string name="voice_search_not_available">Voice search not available</string> @@ -514,12 +546,6 @@ <!-- Shown as an action when there are no speed dial favorites --> <string name="speed_dial_empty_add_favorite_action">Add a favorite</string> - <!-- Shown when there are no contacts in the all contacts list. --> - <string name="all_contacts_empty">You don\'t have any contacts yet</string> - - <!-- Shown as an action when the all contacts list is empty --> - <string name="all_contacts_empty_add_contact_action">Add a contact</string> - <!-- Shows up as a tooltip to provide a hint to the user that the profile pic in a contact card can be tapped to bring up a list of all numbers, or long pressed to start reordering [CHAR LIMIT=NONE] @@ -529,6 +555,9 @@ <!-- Remove button that shows up when contact is long-pressed. [CHAR LIMIT=NONE] --> <string name="remove_contact">Remove</string> + <!-- Select all text that shows up when in multi select mode. [CHAR LIMIT=NONE] --> + <string name="select_all">Select all</string> + <!-- Button text for the "video call" displayed underneath an entry in the call log. Tapping causes a video call to be placed to the caller represented by the call log entry. [CHAR LIMIT=30] --> @@ -554,7 +583,7 @@ Call <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g> </string> - <!-- String describing an incoming missed call entry in the call log. + <!-- String describing an incoming missed call entry in the call log. Note: AccessibilityServices uses this attribute to announce what the view represents. [CHAR LIMIT=NONE] --> <string name="description_incoming_missed_call">Missed call from <xliff:g example="John Smith" id="nameOrNumber">^1</xliff:g>, <xliff:g example="Mobile" id="typeOrLocation">^2</xliff:g>, <xliff:g example="2 min ago" id="timeOfCall">^3</xliff:g>, <xliff:g example="on SIM 1" id="phoneAccount">^4</xliff:g>.</string> @@ -841,9 +870,6 @@ <!-- Internal key for DTMF tone length preference. --> <string name="dtmf_tone_length_preference_key" translatable="false">button_dtmf_settings</string> - <!-- The label of the button used to turn on a single permission [CHAR LIMIT=30]--> - <string name="permission_single_turn_on">Turn on</string> - <!-- The label of the button used to turn on multiple permissions [CHAR LIMIT=30]--> <string name="permission_multiple_turn_on">Set permissions</string> @@ -853,9 +879,6 @@ <!-- Shown as a prompt to turn on the phone permission to enable the call log [CHAR LIMIT=NONE]--> <string name="permission_no_calllog">To see your call log, turn on the Phone permission.</string> - <!-- Shown as a prompt to turn on the contacts permission to show all contacts [CHAR LIMIT=NONE]--> - <string name="permission_no_contacts">To see your contacts, turn on the Contacts permission.</string> - <!-- Shown as a prompt to turn on the phone permission to show voicemails [CHAR LIMIT=NONE]--> <string name="permission_no_voicemail">To access your voicemail, turn on the Phone permission.</string> diff --git a/java/com/android/dialer/app/res/values/styles.xml b/java/com/android/dialer/app/res/values/styles.xml index 7adf7ca2c..592f06d29 100644 --- a/java/com/android/dialer/app/res/values/styles.xml +++ b/java/com/android/dialer/app/res/values/styles.xml @@ -25,13 +25,15 @@ <item name="windowActionModeOverlay">true</item> <item name="android:actionBarStyle">@style/DialtactsActionBarStyle</item> <item name="actionBarStyle">@style/DialtactsActionBarStyle</item> + <item name="actionModeStyle">@style/ActionModeStyle</item> + <item name="android:actionModeStyle">@style/ActionModeStyle</item> + <item name="android:windowContentOverlay">@null</item> <item name="android:overlapAnchor">true</item> - <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item> + <item name="android:homeAsUpIndicator">@drawable/quantum_ic_arrow_back_vd_theme_24</item> <item name="android:listViewStyle">@style/ListViewStyle</item> - <item name="section_header_background">@drawable/list_title_holo</item> <item name="list_section_header_height">32dip</item> <item name="list_item_padding_top">7dp</item> <item name="list_item_padding_right">24dp</item> @@ -66,7 +68,7 @@ <item name="android:textAppearanceButton">@style/DialerButtonTextStyle</item> <!-- Video call icon --> - <item name="list_item_video_call_icon_size">32dip</item> + <item name="list_item_video_call_icon_size">48dip</item> <item name="list_item_video_call_icon_margin">8dip</item> <item name="dialpad_style">@style/Dialpad.Light</item> @@ -129,6 +131,12 @@ <item name="contentInsetStart">@dimen/actionbar_contentInsetStart</item> </style> + <style name="ActionModeStyle" parent="Widget.AppCompat.ActionMode"> + <item name="android:background">@color/actionbar_background_color</item> + <item name="background">@color/actionbar_background_color</item> + <item name="closeItemLayout">@layout/action_mode_close_button</item> + </style> + <style name="DialtactsActionBarWithoutTitleStyle" parent="DialtactsActionBarStyle"> <!-- Styles that require AppCompat compatibility, remember to update both sets --> <item name="android:displayOptions"></item> diff --git a/java/com/android/dialer/app/res/xml/sound_settings.xml b/java/com/android/dialer/app/res/xml/sound_settings.xml index 796ed2ec1..d9afb7411 100644 --- a/java/com/android/dialer/app/res/xml/sound_settings.xml +++ b/java/com/android/dialer/app/res/xml/sound_settings.xml @@ -25,13 +25,13 @@ android:ringtoneType="ringtone" android:title="@string/ringtone_title"/> - <CheckBoxPreference + <SwitchPreference android:defaultValue="false" android:key="@string/vibrate_on_preference_key" android:persistent="false" android:title="@string/vibrate_on_ring_title"/> - <CheckBoxPreference + <SwitchPreference android:defaultValue="true" android:key="@string/play_dtmf_preference_key" android:persistent="false" diff --git a/java/com/android/dialer/app/settings/AppCompatPreferenceActivity.java b/java/com/android/dialer/app/settings/AppCompatPreferenceActivity.java index 2c464386b..e8e425626 100644 --- a/java/com/android/dialer/app/settings/AppCompatPreferenceActivity.java +++ b/java/com/android/dialer/app/settings/AppCompatPreferenceActivity.java @@ -18,7 +18,6 @@ package com.android.dialer.app.settings; import android.content.res.Configuration; import android.os.Bundle; import android.preference.PreferenceActivity; -import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatDelegate; import android.support.v7.widget.Toolbar; import android.view.MenuInflater; @@ -49,10 +48,6 @@ public class AppCompatPreferenceActivity extends PreferenceActivity { getDelegate().onPostCreate(savedInstanceState); } - public ActionBar getSupportActionBar() { - return getDelegate().getSupportActionBar(); - } - public void setSupportActionBar(Toolbar toolbar) { getDelegate().setSupportActionBar(toolbar); } diff --git a/java/com/android/dialer/app/settings/DialerSettingsActivity.java b/java/com/android/dialer/app/settings/DialerSettingsActivity.java index f1c270ca9..6036c85ce 100644 --- a/java/com/android/dialer/app/settings/DialerSettingsActivity.java +++ b/java/com/android/dialer/app/settings/DialerSettingsActivity.java @@ -36,7 +36,6 @@ import com.android.dialer.about.AboutPhoneFragment; import com.android.dialer.app.R; import com.android.dialer.blocking.FilteredNumberCompat; import com.android.dialer.common.LogUtil; -import com.android.dialer.compat.CompatUtils; import com.android.dialer.proguard.UsedByReflection; import com.android.voicemail.VoicemailClient; import com.android.voicemail.VoicemailComponent; @@ -83,14 +82,12 @@ public class DialerSettingsActivity extends AppCompatPreferenceActivity { soundSettingsHeader.id = R.id.settings_header_sounds_and_vibration; target.add(soundSettingsHeader); - if (CompatUtils.isMarshmallowCompatible()) { - Header quickResponseSettingsHeader = new Header(); - Intent quickResponseSettingsIntent = - new Intent(TelecomManager.ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS); - quickResponseSettingsHeader.titleRes = R.string.respond_via_sms_setting_title; - quickResponseSettingsHeader.intent = quickResponseSettingsIntent; - target.add(quickResponseSettingsHeader); - } + Header quickResponseSettingsHeader = new Header(); + Intent quickResponseSettingsIntent = + new Intent(TelecomManager.ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS); + quickResponseSettingsHeader.titleRes = R.string.respond_via_sms_setting_title; + quickResponseSettingsHeader.intent = quickResponseSettingsIntent; + target.add(quickResponseSettingsHeader); TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); diff --git a/java/com/android/dialer/app/settings/SoundSettingsFragment.java b/java/com/android/dialer/app/settings/SoundSettingsFragment.java index 83ce45398..dcfb7a595 100644 --- a/java/com/android/dialer/app/settings/SoundSettingsFragment.java +++ b/java/com/android/dialer/app/settings/SoundSettingsFragment.java @@ -23,11 +23,11 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.Vibrator; -import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceFragment; import android.preference.PreferenceScreen; +import android.preference.SwitchPreference; import android.provider.Settings; import android.telephony.CarrierConfigManager; import android.telephony.TelephonyManager; @@ -68,8 +68,8 @@ public class SoundSettingsFragment extends PreferenceFragment updateRingtonePreferenceSummary(); } }; - private CheckBoxPreference mVibrateWhenRinging; - private CheckBoxPreference mPlayDtmfTone; + private SwitchPreference mVibrateWhenRinging; + private SwitchPreference mPlayDtmfTone; private ListPreference mDtmfToneLength; @Override @@ -87,9 +87,9 @@ public class SoundSettingsFragment extends PreferenceFragment mRingtonePreference = findPreference(context.getString(R.string.ringtone_preference_key)); mVibrateWhenRinging = - (CheckBoxPreference) findPreference(context.getString(R.string.vibrate_on_preference_key)); + (SwitchPreference) findPreference(context.getString(R.string.vibrate_on_preference_key)); mPlayDtmfTone = - (CheckBoxPreference) findPreference(context.getString(R.string.play_dtmf_preference_key)); + (SwitchPreference) findPreference(context.getString(R.string.play_dtmf_preference_key)); mDtmfToneLength = (ListPreference) findPreference(context.getString(R.string.dtmf_tone_length_preference_key)); diff --git a/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java b/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java index 9d07ec561..ffbae71f2 100644 --- a/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java +++ b/java/com/android/dialer/app/voicemail/LegacyVoicemailNotificationReceiver.java @@ -43,6 +43,15 @@ public class LegacyVoicemailNotificationReceiver extends BroadcastReceiver { private static final String LEGACY_VOICEMAIL_COUNT = "legacy_voicemail_count"; + /** + * Hidden extra for {@link TelephonyManager#ACTION_SHOW_VOICEMAIL_NOTIFICATION} for whether the + * notification is just a refresh or for a new voicemail. The phone should not play a ringtone or + * vibrate during a refresh if the notification is already showing. + * + * <p>TODO(b/62202833): make public + */ + private static final String EXTRA_IS_REFRESH = "is_refresh"; + @Override public void onReceive(Context context, Intent intent) { LogUtil.i( @@ -51,7 +60,6 @@ public class LegacyVoicemailNotificationReceiver extends BroadcastReceiver { PhoneAccountHandle phoneAccountHandle = Assert.isNotNull(intent.getParcelableExtra(TelephonyManager.EXTRA_PHONE_ACCOUNT_HANDLE)); - int count = intent.getIntExtra(TelephonyManager.EXTRA_NOTIFICATION_COUNT, -1); if (!hasVoicemailCountChanged(context, phoneAccountHandle, count)) { @@ -97,7 +105,8 @@ public class LegacyVoicemailNotificationReceiver extends BroadcastReceiver { count, voicemailNumber, callVoicemailIntent, - voicemailSettingIntent); + voicemailSettingIntent, + intent.getBooleanExtra(EXTRA_IS_REFRESH, false)); } private static boolean hasVoicemailCountChanged( diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java index ea48c8321..686e3e8c4 100644 --- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java +++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java @@ -548,7 +548,9 @@ public class VoicemailPlaybackPresenter mView.setClipPosition(mPosition, mDuration.get()); mView.enableUiElements(); mView.setSuccess(); - mMediaPlayer.seekTo(mPosition); + if (!mp.isPlaying()) { + mMediaPlayer.seekTo(mPosition); + } if (mIsPlaying) { resumePlayback(); diff --git a/java/com/android/dialer/app/voicemail/error/res/values-hi/strings.xml b/java/com/android/dialer/app/voicemail/error/res/values-hi/strings.xml index bc9c46331..fb1b18621 100644 --- a/java/com/android/dialer/app/voicemail/error/res/values-hi/strings.xml +++ b/java/com/android/dialer/app/voicemail/error/res/values-hi/strings.xml @@ -55,7 +55,7 @@ <string name="voicemail_action_set_pin" msgid="958510049866316228">"पिन सेट करें"</string> <string name="voicemail_action_retry" msgid="4450307484541052511">"पुन: प्रयास करें"</string> <string name="voicemail_action_turn_archive_on" msgid="6008444955560830591">"चालू करें"</string> - <string name="voicemail_action_dimiss" msgid="6018415798136796966">"नहीं धन्यवाद"</string> + <string name="voicemail_action_dimiss" msgid="6018415798136796966">"रहने दें"</string> <string name="voicemail_action_sync" msgid="5139315923415392787">"समन्वयित करें"</string> <string name="voicemail_action_call_voicemail" msgid="6701710720535556395">"वॉइसमेल को कॉल करें"</string> <string name="voicemail_action_call_customer_support" msgid="7698973007656462748">"ग्राहक सहायता को कॉल करें"</string> diff --git a/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java b/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java index 85fd5ec6a..5846b1f73 100644 --- a/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java +++ b/java/com/android/dialer/app/widget/DialpadSearchEmptyContentView.java @@ -21,6 +21,7 @@ import android.view.LayoutInflater; import android.widget.LinearLayout; import com.android.dialer.app.R; import com.android.dialer.util.OrientationUtil; +import com.android.dialer.widget.EmptyContentView; /** Empty content view to be shown when dialpad is visible. */ public class DialpadSearchEmptyContentView extends EmptyContentView { diff --git a/java/com/android/dialer/app/widget/SearchEditTextLayout.java b/java/com/android/dialer/app/widget/SearchEditTextLayout.java index f83c48288..d67fd9eff 100644 --- a/java/com/android/dialer/app/widget/SearchEditTextLayout.java +++ b/java/com/android/dialer/app/widget/SearchEditTextLayout.java @@ -52,7 +52,6 @@ public class SearchEditTextLayout extends FrameLayout { private View mVoiceSearchButtonView; private View mOverflowButtonView; private View mBackButtonView; - private View mExpandedSearchBox; private View mClearButtonView; private ValueAnimator mAnimator; @@ -90,20 +89,27 @@ public class SearchEditTextLayout extends FrameLayout { mVoiceSearchButtonView = findViewById(R.id.voice_search_button); mOverflowButtonView = findViewById(R.id.dialtacts_options_menu_button); mBackButtonView = findViewById(R.id.search_back_button); - mExpandedSearchBox = findViewById(R.id.search_box_expanded); + mBackButtonView + .getResources() + .getDrawable(R.drawable.quantum_ic_arrow_back_vd_theme_24) + .setAutoMirrored(true); mClearButtonView = findViewById(R.id.search_close_button); - // Convert a long click into a click to expand the search box, and then long click on the - // search view. This accelerates the long-press scenario for copy/paste. + // Convert a long click into a click to expand the search box. Touch events are also + // forwarded to the searchView. This accelerates the long-press scenario for copy/paste. mCollapsed.setOnLongClickListener( new OnLongClickListener() { @Override public boolean onLongClick(View view) { mCollapsed.performClick(); - mSearchView.performLongClick(); return false; } }); + mCollapsed.setOnTouchListener( + (v, event) -> { + mSearchView.onTouchEvent(event); + return false; + }); mSearchView.setOnFocusChangeListener( new OnFocusChangeListener() { @@ -212,7 +218,7 @@ public class SearchEditTextLayout extends FrameLayout { AnimUtils.crossFadeViews(mExpanded, mCollapsed, ANIMATION_DURATION); mAnimator = ValueAnimator.ofFloat(EXPAND_MARGIN_FRACTION_START, 0f); setMargins(EXPAND_MARGIN_FRACTION_START); - prepareAnimator(true); + prepareAnimator(); } else { mExpanded.setVisibility(View.VISIBLE); mExpanded.setAlpha(1); @@ -241,7 +247,7 @@ public class SearchEditTextLayout extends FrameLayout { if (animate) { AnimUtils.crossFadeViews(mCollapsed, mExpanded, ANIMATION_DURATION); mAnimator = ValueAnimator.ofFloat(0f, 1f); - prepareAnimator(false); + prepareAnimator(); } else { mCollapsed.setVisibility(View.VISIBLE); mCollapsed.setAlpha(1); @@ -279,7 +285,7 @@ public class SearchEditTextLayout extends FrameLayout { } } - private void prepareAnimator(final boolean expand) { + private void prepareAnimator() { if (mAnimator != null) { mAnimator.cancel(); } diff --git a/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java b/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java index 595401c70..bc0b39bb8 100644 --- a/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java +++ b/java/com/android/dialer/binary/aosp/AospDialerRootComponent.java @@ -18,6 +18,7 @@ package com.android.dialer.binary.aosp; import com.android.dialer.binary.basecomponent.BaseDialerRootComponent; import com.android.dialer.calllog.CallLogModule; +import com.android.dialer.common.concurrent.DialerExecutorModule; import com.android.dialer.enrichedcall.stub.StubEnrichedCallModule; import com.android.dialer.inject.ContextModule; import com.android.dialer.lightbringer.stub.StubLightbringerModule; @@ -34,6 +35,7 @@ import javax.inject.Singleton; modules = { CallLogModule.class, ContextModule.class, + DialerExecutorModule.class, SimulatorModule.class, StubCallLocationModule.class, StubEnrichedCallModule.class, diff --git a/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java b/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java index 2deb7fdc4..6e6ae4b6c 100644 --- a/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java +++ b/java/com/android/dialer/binary/basecomponent/BaseDialerRootComponent.java @@ -17,6 +17,8 @@ package com.android.dialer.binary.basecomponent; import com.android.dialer.calllog.CallLogComponent; +import com.android.dialer.calllog.database.CallLogDatabaseComponent; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.enrichedcall.EnrichedCallComponent; import com.android.dialer.lightbringer.LightbringerComponent; import com.android.dialer.simulator.SimulatorComponent; @@ -31,6 +33,8 @@ import com.android.voicemail.VoicemailComponent; public interface BaseDialerRootComponent extends CallLocationComponent.HasComponent, CallLogComponent.HasComponent, + CallLogDatabaseComponent.HasComponent, + DialerExecutorComponent.HasComponent, EnrichedCallComponent.HasComponent, MapsComponent.HasComponent, SimulatorComponent.HasComponent, diff --git a/java/com/android/dialer/binary/common/DialerApplication.java b/java/com/android/dialer/binary/common/DialerApplication.java index a4c2e7d6f..5037883ee 100644 --- a/java/com/android/dialer/binary/common/DialerApplication.java +++ b/java/com/android/dialer/binary/common/DialerApplication.java @@ -55,8 +55,9 @@ public abstract class DialerApplication extends Application implements HasRootCo private void enableStrictMode() { StrictMode.setThreadPolicy( - new StrictMode.ThreadPolicy.Builder().detectAll().penaltyDeath().build()); - StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll().penaltyDeath().build()); + new StrictMode.ThreadPolicy.Builder().detectAll().penaltyLog().penaltyDeath().build()); + StrictMode.setVmPolicy( + new StrictMode.VmPolicy.Builder().detectAll().penaltyLog().penaltyDeath().build()); } /** diff --git a/java/com/android/dialer/callcomposer/AndroidManifest.xml b/java/com/android/dialer/callcomposer/AndroidManifest.xml index 369db6f4a..cce71105f 100644 --- a/java/com/android/dialer/callcomposer/AndroidManifest.xml +++ b/java/com/android/dialer/callcomposer/AndroidManifest.xml @@ -17,7 +17,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.dialer.callcomposer"> - <application> + <application android:theme="@style/Theme.AppCompat"> <activity android:name="com.android.dialer.callcomposer.CallComposerActivity" android:exported="true" diff --git a/java/com/android/dialer/callcomposer/CallComposerActivity.java b/java/com/android/dialer/callcomposer/CallComposerActivity.java index 074fc6de1..bc20c7314 100644 --- a/java/com/android/dialer/callcomposer/CallComposerActivity.java +++ b/java/com/android/dialer/callcomposer/CallComposerActivity.java @@ -37,10 +37,8 @@ import android.text.TextUtils; import android.util.Base64; import android.view.View; import android.view.View.OnClickListener; -import android.view.View.OnLayoutChangeListener; import android.view.ViewAnimationUtils; import android.view.ViewGroup; -import android.view.WindowManager.LayoutParams; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; @@ -56,6 +54,7 @@ import com.android.dialer.common.LogUtil; import com.android.dialer.common.UiUtil; import com.android.dialer.common.concurrent.DialerExecutors; import com.android.dialer.constants.Constants; +import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.enrichedcall.EnrichedCallComponent; import com.android.dialer.enrichedcall.EnrichedCallManager; import com.android.dialer.enrichedcall.EnrichedCallManager.State; @@ -86,7 +85,6 @@ public class CallComposerActivity extends AppCompatActivity implements OnClickListener, OnPageChangeListener, CallComposerListener, - OnLayoutChangeListener, EnrichedCallManager.StateChangedListener { public static final String KEY_CONTACT_NAME = "contact_name"; @@ -102,7 +100,7 @@ public class CallComposerActivity extends AppCompatActivity private static final String VIEW_PAGER_STATE_KEY = "view_pager_state_key"; private static final String SESSION_ID_KEY = "session_id_key"; - private CallComposerContact contact; + private DialerContact contact; private Long sessionId = Session.NO_SESSION_ID; private TextView nameView; @@ -126,10 +124,9 @@ public class CallComposerActivity extends AppCompatActivity private boolean shouldAnimateEntrance = true; private boolean inFullscreenMode; private boolean isSendAndCallHidingOrHidden = true; - private boolean layoutChanged; private int currentIndex; - public static Intent newIntent(Context context, CallComposerContact contact) { + public static Intent newIntent(Context context, DialerContact contact) { Intent intent = new Intent(context, CallComposerActivity.class); ProtoParsers.put(intent, ARG_CALL_COMPOSER_CONTACT, contact); return intent; @@ -140,19 +137,19 @@ public class CallComposerActivity extends AppCompatActivity super.onCreate(savedInstanceState); setContentView(R.layout.call_composer_activity); - nameView = (TextView) findViewById(R.id.contact_name); - numberView = (TextView) findViewById(R.id.phone_number); - contactPhoto = (QuickContactBadge) findViewById(R.id.contact_photo); - cameraIcon = (ImageView) findViewById(R.id.call_composer_camera); - galleryIcon = (ImageView) findViewById(R.id.call_composer_photo); - messageIcon = (ImageView) findViewById(R.id.call_composer_message); - contactContainer = (RelativeLayout) findViewById(R.id.contact_bar); - pager = (ViewPager) findViewById(R.id.call_composer_view_pager); - background = (FrameLayout) findViewById(R.id.background); - windowContainer = (LinearLayout) findViewById(R.id.call_composer_container); - toolbar = (DialerToolbar) findViewById(R.id.toolbar); + nameView = findViewById(R.id.contact_name); + numberView = findViewById(R.id.phone_number); + contactPhoto = findViewById(R.id.contact_photo); + cameraIcon = findViewById(R.id.call_composer_camera); + galleryIcon = findViewById(R.id.call_composer_photo); + messageIcon = findViewById(R.id.call_composer_message); + contactContainer = findViewById(R.id.contact_bar); + pager = findViewById(R.id.call_composer_view_pager); + background = findViewById(R.id.background); + windowContainer = findViewById(R.id.call_composer_container); + toolbar = findViewById(R.id.toolbar); sendAndCall = findViewById(R.id.send_and_call_button); - sendAndCallText = (TextView) findViewById(R.id.send_and_call_text); + sendAndCallText = findViewById(R.id.send_and_call_text); interpolator = new FastOutSlowInInterpolator(); adapter = @@ -162,7 +159,6 @@ public class CallComposerActivity extends AppCompatActivity pager.setAdapter(adapter); pager.addOnPageChangeListener(this); - background.addOnLayoutChangeListener(this); cameraIcon.setOnClickListener(this); galleryIcon.setOnClickListener(this); messageIcon.setOnClickListener(this); @@ -178,11 +174,6 @@ public class CallComposerActivity extends AppCompatActivity onPageSelected(currentIndex); } - int adjustMode = - isLandscapeLayout() - ? LayoutParams.SOFT_INPUT_ADJUST_PAN - : LayoutParams.SOFT_INPUT_ADJUST_RESIZE; - getWindow().setSoftInputMode(adjustMode); // Since we can't animate the views until they are ready to be drawn, we use this listener to // track that and animate the call compose UI as soon as it's ready. ViewUtil.doOnPreDraw( @@ -264,7 +255,7 @@ public class CallComposerActivity extends AppCompatActivity } else if (view == sendAndCall) { sendAndCall(); } else { - Assert.fail(); + throw Assert.createIllegalStateFailException("View on click not implemented: " + view); } } @@ -340,11 +331,7 @@ public class CallComposerActivity extends AppCompatActivity private boolean sessionReady() { Session session = getEnrichedCallManager().getSession(sessionId); - if (session == null) { - return false; - } - - return session.getState() == EnrichedCallManager.STATE_STARTED; + return session != null && session.getState() == EnrichedCallManager.STATE_STARTED; } private void placeRCSCall(MultimediaData.Builder builder) { @@ -424,28 +411,6 @@ public class CallComposerActivity extends AppCompatActivity animateSendAndCall(fragment.shouldHide()); } - // To detect when the keyboard changes. - @Override - public void onLayoutChange( - View view, - int left, - int top, - int right, - int bottom, - int oldLeft, - int oldTop, - int oldRight, - int oldBottom) { - // To prevent infinite layout change loops - if (layoutChanged) { - layoutChanged = false; - return; - } - - layoutChanged = true; - showFullscreen(contactContainer.getTop() < 0 || inFullscreenMode); - } - /** * Reads arguments from the fragment arguments and populates the necessary instance variables. * Copied from {@link com.android.contacts.common.dialog.CallSubjectDialog}. @@ -456,14 +421,14 @@ public class CallComposerActivity extends AppCompatActivity byte[] bytes = Base64.decode(intent.getStringExtra(ARG_CALL_COMPOSER_CONTACT_BASE64), Base64.DEFAULT); try { - contact = CallComposerContact.parseFrom(bytes); + contact = DialerContact.parseFrom(bytes); } catch (InvalidProtocolBufferException e) { throw Assert.createAssertionFailException(e.toString()); } } else { contact = ProtoParsers.getTrusted( - intent, ARG_CALL_COMPOSER_CONTACT, CallComposerContact.getDefaultInstance()); + intent, ARG_CALL_COMPOSER_CONTACT, DialerContact.getDefaultInstance()); } updateContactInfo(); } diff --git a/java/com/android/dialer/callcomposer/CameraComposerFragment.java b/java/com/android/dialer/callcomposer/CameraComposerFragment.java index f65207fa3..ecdc25822 100644 --- a/java/com/android/dialer/callcomposer/CameraComposerFragment.java +++ b/java/com/android/dialer/callcomposer/CameraComposerFragment.java @@ -17,13 +17,14 @@ package com.android.dialer.callcomposer; import android.Manifest; -import android.Manifest.permission; import android.content.Intent; +import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.graphics.drawable.Animatable; import android.hardware.Camera.CameraInfo; import android.net.Uri; import android.os.Bundle; +import android.preference.PreferenceManager; import android.provider.Settings; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -56,6 +57,7 @@ import com.android.dialer.util.PermissionsUtil; public class CameraComposerFragment extends CallComposerFragment implements CameraManagerListener, OnClickListener, CameraManager.MediaCallback { + private static final String CAMERA_PRIVACY_PREF = "camera_privacy_permission"; private static final String CAMERA_DIRECTION_KEY = "camera_direction"; private static final String CAMERA_URI_KEY = "camera_key"; @@ -107,7 +109,8 @@ public class CameraComposerFragment extends CallComposerFragment capture.setOnClickListener(this); cancel.setOnClickListener(this); - if (!PermissionsUtil.hasPermission(getContext(), permission.CAMERA)) { + + if (!PermissionsUtil.hasCameraPermissions(getContext())) { LogUtil.i("CameraComposerFragment.onCreateView", "Permission view shown."); Logger.get(getContext()).logImpression(DialerImpression.Type.CAMERA_PERMISSION_DISPLAYED); ImageView permissionImage = (ImageView) permissionView.findViewById(R.id.permission_icon); @@ -131,6 +134,12 @@ public class CameraComposerFragment extends CallComposerFragment } private void setupCamera() { + SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext()); + if (!preferences.getBoolean(CAMERA_PRIVACY_PREF, false)) { + Toast.makeText(getContext(), getString(R.string.camera_privacy_text), Toast.LENGTH_LONG) + .show(); + preferences.edit().putBoolean(CAMERA_PRIVACY_PREF, true).apply(); + } CameraManager.get().setListener(this); preview.setShown(); CameraManager.get().setRenderOverlay(focus); diff --git a/java/com/android/dialer/callcomposer/GalleryCursorLoader.java b/java/com/android/dialer/callcomposer/GalleryCursorLoader.java index f9990e167..39d6a4a6d 100644 --- a/java/com/android/dialer/callcomposer/GalleryCursorLoader.java +++ b/java/com/android/dialer/callcomposer/GalleryCursorLoader.java @@ -28,7 +28,7 @@ import android.support.v4.content.CursorLoader; public class GalleryCursorLoader extends CursorLoader { public static final String MEDIA_SCANNER_VOLUME_EXTERNAL = "external"; public static final String[] ACCEPTABLE_IMAGE_TYPES = - new String[] {"image/jpeg", "image/jpg", "image/png", "image/gif", "image/webp"}; + new String[] {"image/jpeg", "image/jpg", "image/png", "image/webp"}; private static final Uri STORAGE_URI = Files.getContentUri(MEDIA_SCANNER_VOLUME_EXTERNAL); private static final String SORT_ORDER = Media.DATE_MODIFIED + " DESC"; @@ -47,7 +47,7 @@ public class GalleryCursorLoader extends CursorLoader { @SuppressLint("DefaultLocale") private static String createSelection() { return String.format( - "mime_type IN ('image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp')" + "mime_type IN ('image/jpeg', 'image/jpg', 'image/png', 'image/webp')" + " AND media_type in (%d)", FileColumns.MEDIA_TYPE_IMAGE); } diff --git a/java/com/android/dialer/callcomposer/MessageComposerFragment.java b/java/com/android/dialer/callcomposer/MessageComposerFragment.java index 2a342bb08..392f6e716 100644 --- a/java/com/android/dialer/callcomposer/MessageComposerFragment.java +++ b/java/com/android/dialer/callcomposer/MessageComposerFragment.java @@ -24,11 +24,8 @@ import android.text.TextUtils; import android.text.TextWatcher; import android.view.KeyEvent; import android.view.LayoutInflater; -import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; -import android.view.View.OnLongClickListener; -import android.view.View.OnTouchListener; import android.view.ViewGroup; import android.widget.EditText; import android.widget.TextView; @@ -36,17 +33,12 @@ import android.widget.TextView.OnEditorActionListener; /** Fragment used to compose call with message fragment. */ public class MessageComposerFragment extends CallComposerFragment - implements OnClickListener, - TextWatcher, - OnTouchListener, - OnLongClickListener, - OnEditorActionListener { + implements OnClickListener, TextWatcher, OnEditorActionListener { private static final String CHAR_LIMIT_KEY = "char_limit"; public static final int NO_CHAR_LIMIT = -1; private EditText customMessage; - private boolean isLongClick = false; private int charLimit; public static MessageComposerFragment newInstance(int charLimit) { @@ -73,8 +65,6 @@ public class MessageComposerFragment extends CallComposerFragment customMessage = (EditText) view.findViewById(R.id.custom_message); urgent.setOnClickListener(this); - customMessage.setOnTouchListener(this); - customMessage.setOnLongClickListener(this); customMessage.addTextChangedListener(this); customMessage.setOnEditorActionListener(this); if (charLimit != NO_CHAR_LIMIT) { @@ -118,30 +108,6 @@ public class MessageComposerFragment extends CallComposerFragment getListener().composeCall(this); } - /** - * EditTexts take two clicks to dispatch an onClick() event, so instead we add an onTouchListener - * to listen for them. The caveat to this is that it also requires listening for onLongClicks to - * distinguish whether a MotionEvent came from a click or a long click. - */ - @Override - public boolean onTouch(View view, MotionEvent event) { - if (event.getAction() == MotionEvent.ACTION_UP) { - if (isLongClick) { - isLongClick = false; - } else { - getListener().showFullscreen(true); - } - } - view.performClick(); - return false; - } - - @Override - public boolean onLongClick(View v) { - isLongClick = true; - return false; - } - @Override public boolean shouldHide() { return TextUtils.isEmpty(getMessage()); diff --git a/java/com/android/dialer/callcomposer/camera/CameraManager.java b/java/com/android/dialer/callcomposer/camera/CameraManager.java index 4cc08ba32..977f063df 100644 --- a/java/com/android/dialer/callcomposer/camera/CameraManager.java +++ b/java/com/android/dialer/callcomposer/camera/CameraManager.java @@ -522,6 +522,7 @@ public class CameraManager implements FocusOverlayManager.Listener { switch (windowManager.getDefaultDisplay().getRotation()) { case Surface.ROTATION_0: degrees = 0; + mCamera.setDisplayOrientation(90); break; case Surface.ROTATION_90: degrees = 90; @@ -531,31 +532,22 @@ public class CameraManager implements FocusOverlayManager.Listener { break; case Surface.ROTATION_270: degrees = 270; + mCamera.setDisplayOrientation(180); break; default: throw Assert.createAssertionFailException(""); } - // The display orientation of the camera (this controls the preview image). - int orientation; - // The clockwise rotation angle relative to the orientation of the camera. This affects // pictures returned by the camera in Camera.PictureCallback. - int rotation; if (mCameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { - orientation = (mCameraInfo.orientation + degrees) % 360; - rotation = orientation; - // compensate the mirror but only for orientation - orientation = (360 - orientation) % 360; + mRotation = (mCameraInfo.orientation + degrees) % 360; } else { // back-facing - orientation = (mCameraInfo.orientation - degrees + 360) % 360; - rotation = orientation; + mRotation = (mCameraInfo.orientation - degrees + 360) % 360; } - mRotation = rotation; try { - mCamera.setDisplayOrientation(orientation); final Camera.Parameters params = mCamera.getParameters(); - params.setRotation(rotation); + params.setRotation(mRotation); mCamera.setParameters(params); } catch (final RuntimeException e) { LogUtil.e( @@ -589,7 +581,6 @@ public class CameraManager implements FocusOverlayManager.Listener { mOrientationHandler.disable(); mOrientationHandler = null; } - // releaseMediaRecorder(true /* cleanupFile */); mFocusOverlayManager.onPreviewStopped(); return; } diff --git a/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java b/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java index 31751e536..b5542ab6c 100644 --- a/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java +++ b/java/com/android/dialer/callcomposer/camera/ImagePersistTask.java @@ -20,13 +20,11 @@ import android.annotation.TargetApi; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.graphics.Canvas; import android.graphics.Matrix; import android.net.Uri; import android.os.Build.VERSION_CODES; import android.support.v4.content.FileProvider; import com.android.dialer.callcomposer.camera.exif.ExifInterface; -import com.android.dialer.callcomposer.camera.exif.ExifTag; import com.android.dialer.callcomposer.util.BitmapResizer; import com.android.dialer.common.Assert; import com.android.dialer.common.concurrent.FallibleAsyncTask; @@ -71,13 +69,7 @@ public class ImagePersistTask extends FallibleAsyncTask<Void, Void, Uri> { File outputFile = DialerUtils.createShareableFile(mContext); try (OutputStream outputStream = new FileOutputStream(outputFile)) { - if (mHeightPercent != 1.0f) { - writeClippedBitmap(outputStream); - } else { - Bitmap bitmap = BitmapFactory.decodeByteArray(mBytes, 0, mBytes.length); - bitmap = BitmapResizer.resizeForEnrichedCalling(bitmap); - bitmap.compress(Bitmap.CompressFormat.JPEG, 90, outputStream); - } + writeClippedBitmap(outputStream); } return FileProvider.getUriForFile( @@ -105,10 +97,12 @@ public class ImagePersistTask extends FallibleAsyncTask<Void, Void, Uri> { } catch (final IOException e) { // Couldn't get exif tags, not the end of the world } + Bitmap bitmap = BitmapFactory.decodeByteArray(mBytes, 0, mBytes.length); final int clippedWidth; final int clippedHeight; - if (ExifInterface.getOrientationParams(orientation).invertDimensions) { + boolean invert = ExifInterface.getOrientationParams(orientation).invertDimensions; + if (invert) { Assert.checkState(mWidth == bitmap.getHeight()); Assert.checkState(mHeight == bitmap.getWidth()); clippedWidth = (int) (mHeight * mHeightPercent); @@ -119,24 +113,22 @@ public class ImagePersistTask extends FallibleAsyncTask<Void, Void, Uri> { clippedWidth = mWidth; clippedHeight = (int) (mHeight * mHeightPercent); } - final int offsetTop = (bitmap.getHeight() - clippedHeight) / 2; - final int offsetLeft = (bitmap.getWidth() - clippedWidth) / 2; + + int offsetTop = (bitmap.getHeight() - clippedHeight) / 2; + int offsetLeft = (bitmap.getWidth() - clippedWidth) / 2; mWidth = clippedWidth; mHeight = clippedHeight; + + Matrix matrix = new Matrix(); + matrix.postRotate(invert ? 90 : 0); + Bitmap clippedBitmap = - Bitmap.createBitmap(clippedWidth, clippedHeight, Bitmap.Config.ARGB_8888); - clippedBitmap.setDensity(bitmap.getDensity()); - final Canvas clippedBitmapCanvas = new Canvas(clippedBitmap); - final Matrix matrix = new Matrix(); - matrix.postTranslate(-offsetLeft, -offsetTop); - clippedBitmapCanvas.drawBitmap(bitmap, matrix, null /* paint */); - clippedBitmapCanvas.save(); + Bitmap.createBitmap( + bitmap, offsetLeft, offsetTop, clippedWidth, clippedHeight, matrix, true); clippedBitmap = BitmapResizer.resizeForEnrichedCalling(clippedBitmap); - // EXIF data can take a big chunk of the file size and is often cleared by the - // carrier, only store orientation since that's critical - final ExifTag orientationTag = exifInterface.getTag(ExifInterface.TAG_ORIENTATION); + // EXIF data can take a big chunk of the file size and we've already manually rotated our image, + // so remove all of the exif data. exifInterface.clearExif(); - exifInterface.setTag(orientationTag); exifInterface.writeExif(clippedBitmap, outputStream); clippedBitmap.recycle(); diff --git a/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml b/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml index c3f1102d1..14703a44c 100644 --- a/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml +++ b/java/com/android/dialer/callcomposer/res/layout/call_composer_activity.xml @@ -15,11 +15,11 @@ ~ limitations under the License --> <FrameLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/background" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@color/call_composer_background_color"> + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/background" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@color/call_composer_background_color"> <LinearLayout android:id="@+id/call_composer_container" @@ -87,7 +87,7 @@ android:layout_height="@dimen/call_composer_media_bar_height" android:orientation="horizontal" android:gravity="center_horizontal" - android:background="@color/dialer_secondary_color" + android:background="@color/dialer_theme_color_dark" android:clickable="true"> <ImageView diff --git a/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml b/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml index 77c7a58d1..15562476a 100644 --- a/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml +++ b/java/com/android/dialer/callcomposer/res/layout/fragment_message_composer.xml @@ -70,7 +70,7 @@ android:background="@color/background_dialer_white" android:textCursorDrawable="@drawable/searchedittext_custom_cursor" android:layout_toStartOf="@+id/remaining_characters" - android:inputType="textShortMessage" + android:inputType="textShortMessage|textCapSentences" android:imeOptions="flagNoExtractUi|actionSend"/> <TextView diff --git a/java/com/android/dialer/callcomposer/res/values-ca/strings.xml b/java/com/android/dialer/callcomposer/res/values-ca/strings.xml index 4fa52ad63..1a57f87ce 100644 --- a/java/com/android/dialer/callcomposer/res/values-ca/strings.xml +++ b/java/com/android/dialer/callcomposer/res/values-ca/strings.xml @@ -28,6 +28,6 @@ <string name="camera_switch_to_still_mode" msgid="1881982437979592567">"Fes una foto"</string> <string name="camera_media_failure" msgid="8979549551450965882">"No s\'ha pogut carregar la imatge de la càmera"</string> <string name="allow" msgid="8637148297403066623">"Permet"</string> - <string name="camera_permission_text" msgid="7863231776480341614">"Per fer una foto, dóna accés a la càmera"</string> - <string name="gallery_permission_text" msgid="4102566850658919346">"Per compartir una imatge, dóna accés al contingut multimèdia"</string> + <string name="camera_permission_text" msgid="7863231776480341614">"Per fer una foto, dona accés a la càmera"</string> + <string name="gallery_permission_text" msgid="4102566850658919346">"Per compartir una imatge, dona accés al contingut multimèdia"</string> </resources> diff --git a/java/com/android/dialer/callcomposer/res/values/styles.xml b/java/com/android/dialer/callcomposer/res/values/styles.xml index 29ac4ddaa..16e7fb622 100644 --- a/java/com/android/dialer/callcomposer/res/values/styles.xml +++ b/java/com/android/dialer/callcomposer/res/values/styles.xml @@ -15,7 +15,7 @@ ~ limitations under the License --> <resources> - <style name="Theme.AppCompat.CallComposer" parent="Theme.AppCompat.NoActionBar"> + <style name="Theme.AppCompat.CallComposer" parent="DialerThemeBase.NoActionBar"> <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:colorBackgroundCacheHint">@null</item> diff --git a/java/com/android/dialer/calldetails/AndroidManifest.xml b/java/com/android/dialer/calldetails/AndroidManifest.xml index adaac402e..fd887c4b5 100644 --- a/java/com/android/dialer/calldetails/AndroidManifest.xml +++ b/java/com/android/dialer/calldetails/AndroidManifest.xml @@ -16,11 +16,11 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.dialer.calldetails"> - <application> + <application android:theme="@style/Theme.AppCompat"> <activity android:label="@string/call_details" android:name="com.android.dialer.calldetails.CallDetailsActivity" - android:theme="@style/Theme.AppCompat.Light.NoActionBar"> + android:theme="@style/DialerThemeBase.NoActionBar"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> diff --git a/java/com/android/dialer/calldetails/CallDetailsActivity.java b/java/com/android/dialer/calldetails/CallDetailsActivity.java index 7eab951fa..4d5853fef 100644 --- a/java/com/android/dialer/calldetails/CallDetailsActivity.java +++ b/java/com/android/dialer/calldetails/CallDetailsActivity.java @@ -29,12 +29,13 @@ import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar.OnMenuItemClickListener; import android.view.MenuItem; -import com.android.dialer.callcomposer.CallComposerContact; import com.android.dialer.calldetails.CallDetailsEntries.CallDetailsEntry; import com.android.dialer.common.Assert; import com.android.dialer.common.concurrent.AsyncTaskExecutors; +import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.logging.DialerImpression; import com.android.dialer.logging.Logger; +import com.android.dialer.postcall.PostCall; import com.android.dialer.protos.ProtoParsers; import java.util.List; @@ -48,7 +49,7 @@ public class CallDetailsActivity extends AppCompatActivity implements OnMenuItem private List<CallDetailsEntry> entries; public static Intent newInstance( - Context context, @NonNull CallDetailsEntries details, @NonNull CallComposerContact contact) { + Context context, @NonNull CallDetailsEntries details, @NonNull DialerContact contact) { Assert.isNotNull(details); Assert.isNotNull(contact); @@ -70,14 +71,20 @@ public class CallDetailsActivity extends AppCompatActivity implements OnMenuItem } @Override + protected void onResume() { + super.onResume(); + PostCall.promptUserForMessageIfNecessary(this, findViewById(R.id.recycler_view)); + } + + @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); onHandleIntent(intent); } private void onHandleIntent(Intent intent) { - CallComposerContact contact = - ProtoParsers.getTrusted(intent, EXTRA_CONTACT, CallComposerContact.getDefaultInstance()); + DialerContact contact = + ProtoParsers.getTrusted(intent, EXTRA_CONTACT, DialerContact.getDefaultInstance()); entries = ProtoParsers.getTrusted( intent, EXTRA_CALL_DETAILS_ENTRIES, CallDetailsEntries.getDefaultInstance()) diff --git a/java/com/android/dialer/calldetails/CallDetailsAdapter.java b/java/com/android/dialer/calldetails/CallDetailsAdapter.java index 725077965..d2fdbb424 100644 --- a/java/com/android/dialer/calldetails/CallDetailsAdapter.java +++ b/java/com/android/dialer/calldetails/CallDetailsAdapter.java @@ -22,26 +22,26 @@ import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; import android.view.LayoutInflater; import android.view.ViewGroup; -import com.android.dialer.callcomposer.CallComposerContact; import com.android.dialer.calldetails.CallDetailsEntries.CallDetailsEntry; import com.android.dialer.calllogutils.CallTypeHelper; import com.android.dialer.common.Assert; +import com.android.dialer.dialercontact.DialerContact; import java.util.List; /** Adapter for RecyclerView in {@link CallDetailsActivity}. */ -public class CallDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { +final class CallDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private static final int HEADER_VIEW_TYPE = 1; private static final int CALL_ENTRY_VIEW_TYPE = 2; private static final int FOOTER_VIEW_TYPE = 3; - private final CallComposerContact contact; + private final DialerContact contact; private final List<CallDetailsEntry> callDetailsEntries; private final CallTypeHelper callTypeHelper; - public CallDetailsAdapter( + CallDetailsAdapter( Context context, - @NonNull CallComposerContact contact, + @NonNull DialerContact contact, @NonNull List<CallDetailsEntry> callDetailsEntries) { this.contact = Assert.isNotNull(contact); this.callDetailsEntries = callDetailsEntries; @@ -62,8 +62,8 @@ public class CallDetailsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo return new CallDetailsFooterViewHolder( inflater.inflate(R.layout.call_details_footer, parent, false)); default: - Assert.fail("No ViewHolder available for viewType: " + viewType); - return null; + throw Assert.createIllegalStateFailException( + "No ViewHolder available for viewType: " + viewType); } } diff --git a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java index 4d9aacf7b..1ddd2e77e 100644 --- a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java +++ b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java @@ -25,11 +25,12 @@ import android.view.View.OnClickListener; import android.widget.QuickContactBadge; import android.widget.TextView; import com.android.contacts.common.ContactPhotoManager; -import com.android.dialer.callcomposer.CallComposerContact; import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallIntentBuilder; import com.android.dialer.common.Assert; +import com.android.dialer.dialercontact.DialerContact; import com.android.dialer.logging.DialerImpression; +import com.android.dialer.logging.InteractionEvent; import com.android.dialer.logging.Logger; import com.android.dialer.util.DialerUtils; @@ -43,20 +44,24 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder private final QuickContactBadge contactPhoto; private final Context context; - private CallComposerContact contact; + private DialerContact contact; CallDetailsHeaderViewHolder(View container) { super(container); context = container.getContext(); callBackButton = container.findViewById(R.id.call_back_button); - nameView = (TextView) container.findViewById(R.id.contact_name); - numberView = (TextView) container.findViewById(R.id.phone_number); - contactPhoto = (QuickContactBadge) container.findViewById(R.id.quick_contact_photo); + nameView = container.findViewById(R.id.contact_name); + numberView = container.findViewById(R.id.phone_number); + contactPhoto = container.findViewById(R.id.quick_contact_photo); + callBackButton.setOnClickListener(this); + Logger.get(context) + .logQuickContactOnTouch( + contactPhoto, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CALL_DETAILS, true); } /** Populates the contact info fields based on the current contact information. */ - void updateContactInfo(CallComposerContact contact) { + void updateContactInfo(DialerContact contact) { this.contact = contact; ContactPhotoManager.getInstance(context) .loadDialerThumbnailOrPhoto( @@ -98,7 +103,7 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder view.getContext(), new CallIntentBuilder(contact.getNumber(), CallInitiationType.Type.CALL_DETAILS).build()); } else { - Assert.fail("View OnClickListener not implemented: " + view); + throw Assert.createIllegalStateFailException("View OnClickListener not implemented: " + view); } } } diff --git a/java/com/android/dialer/calldetails/res/layout/contact_container.xml b/java/com/android/dialer/calldetails/res/layout/contact_container.xml index bb89b36f2..d8d6e4e70 100644 --- a/java/com/android/dialer/calldetails/res/layout/contact_container.xml +++ b/java/com/android/dialer/calldetails/res/layout/contact_container.xml @@ -56,6 +56,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/photo_text_margin" + android:ellipsize="end" + android:maxLines="1" style="@style/SecondaryText"/> </LinearLayout> @@ -66,8 +68,8 @@ android:layout_alignParentEnd="true" android:layout_centerVertical="true" android:background="?android:attr/selectableItemBackgroundBorderless" - android:contentDescription="@string/description_call_log_call_action" + android:contentDescription="@string/call" android:scaleType="center" android:src="@drawable/quantum_ic_call_white_24" android:tint="@color/secondary_text_color"/> -</RelativeLayout> +</RelativeLayout>
\ No newline at end of file diff --git a/java/com/android/dialer/calldetails/res/values-af/strings.xml b/java/com/android/dialer/calldetails/res/values-af/strings.xml index 86bef4b9a..74fbcd023 100644 --- a/java/com/android/dialer/calldetails/res/values-af/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-af/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Vee uit"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopieer nommer"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Wysig nommer voordat jy bel"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Bel"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Het \'n foto gestuur"</string> <string name="received_a_photo" msgid="3528953225576480505">"Het \'n foto ontvang"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-am/strings.xml b/java/com/android/dialer/calldetails/res/values-am/strings.xml index 2a23945fe..4deaceb8c 100644 --- a/java/com/android/dialer/calldetails/res/values-am/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-am/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"ሰርዝ"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"ቁጥር ቅዳ"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"ከመደወል በፊት ቁጥር አርትዕ ያድርጉ"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"ጥሪ"</string> <string name="sent_a_photo" msgid="3978670717462979502">"አንድ ፎቶ ተልኳል"</string> <string name="received_a_photo" msgid="3528953225576480505">"አንድ ፎቶ ደርሷል"</string> <string name="message_in_quotes" msgid="3270574830115828365">"«<xliff:g id="MESSAGE">%1$s</xliff:g>»"</string> diff --git a/java/com/android/dialer/calldetails/res/values-ar/strings.xml b/java/com/android/dialer/calldetails/res/values-ar/strings.xml index 6b0d8a773..11a80e9b3 100644 --- a/java/com/android/dialer/calldetails/res/values-ar/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ar/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"حذف"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"نسخ الرقم"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"تعديل الرقم قبل الاتصال"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"الاتصال"</string> <string name="sent_a_photo" msgid="3978670717462979502">"تم إرسال صورة"</string> <string name="received_a_photo" msgid="3528953225576480505">"تم تلقي صورة"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-az/strings.xml b/java/com/android/dialer/calldetails/res/values-az/strings.xml index 479837c34..6710966a8 100644 --- a/java/com/android/dialer/calldetails/res/values-az/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-az/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Silin"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Nömrəni kopyalayın"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Zəng etmədən öncə nömrəyə düzəliş edin"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Zəng edin"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Foto göndərildi"</string> <string name="received_a_photo" msgid="3528953225576480505">"Foto alındı"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/calldetails/res/values-b+sr+Latn/strings.xml index 01141ffa4..a08c4eda1 100644 --- a/java/com/android/dialer/calldetails/res/values-b+sr+Latn/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-b+sr+Latn/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Izbriši"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopiraj broj"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Izmenite broj pre poziva"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Pozovi"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Slika je poslata"</string> <string name="received_a_photo" msgid="3528953225576480505">"Slika je primljena"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string> diff --git a/java/com/android/dialer/calldetails/res/values-be/strings.xml b/java/com/android/dialer/calldetails/res/values-be/strings.xml index 683f29bb2..3997fb2f2 100644 --- a/java/com/android/dialer/calldetails/res/values-be/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-be/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Выдаліць"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Скапіраваць нумар"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Рэдагаваць нумар перад выклікам"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Выклік"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Адпраўлена фота"</string> <string name="received_a_photo" msgid="3528953225576480505">"Атрымана фота"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-bg/strings.xml b/java/com/android/dialer/calldetails/res/values-bg/strings.xml index 9cd70e2f6..2354517db 100644 --- a/java/com/android/dialer/calldetails/res/values-bg/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-bg/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Изтриване"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Копиране на номера"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Редактиране на номера преди обаждане"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Обаждане"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Изпратена бе снимка"</string> <string name="received_a_photo" msgid="3528953225576480505">"Получена бе снимка"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string> diff --git a/java/com/android/dialer/calldetails/res/values-bn/strings.xml b/java/com/android/dialer/calldetails/res/values-bn/strings.xml index 148f61aba..066715265 100644 --- a/java/com/android/dialer/calldetails/res/values-bn/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-bn/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"মুছুন"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"নম্বর কপি করুন"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"কল করার আগে নম্বর সম্পাদন করুন"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"কল করুন"</string> <string name="sent_a_photo" msgid="3978670717462979502">"একটি ফটো পাঠিয়েছেন"</string> <string name="received_a_photo" msgid="3528953225576480505">"একটি ফটো পেয়েছেন"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-bs/strings.xml b/java/com/android/dialer/calldetails/res/values-bs/strings.xml index 6f164b228..305a41347 100644 --- a/java/com/android/dialer/calldetails/res/values-bs/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-bs/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Izbriši"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopiraj broj"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Uredi broj prije poziva"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Poziv"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Fotografija poslana"</string> <string name="received_a_photo" msgid="3528953225576480505">"Fotografija primljena"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-ca/strings.xml b/java/com/android/dialer/calldetails/res/values-ca/strings.xml index 0e33e60e7..6d5092e19 100644 --- a/java/com/android/dialer/calldetails/res/values-ca/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ca/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Suprimeix"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copia el número"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Edita el número abans de trucar"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Truca"</string> <string name="sent_a_photo" msgid="3978670717462979502">"S\'ha enviat una foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"S\'ha rebut una foto"</string> <string name="message_in_quotes" msgid="3270574830115828365">"<xliff:g id="MESSAGE">%1$s</xliff:g>"</string> diff --git a/java/com/android/dialer/calldetails/res/values-cs/strings.xml b/java/com/android/dialer/calldetails/res/values-cs/strings.xml index 9747ee139..bec5bab59 100644 --- a/java/com/android/dialer/calldetails/res/values-cs/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-cs/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Smazat"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopírovat číslo"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Před voláním upravit číslo"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Zavolat"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Byla poslána fotka"</string> <string name="received_a_photo" msgid="3528953225576480505">"Byla přijata fotka"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string> diff --git a/java/com/android/dialer/calldetails/res/values-da/strings.xml b/java/com/android/dialer/calldetails/res/values-da/strings.xml index 41bc25254..cfc4ad151 100644 --- a/java/com/android/dialer/calldetails/res/values-da/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-da/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Slet"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopiér nummer"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Rediger nummer før opkald"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Ring op"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Der blev sendt et billede"</string> <string name="received_a_photo" msgid="3528953225576480505">"Der blev modtaget et billede"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-de/strings.xml b/java/com/android/dialer/calldetails/res/values-de/strings.xml index 014666b3f..64439240e 100644 --- a/java/com/android/dialer/calldetails/res/values-de/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-de/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Löschen"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Nummer kopieren"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Nummer vor Anruf bearbeiten"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Anrufen"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Hat ein Foto gesendet"</string> <string name="received_a_photo" msgid="3528953225576480505">"Hat ein Foto empfangen"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-el/strings.xml b/java/com/android/dialer/calldetails/res/values-el/strings.xml index 6b51fc71d..04c850e2f 100644 --- a/java/com/android/dialer/calldetails/res/values-el/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-el/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Διαγραφή"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Αντιγραφή αριθμού"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Επεξεργασία αριθμού πριν από την κλήση"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Κλήση"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Έγινε αποστολή φωτογραφίας"</string> <string name="received_a_photo" msgid="3528953225576480505">"Έγινε λήψη φωτογραφίας"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-en-rAU/strings.xml b/java/com/android/dialer/calldetails/res/values-en-rAU/strings.xml index 2d5210e8c..5f4f55910 100644 --- a/java/com/android/dialer/calldetails/res/values-en-rAU/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-en-rAU/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Delete"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copy number"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Edit number before call"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Call"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Sent a photo"</string> <string name="received_a_photo" msgid="3528953225576480505">"Received a photo"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-en-rGB/strings.xml b/java/com/android/dialer/calldetails/res/values-en-rGB/strings.xml index 2d5210e8c..5f4f55910 100644 --- a/java/com/android/dialer/calldetails/res/values-en-rGB/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-en-rGB/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Delete"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copy number"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Edit number before call"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Call"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Sent a photo"</string> <string name="received_a_photo" msgid="3528953225576480505">"Received a photo"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-en-rIN/strings.xml b/java/com/android/dialer/calldetails/res/values-en-rIN/strings.xml index 2d5210e8c..5f4f55910 100644 --- a/java/com/android/dialer/calldetails/res/values-en-rIN/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-en-rIN/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Delete"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copy number"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Edit number before call"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Call"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Sent a photo"</string> <string name="received_a_photo" msgid="3528953225576480505">"Received a photo"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-es-rUS/strings.xml b/java/com/android/dialer/calldetails/res/values-es-rUS/strings.xml index d9db2825c..898653431 100644 --- a/java/com/android/dialer/calldetails/res/values-es-rUS/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-es-rUS/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Borrar"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Editar número antes de llamar"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Llamar"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Enviaste una foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"Recibiste una foto"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-es/strings.xml b/java/com/android/dialer/calldetails/res/values-es/strings.xml index e72e898b4..ad581b4f6 100644 --- a/java/com/android/dialer/calldetails/res/values-es/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-es/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Eliminar"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Editar número antes de llamar"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Llamar"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Se ha enviado una foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"Se ha recibido una foto"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-et/strings.xml b/java/com/android/dialer/calldetails/res/values-et/strings.xml index 496459d6b..9190b2831 100644 --- a/java/com/android/dialer/calldetails/res/values-et/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-et/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Kustuta"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopeeri number"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Muuda numbrit enne helistamist"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Kõne"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Saatis foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"Sai foto"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string> diff --git a/java/com/android/dialer/calldetails/res/values-eu/strings.xml b/java/com/android/dialer/calldetails/res/values-eu/strings.xml index 913082fb8..a8c48cf66 100644 --- a/java/com/android/dialer/calldetails/res/values-eu/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-eu/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Ezabatu"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopiatu zenbakia"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Editatu zenbakia deitu aurretik"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Deia"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Argazki bat bidali duzu"</string> <string name="received_a_photo" msgid="3528953225576480505">"Argazki bat jaso duzu"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-fa/strings.xml b/java/com/android/dialer/calldetails/res/values-fa/strings.xml index cad85a265..d02591be9 100644 --- a/java/com/android/dialer/calldetails/res/values-fa/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-fa/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"حذف"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"کپی کردن شماره"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"ویرایش شماره قبل از تماس"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"تماس"</string> <string name="sent_a_photo" msgid="3978670717462979502">"عکسی ارسال کرد"</string> <string name="received_a_photo" msgid="3528953225576480505">"عکسی دریافت کرد"</string> <string name="message_in_quotes" msgid="3270574830115828365">"«<xliff:g id="MESSAGE">%1$s</xliff:g>»"</string> diff --git a/java/com/android/dialer/calldetails/res/values-fi/strings.xml b/java/com/android/dialer/calldetails/res/values-fi/strings.xml index c16110d58..3b409edea 100644 --- a/java/com/android/dialer/calldetails/res/values-fi/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-fi/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Poista"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopioi numero"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Muokkaa numeroa ennen puhelua"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Soita"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Lähetetty kuva"</string> <string name="received_a_photo" msgid="3528953225576480505">"Vastaanotettu kuva"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-fr-rCA/strings.xml b/java/com/android/dialer/calldetails/res/values-fr-rCA/strings.xml index 676861f3f..7b88bddcd 100644 --- a/java/com/android/dialer/calldetails/res/values-fr-rCA/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-fr-rCA/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Supprimer"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copier le numéro"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Modifier le numéro avant de passer l\'appel"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Appeler"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Photo envoyée"</string> <string name="received_a_photo" msgid="3528953225576480505">"Photo reçue"</string> <string name="message_in_quotes" msgid="3270574830115828365">"« <xliff:g id="MESSAGE">%1$s</xliff:g> »"</string> diff --git a/java/com/android/dialer/calldetails/res/values-fr/strings.xml b/java/com/android/dialer/calldetails/res/values-fr/strings.xml index 606cb1095..8319a2c9e 100644 --- a/java/com/android/dialer/calldetails/res/values-fr/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-fr/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Supprimer"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copier le numéro"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Modifier le numéro avant d\'appeler"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Appeler"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Envoi d\'une photo"</string> <string name="received_a_photo" msgid="3528953225576480505">"Réception d\'une photo"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-gl/strings.xml b/java/com/android/dialer/calldetails/res/values-gl/strings.xml index aa5ff14dd..f7aa16660 100644 --- a/java/com/android/dialer/calldetails/res/values-gl/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-gl/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Eliminar"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Editar número antes de chamar"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Chamar"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Enviouse unha foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"Recibiuse unha foto"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-gu/strings.xml b/java/com/android/dialer/calldetails/res/values-gu/strings.xml index ccb8755b3..03e402e00 100644 --- a/java/com/android/dialer/calldetails/res/values-gu/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-gu/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"કાઢી નાખો"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"નંબર કૉપિ કરો"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"કૉલ કરતાં પહેલાં નંબર સંપાદિત કરો"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"કૉલ કરો"</string> <string name="sent_a_photo" msgid="3978670717462979502">"એક ફોટો મોકલ્યો"</string> <string name="received_a_photo" msgid="3528953225576480505">"એક ફોટો પ્રાપ્ત કર્યો"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-hi/strings.xml b/java/com/android/dialer/calldetails/res/values-hi/strings.xml index 517fbe52d..3e46920fb 100644 --- a/java/com/android/dialer/calldetails/res/values-hi/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-hi/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"हटाएं"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"नंबर कॉपी करें"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"कॉल करने से पहले नंबर संपादित करें"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"कॉल करें"</string> <string name="sent_a_photo" msgid="3978670717462979502">"फ़ोटो भेजी गई"</string> <string name="received_a_photo" msgid="3528953225576480505">"फ़ोटो मिली"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-hr/strings.xml b/java/com/android/dialer/calldetails/res/values-hr/strings.xml index 687a65e2b..c1cc36098 100644 --- a/java/com/android/dialer/calldetails/res/values-hr/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-hr/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Brisanje"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopiranje broja"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Uređivanje broja prije poziva"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Poziv"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Šalje fotografiju"</string> <string name="received_a_photo" msgid="3528953225576480505">"Prima fotografiju"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-hu/strings.xml b/java/com/android/dialer/calldetails/res/values-hu/strings.xml index 66863e87d..298c10e53 100644 --- a/java/com/android/dialer/calldetails/res/values-hu/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-hu/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Törlés"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Szám másolása"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Szám szerkesztése hívás előtt"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Telefonhívás"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Küldött egy fotót"</string> <string name="received_a_photo" msgid="3528953225576480505">"Kapott egy fotót"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string> diff --git a/java/com/android/dialer/calldetails/res/values-hy/strings.xml b/java/com/android/dialer/calldetails/res/values-hy/strings.xml index a1e84e955..ab44622d2 100644 --- a/java/com/android/dialer/calldetails/res/values-hy/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-hy/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Ջնջել"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Պատճենել համարը"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Փոփոխել համարը զանգելուց առաջ"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Զանգ"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Ուղարկվել է լուսանկար"</string> <string name="received_a_photo" msgid="3528953225576480505">"Ստացվել է լուսանկար"</string> <string name="message_in_quotes" msgid="3270574830115828365">"«<xliff:g id="MESSAGE">%1$s</xliff:g>»"</string> diff --git a/java/com/android/dialer/calldetails/res/values-in/strings.xml b/java/com/android/dialer/calldetails/res/values-in/strings.xml index ba58ba01c..68ced556e 100644 --- a/java/com/android/dialer/calldetails/res/values-in/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-in/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Hapus"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Salin nomor"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Edit nomor sebelum menelepon"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Telepon"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Mengirim foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"Menerima foto"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-is/strings.xml b/java/com/android/dialer/calldetails/res/values-is/strings.xml index 0770814df..667ebd62a 100644 --- a/java/com/android/dialer/calldetails/res/values-is/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-is/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Eyða"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Afrita númer"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Breyta númeri áður en hringt er"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Hringja"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Sendi mynd"</string> <string name="received_a_photo" msgid="3528953225576480505">"Tók á móti mynd"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string> diff --git a/java/com/android/dialer/calldetails/res/values-it/strings.xml b/java/com/android/dialer/calldetails/res/values-it/strings.xml index 97af25168..4f159d574 100644 --- a/java/com/android/dialer/calldetails/res/values-it/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-it/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Elimina"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copia numero"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Modifica numero prima di chiamare"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Chiama"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Foto inviata"</string> <string name="received_a_photo" msgid="3528953225576480505">"Foto ricevuta"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-iw/strings.xml b/java/com/android/dialer/calldetails/res/values-iw/strings.xml index 329eded62..87c6fed79 100644 --- a/java/com/android/dialer/calldetails/res/values-iw/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-iw/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"מחק"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"העתק את המספר"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"ערוך את המספר לפני השיחה"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"התקשר"</string> <string name="sent_a_photo" msgid="3978670717462979502">"נשלחה תמונה"</string> <string name="received_a_photo" msgid="3528953225576480505">"התקבלה תמונה"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-ja/strings.xml b/java/com/android/dialer/calldetails/res/values-ja/strings.xml index 7aef345fd..d3a15d420 100644 --- a/java/com/android/dialer/calldetails/res/values-ja/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ja/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"削除"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"電話番号をコピー"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"発信前に電話番号を編集"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"発信"</string> <string name="sent_a_photo" msgid="3978670717462979502">"写真を送信しました"</string> <string name="received_a_photo" msgid="3528953225576480505">"写真を受信しました"</string> <string name="message_in_quotes" msgid="3270574830115828365">"「<xliff:g id="MESSAGE">%1$s</xliff:g>」"</string> diff --git a/java/com/android/dialer/calldetails/res/values-ka/strings.xml b/java/com/android/dialer/calldetails/res/values-ka/strings.xml index 1cd7bc219..66f19282d 100644 --- a/java/com/android/dialer/calldetails/res/values-ka/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ka/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"წაშლა"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"ნომრის კოპირება"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"ნომრის რედაქტირება დარეკვამდე"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"დარეკვა"</string> <string name="sent_a_photo" msgid="3978670717462979502">"ფოტო გაიგზავნა"</string> <string name="received_a_photo" msgid="3528953225576480505">"მიღებულია ფოტო"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string> diff --git a/java/com/android/dialer/calldetails/res/values-kk/strings.xml b/java/com/android/dialer/calldetails/res/values-kk/strings.xml index 1923cf79b..c3903e158 100644 --- a/java/com/android/dialer/calldetails/res/values-kk/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-kk/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Жою"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Нөмірді көшіру"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Нөмірді қоңырау шалуға дейін өзгерту"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Қоңырау шалу"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Сурет жіберілді"</string> <string name="received_a_photo" msgid="3528953225576480505">"Сурет қабылданды"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-km/strings.xml b/java/com/android/dialer/calldetails/res/values-km/strings.xml index e0472796f..240e28ab7 100644 --- a/java/com/android/dialer/calldetails/res/values-km/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-km/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"លុប"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"ថតចម្លងលេខទូរសព្ទ"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"កែលេខ មុនពេលហៅទូរសព្ទ"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"ហៅទូរសព្ទ"</string> <string name="sent_a_photo" msgid="3978670717462979502">"បានផ្ញើរូបថត"</string> <string name="received_a_photo" msgid="3528953225576480505">"បានទទួលរូបថត"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-kn/strings.xml b/java/com/android/dialer/calldetails/res/values-kn/strings.xml index 66c0d6349..a833ffc95 100644 --- a/java/com/android/dialer/calldetails/res/values-kn/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-kn/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"ಅಳಿಸಿ"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"ಸಂಖ್ಯೆಯನ್ನು ನಕಲಿಸಿ"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"ಕರೆ ಮಾಡುವ ಮೊದಲು ಸಂಖ್ಯೆಯನ್ನು ಎಡಿಟ್ ಮಾಡಿ"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"ಕರೆಮಾಡಿ"</string> <string name="sent_a_photo" msgid="3978670717462979502">"ಫೋಟೋ ಕಳುಹಿಸಲಾಗಿದೆ"</string> <string name="received_a_photo" msgid="3528953225576480505">"ಫೋಟೋ ಸ್ವೀಕರಿಸಲಾಗಿದೆ"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-ko/strings.xml b/java/com/android/dialer/calldetails/res/values-ko/strings.xml index 35c503858..700c3603d 100644 --- a/java/com/android/dialer/calldetails/res/values-ko/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ko/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"삭제"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"전화번호 복사"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"통화하기 전에 번호 수정"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"전화걸기"</string> <string name="sent_a_photo" msgid="3978670717462979502">"사진 전송됨"</string> <string name="received_a_photo" msgid="3528953225576480505">"사진 수신됨"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\'<xliff:g id="MESSAGE">%1$s</xliff:g>\'"</string> diff --git a/java/com/android/dialer/calldetails/res/values-ky/strings.xml b/java/com/android/dialer/calldetails/res/values-ky/strings.xml index fe37b33bd..08546c8ec 100644 --- a/java/com/android/dialer/calldetails/res/values-ky/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ky/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Жок кылуу"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Номерди көчүрүү"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Чалуудан мурун номерди түзөтүү"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Чалуу"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Сүрөт жөнөтүлдү"</string> <string name="received_a_photo" msgid="3528953225576480505">"Сүрөт алынды"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-lo/strings.xml b/java/com/android/dialer/calldetails/res/values-lo/strings.xml index 85b636acd..8f099e827 100644 --- a/java/com/android/dialer/calldetails/res/values-lo/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-lo/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"ລຶບ"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"ສຳເນົາເບີໂທ"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"ແກ້ໄຂເບີກ່ອນໂທ"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"ໂທ"</string> <string name="sent_a_photo" msgid="3978670717462979502">"ສົ່ງຮູບພາບ"</string> <string name="received_a_photo" msgid="3528953225576480505">"ໄດ້ຮັບຮູບພາບແລ້ວ"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-lt/strings.xml b/java/com/android/dialer/calldetails/res/values-lt/strings.xml index 9c8ad7b7f..62d89f5b9 100644 --- a/java/com/android/dialer/calldetails/res/values-lt/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-lt/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Ištrinti"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopijuoti numerį"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Redaguoti numerį prieš skambinant"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Skambinti"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Išsiuntė nuotrauką"</string> <string name="received_a_photo" msgid="3528953225576480505">"Gavo nuotrauką"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string> diff --git a/java/com/android/dialer/calldetails/res/values-lv/strings.xml b/java/com/android/dialer/calldetails/res/values-lv/strings.xml index d8783935b..3625649ee 100644 --- a/java/com/android/dialer/calldetails/res/values-lv/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-lv/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Dzēst"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopēt numuru"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Rediģēt numuru pirms zvanīšanas"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Zvanīt"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Nosūtīja fotoattēlu"</string> <string name="received_a_photo" msgid="3528953225576480505">"Saņēma fotoattēlu"</string> <string name="message_in_quotes" msgid="3270574830115828365">"“<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string> diff --git a/java/com/android/dialer/calldetails/res/values-mk/strings.xml b/java/com/android/dialer/calldetails/res/values-mk/strings.xml index 9388ae070..6d1fd710f 100644 --- a/java/com/android/dialer/calldetails/res/values-mk/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-mk/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Избриши"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Копирај го бројот"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Измени го бројот пред повикот"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Повикај"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Испрати фотографија"</string> <string name="received_a_photo" msgid="3528953225576480505">"Прими фотографија"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string> diff --git a/java/com/android/dialer/calldetails/res/values-ml/strings.xml b/java/com/android/dialer/calldetails/res/values-ml/strings.xml index d29691159..fbafb88ea 100644 --- a/java/com/android/dialer/calldetails/res/values-ml/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ml/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"ഇല്ലാതാക്കുക"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"നമ്പർ പകർത്തുക"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"കോൾ ചെയ്യുന്നതിന് മുമ്പായി നമ്പർ എഡിറ്റുചെയ്യുക"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"കോള് ചെയ്യുക"</string> <string name="sent_a_photo" msgid="3978670717462979502">"ഒരു ഫോട്ടോ അയച്ചു"</string> <string name="received_a_photo" msgid="3528953225576480505">"ഒരു ഫോട്ടോ ലഭിച്ചു"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-mn/strings.xml b/java/com/android/dialer/calldetails/res/values-mn/strings.xml index cb264e016..10b5d967a 100644 --- a/java/com/android/dialer/calldetails/res/values-mn/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-mn/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Устгах"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Дугаар хуулах"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Залгахын өмнө дугаар засах"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Залгах"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Зураг илгээсэн"</string> <string name="received_a_photo" msgid="3528953225576480505">"Зураг хүлээн авсан"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-mr/strings.xml b/java/com/android/dialer/calldetails/res/values-mr/strings.xml index 5c31e361e..5644664f6 100644 --- a/java/com/android/dialer/calldetails/res/values-mr/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-mr/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"हटवा"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"नंबर कॉपी करा"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"कॉल करण्यापूर्वी नंबर संपादित करा"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"कॉल करा"</string> <string name="sent_a_photo" msgid="3978670717462979502">"एक फोटो पाठविला"</string> <string name="received_a_photo" msgid="3528953225576480505">"एक फोटो प्राप्त झाला"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-ms/strings.xml b/java/com/android/dialer/calldetails/res/values-ms/strings.xml index da17d6edb..157198dfc 100644 --- a/java/com/android/dialer/calldetails/res/values-ms/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ms/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Padam"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Salin nombor"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Edit nombor sebelum panggilan"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Panggil"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Menghantar foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"Foto diterima"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-my/strings.xml b/java/com/android/dialer/calldetails/res/values-my/strings.xml index 75508d8d4..bf3f90b60 100644 --- a/java/com/android/dialer/calldetails/res/values-my/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-my/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"ဖျက်ရန်"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"နံပါတ်ကိုကူးယူရန်"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"မခေါ်ဆိုမီ နံပါတ်ကိုပြင်ဆင်ရန်"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"ခေါ်ဆိုရန်"</string> <string name="sent_a_photo" msgid="3978670717462979502">"ဓာတ်ပုံ ပို့လိုက်သည်"</string> <string name="received_a_photo" msgid="3528953225576480505">"ဓာတ်ပုံ လက်ခံရရှိသည်"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-nb/strings.xml b/java/com/android/dialer/calldetails/res/values-nb/strings.xml index 022025fa3..609c8afcf 100644 --- a/java/com/android/dialer/calldetails/res/values-nb/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-nb/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Slett"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopiér nummeret"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Rediger nummeret før du ringer"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Ring"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Et bilde ble sendt"</string> <string name="received_a_photo" msgid="3528953225576480505">"Et bilde ble mottatt"</string> <string name="message_in_quotes" msgid="3270574830115828365">"«<xliff:g id="MESSAGE">%1$s</xliff:g>»"</string> diff --git a/java/com/android/dialer/calldetails/res/values-ne/strings.xml b/java/com/android/dialer/calldetails/res/values-ne/strings.xml index 8fe355ba6..6b609670c 100644 --- a/java/com/android/dialer/calldetails/res/values-ne/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ne/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"मेट्नुहोस्"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"नम्बर प्रतिलिपि गर्नुहोस्"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"कल गर्नु अघि नम्बर सम्पादन गर्नुहोस्"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"कल"</string> <string name="sent_a_photo" msgid="3978670717462979502">"एउटा तस्बिर पठाइयो"</string> <string name="received_a_photo" msgid="3528953225576480505">"एउटा तस्बिर प्राप्त भयो"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-nl/strings.xml b/java/com/android/dialer/calldetails/res/values-nl/strings.xml index 71657b813..f5efb1a43 100644 --- a/java/com/android/dialer/calldetails/res/values-nl/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-nl/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Verwijderen"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Nummer kopiëren"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Nummer bewerken vóór bellen"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Bellen"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Foto verzonden"</string> <string name="received_a_photo" msgid="3528953225576480505">"Foto ontvangen"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\'<xliff:g id="MESSAGE">%1$s</xliff:g>\'"</string> diff --git a/java/com/android/dialer/calldetails/res/values-no/strings.xml b/java/com/android/dialer/calldetails/res/values-no/strings.xml index 022025fa3..609c8afcf 100644 --- a/java/com/android/dialer/calldetails/res/values-no/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-no/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Slett"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopiér nummeret"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Rediger nummeret før du ringer"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Ring"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Et bilde ble sendt"</string> <string name="received_a_photo" msgid="3528953225576480505">"Et bilde ble mottatt"</string> <string name="message_in_quotes" msgid="3270574830115828365">"«<xliff:g id="MESSAGE">%1$s</xliff:g>»"</string> diff --git a/java/com/android/dialer/calldetails/res/values-pa/strings.xml b/java/com/android/dialer/calldetails/res/values-pa/strings.xml index d4f175943..8a9ec1f69 100644 --- a/java/com/android/dialer/calldetails/res/values-pa/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-pa/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"ਮਿਟਾਓ"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"ਨੰਬਰ ਕਾਪੀ ਕਰੋ"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"ਕਾਲ ਤੋਂ ਪਹਿਲਾਂ ਨੰਬਰ ਸੰਪਾਦਿਤ ਕਰੋ"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"ਕਾਲ ਕਰੋ"</string> <string name="sent_a_photo" msgid="3978670717462979502">"ਇੱਕ ਫ਼ੋਟੋ ਭੇਜੀ ਗਈ"</string> <string name="received_a_photo" msgid="3528953225576480505">"ਇੱਕ ਫ਼ੋਟੋ ਪ੍ਰਾਪਤ ਹੋਈ"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-pl/strings.xml b/java/com/android/dialer/calldetails/res/values-pl/strings.xml index 96446005d..1a342b0ce 100644 --- a/java/com/android/dialer/calldetails/res/values-pl/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-pl/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Usuń"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopiuj numer"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Edytuj numer, zanim zadzwonisz"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Zadzwoń"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Wysłano zdjęcie"</string> <string name="received_a_photo" msgid="3528953225576480505">"Odebrano zdjęcie"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string> diff --git a/java/com/android/dialer/calldetails/res/values-pt-rBR/strings.xml b/java/com/android/dialer/calldetails/res/values-pt-rBR/strings.xml index 467973d55..7abc8be39 100644 --- a/java/com/android/dialer/calldetails/res/values-pt-rBR/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-pt-rBR/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Excluir"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Editar número antes de ligar"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Ligar"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Enviou uma foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"Recebeu uma foto"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-pt-rPT/strings.xml b/java/com/android/dialer/calldetails/res/values-pt-rPT/strings.xml index cfbbc0240..5e6dae83f 100644 --- a/java/com/android/dialer/calldetails/res/values-pt-rPT/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-pt-rPT/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Eliminar"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Editar o número antes de efetuar a chamada"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Telefonar"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Enviou uma foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"Recebeu uma foto"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-pt/strings.xml b/java/com/android/dialer/calldetails/res/values-pt/strings.xml index 467973d55..7abc8be39 100644 --- a/java/com/android/dialer/calldetails/res/values-pt/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-pt/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Excluir"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copiar número"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Editar número antes de ligar"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Ligar"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Enviou uma foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"Recebeu uma foto"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-ro/strings.xml b/java/com/android/dialer/calldetails/res/values-ro/strings.xml index e9281ae66..3a6447b64 100644 --- a/java/com/android/dialer/calldetails/res/values-ro/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ro/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Ștergeți"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Copiați numărul"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Modificați numărul înainte de apelare"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Apelați"</string> <string name="sent_a_photo" msgid="3978670717462979502">"A fost trimisă o fotografie."</string> <string name="received_a_photo" msgid="3528953225576480505">"A fost primită o fotografie."</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string> diff --git a/java/com/android/dialer/calldetails/res/values-ru/strings.xml b/java/com/android/dialer/calldetails/res/values-ru/strings.xml index bf981e293..b071dc68d 100644 --- a/java/com/android/dialer/calldetails/res/values-ru/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ru/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Удалить"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Скопировать номер"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Изменить номер перед вызовом"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Позвонить"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Отправлена фотография"</string> <string name="received_a_photo" msgid="3528953225576480505">"Получена фотография"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-si/strings.xml b/java/com/android/dialer/calldetails/res/values-si/strings.xml index 5fdca0d52..999183b20 100644 --- a/java/com/android/dialer/calldetails/res/values-si/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-si/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"මකන්න"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"අංකය පිටපත් කරන්න"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"ඇමතුමට පෙර අංකය සංස්කරණය කරන්න"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"අමතන්න"</string> <string name="sent_a_photo" msgid="3978670717462979502">"ඡායාරූපයක් යැවිණි"</string> <string name="received_a_photo" msgid="3528953225576480505">"ඡායාරූපයක් ලැබිණි"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-sk/strings.xml b/java/com/android/dialer/calldetails/res/values-sk/strings.xml index db0478713..57b90cf8d 100644 --- a/java/com/android/dialer/calldetails/res/values-sk/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-sk/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Odstrániť"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopírovať číslo"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Pred volaním upraviť číslo"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Volať"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Bola odoslaná fotka"</string> <string name="received_a_photo" msgid="3528953225576480505">"Bola prijatá fotka"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string> diff --git a/java/com/android/dialer/calldetails/res/values-sl/strings.xml b/java/com/android/dialer/calldetails/res/values-sl/strings.xml index 98975f406..83ffcbb96 100644 --- a/java/com/android/dialer/calldetails/res/values-sl/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-sl/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Izbriši"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopiraj številko"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Pred klicanjem uredi številko"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Pokliči"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Poslana fotografija"</string> <string name="received_a_photo" msgid="3528953225576480505">"Prejeta fotografija"</string> <string name="message_in_quotes" msgid="3270574830115828365">"»<xliff:g id="MESSAGE">%1$s</xliff:g>«"</string> diff --git a/java/com/android/dialer/calldetails/res/values-sq/strings.xml b/java/com/android/dialer/calldetails/res/values-sq/strings.xml index dd9915da5..d05770fb6 100644 --- a/java/com/android/dialer/calldetails/res/values-sq/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-sq/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Fshi"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopjo numrin"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Redakto numrin para telefonatës"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Telefono"</string> <string name="sent_a_photo" msgid="3978670717462979502">"U dërgua një fotografi"</string> <string name="received_a_photo" msgid="3528953225576480505">"U mor një fotografi"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-sr/strings.xml b/java/com/android/dialer/calldetails/res/values-sr/strings.xml index 7f4005d78..a1294df1a 100644 --- a/java/com/android/dialer/calldetails/res/values-sr/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-sr/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Избриши"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Копирај број"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Измените број пре позива"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Позови"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Слика је послата"</string> <string name="received_a_photo" msgid="3528953225576480505">"Слика је примљена"</string> <string name="message_in_quotes" msgid="3270574830115828365">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“"</string> diff --git a/java/com/android/dialer/calldetails/res/values-sv/strings.xml b/java/com/android/dialer/calldetails/res/values-sv/strings.xml index 3967b4ff3..9b2e25e44 100644 --- a/java/com/android/dialer/calldetails/res/values-sv/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-sv/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Radera"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopiera nummer"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Redigera nummer före samtal"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Ring"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Skickade ett foto"</string> <string name="received_a_photo" msgid="3528953225576480505">"Tog emot ett foto"</string> <string name="message_in_quotes" msgid="3270574830115828365">"<xliff:g id="MESSAGE">%1$s</xliff:g>"</string> diff --git a/java/com/android/dialer/calldetails/res/values-sw/strings.xml b/java/com/android/dialer/calldetails/res/values-sw/strings.xml index e5df8230a..b7673372f 100644 --- a/java/com/android/dialer/calldetails/res/values-sw/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-sw/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Futa"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Nakili nambari"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Hariri nambari kabla ya kupiga"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Piga simu"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Picha imetumwa"</string> <string name="received_a_photo" msgid="3528953225576480505">"Picha imepokelewa"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-ta/strings.xml b/java/com/android/dialer/calldetails/res/values-ta/strings.xml index 840ad8790..51ff04f2c 100644 --- a/java/com/android/dialer/calldetails/res/values-ta/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ta/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"நீக்கு"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"எண்ணை நகலெடு"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"அழைப்பதற்கு முன் எண்ணைத் திருத்து"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"அழை"</string> <string name="sent_a_photo" msgid="3978670717462979502">"படம் அனுப்பப்பட்டது"</string> <string name="received_a_photo" msgid="3528953225576480505">"படம் பெறப்பட்டது"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-te/strings.xml b/java/com/android/dialer/calldetails/res/values-te/strings.xml index 3054444ac..1d44e5514 100644 --- a/java/com/android/dialer/calldetails/res/values-te/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-te/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"తొలగించు"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"నంబర్ను కాపీ చేయి"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"కాల్ చేసే ముందు నంబర్ను సవరించు"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"కాల్ చేయి"</string> <string name="sent_a_photo" msgid="3978670717462979502">"ఫోటో పంపబడింది"</string> <string name="received_a_photo" msgid="3528953225576480505">"ఫోటో స్వీకరించబడింది"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-th/strings.xml b/java/com/android/dialer/calldetails/res/values-th/strings.xml index c565ebadf..3fe88f950 100644 --- a/java/com/android/dialer/calldetails/res/values-th/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-th/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"ลบ"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"คัดลอกหมายเลข"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"แก้ไขหมายเลขก่อนโทร"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"โทร"</string> <string name="sent_a_photo" msgid="3978670717462979502">"ส่งรูปภาพแล้ว"</string> <string name="received_a_photo" msgid="3528953225576480505">"ได้รับรูปภาพแล้ว"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-tl/strings.xml b/java/com/android/dialer/calldetails/res/values-tl/strings.xml index 81c148e6b..91fb3bec4 100644 --- a/java/com/android/dialer/calldetails/res/values-tl/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-tl/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"I-delete"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopyahin ang numero"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"I-edit ang numero bago tumawag"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Tumawag"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Nagpadala ng larawan"</string> <string name="received_a_photo" msgid="3528953225576480505">"Nakatanggap ng larawan"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-tr/strings.xml b/java/com/android/dialer/calldetails/res/values-tr/strings.xml index ade401843..f84d0b383 100644 --- a/java/com/android/dialer/calldetails/res/values-tr/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-tr/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Sil"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Numarayı kopyala"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Telefon etmeden önce numarayı düzenleyin"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Telefon eder"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Bir fotoğraf gönderildi"</string> <string name="received_a_photo" msgid="3528953225576480505">"Bir fotoğraf alındı"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-uk/strings.xml b/java/com/android/dialer/calldetails/res/values-uk/strings.xml index 6538d664d..bf6e0acc1 100644 --- a/java/com/android/dialer/calldetails/res/values-uk/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-uk/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Видалити"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Копіювати номер"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Редагувати номер перед дзвінком"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Виклик"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Надіслано фотографію"</string> <string name="received_a_photo" msgid="3528953225576480505">"Отримано фотографію"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-ur/strings.xml b/java/com/android/dialer/calldetails/res/values-ur/strings.xml index 90c3a590a..5a22869dc 100644 --- a/java/com/android/dialer/calldetails/res/values-ur/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-ur/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"حذف کریں"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"نمبر کاپی کریں"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"کال کرنے سے پہلے نمبر میں ترمیم کریں"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"کال"</string> <string name="sent_a_photo" msgid="3978670717462979502">"ایک تصویر بھیجی"</string> <string name="received_a_photo" msgid="3528953225576480505">"ایک تصویر موصول ہوئی"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-uz/strings.xml b/java/com/android/dialer/calldetails/res/values-uz/strings.xml index 7b443ca2e..890b7ae59 100644 --- a/java/com/android/dialer/calldetails/res/values-uz/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-uz/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"O‘chirib tashlash"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Raqamni nusxalash"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Qo‘ng‘iroq qilishdan oldin raqamni tahrirlash"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Qo‘ng‘iroq qilish"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Rasm yuborildi"</string> <string name="received_a_photo" msgid="3528953225576480505">"Rasm qabul qilindi"</string> <string name="message_in_quotes" msgid="3270574830115828365">"“<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string> diff --git a/java/com/android/dialer/calldetails/res/values-vi/strings.xml b/java/com/android/dialer/calldetails/res/values-vi/strings.xml index 7a950216d..b58963293 100644 --- a/java/com/android/dialer/calldetails/res/values-vi/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-vi/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Xóa"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Sao chép số"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Chỉnh sửa số trước khi gọi"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Gọi"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Đã gửi một ảnh"</string> <string name="received_a_photo" msgid="3528953225576480505">"Đã nhận một ảnh"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values-zh-rCN/strings.xml b/java/com/android/dialer/calldetails/res/values-zh-rCN/strings.xml index aad695a73..7b8b9723c 100644 --- a/java/com/android/dialer/calldetails/res/values-zh-rCN/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-zh-rCN/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"删除"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"复制号码"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"拨打电话之前修改号码"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"拨打电话"</string> <string name="sent_a_photo" msgid="3978670717462979502">"发送了一张照片"</string> <string name="received_a_photo" msgid="3528953225576480505">"收到了一张照片"</string> <string name="message_in_quotes" msgid="3270574830115828365">"“<xliff:g id="MESSAGE">%1$s</xliff:g>”"</string> diff --git a/java/com/android/dialer/calldetails/res/values-zh-rHK/strings.xml b/java/com/android/dialer/calldetails/res/values-zh-rHK/strings.xml index eb5b606b7..87710986a 100644 --- a/java/com/android/dialer/calldetails/res/values-zh-rHK/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-zh-rHK/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"刪除"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"複製號碼"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"在撥打前編輯號碼"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"通話"</string> <string name="sent_a_photo" msgid="3978670717462979502">"已傳送相片"</string> <string name="received_a_photo" msgid="3528953225576480505">"已收到相片"</string> <string name="message_in_quotes" msgid="3270574830115828365">"「<xliff:g id="MESSAGE">%1$s</xliff:g>」"</string> diff --git a/java/com/android/dialer/calldetails/res/values-zh-rTW/strings.xml b/java/com/android/dialer/calldetails/res/values-zh-rTW/strings.xml index fd426c0fa..73aba80c6 100644 --- a/java/com/android/dialer/calldetails/res/values-zh-rTW/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-zh-rTW/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"刪除"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"複製號碼"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"撥打電話前編輯號碼"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"撥號"</string> <string name="sent_a_photo" msgid="3978670717462979502">"傳送了 1 張相片"</string> <string name="received_a_photo" msgid="3528953225576480505">"收到了 1 張相片"</string> <string name="message_in_quotes" msgid="3270574830115828365">"「<xliff:g id="MESSAGE">%1$s</xliff:g>」"</string> diff --git a/java/com/android/dialer/calldetails/res/values-zu/strings.xml b/java/com/android/dialer/calldetails/res/values-zu/strings.xml index d41d1f5cb..94040ce2b 100644 --- a/java/com/android/dialer/calldetails/res/values-zu/strings.xml +++ b/java/com/android/dialer/calldetails/res/values-zu/strings.xml @@ -21,7 +21,6 @@ <string name="delete" msgid="2141020674108406737">"Susa"</string> <string name="call_details_copy_number" msgid="4265479408878990796">"Kopisha inombolo"</string> <string name="call_details_edit_number" msgid="8718476514903513624">"Hlela inombolo ngaphambi kokushaya ucingo"</string> - <string name="description_call_log_call_action" msgid="1421313064764221900">"Shaya"</string> <string name="sent_a_photo" msgid="3978670717462979502">"Uthumele isithombe"</string> <string name="received_a_photo" msgid="3528953225576480505">"Uthole isithombe"</string> <string name="message_in_quotes" msgid="3270574830115828365">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\""</string> diff --git a/java/com/android/dialer/calldetails/res/values/dimens.xml b/java/com/android/dialer/calldetails/res/values/dimens.xml index f85d02f83..91bf70e88 100644 --- a/java/com/android/dialer/calldetails/res/values/dimens.xml +++ b/java/com/android/dialer/calldetails/res/values/dimens.xml @@ -15,8 +15,6 @@ ~ limitations under the License --> <resources> - <dimen name="call_details_primary_text_size">16sp</dimen> - <dimen name="call_details_secondary_text_size">14sp</dimen> <dimen name="call_details_top_margin">6dp</dimen> <!-- contact container --> diff --git a/java/com/android/dialer/calldetails/res/values/strings.xml b/java/com/android/dialer/calldetails/res/values/strings.xml index 4471605f6..6b3b17962 100644 --- a/java/com/android/dialer/calldetails/res/values/strings.xml +++ b/java/com/android/dialer/calldetails/res/values/strings.xml @@ -27,10 +27,6 @@ <!-- Label for action to edit a number before calling it. [CHAR LIMIT=48] --> <string name="call_details_edit_number">Edit number before call</string> - <!-- String describing the phone icon on a call log list item. When tapped, it will place a - call to the number represented by that call log entry. [CHAR LIMIT=NONE]--> - <string name="description_call_log_call_action">Call</string> - <!-- String shown when the call details show a image that was sent --> <string name="sent_a_photo">Sent a photo</string> diff --git a/java/com/android/dialer/calldetails/res/values/styles.xml b/java/com/android/dialer/calldetails/res/values/styles.xml index 4fffe1afb..1a2b52994 100644 --- a/java/com/android/dialer/calldetails/res/values/styles.xml +++ b/java/com/android/dialer/calldetails/res/values/styles.xml @@ -15,24 +15,6 @@ ~ limitations under the License --> <resources> - <style name="PrimaryText"> - <item name="android:textColor">#DE000000</item> - <item name="android:textSize">@dimen/call_details_primary_text_size</item> - <item name="android:maxLines">1</item> - </style> - - <style name="SecondaryText"> - <item name="android:textColor">#8A000000</item> - <item name="android:textSize">@dimen/call_details_secondary_text_size</item> - <item name="android:maxLines">1</item> - </style> - - <style name="ECText"> - <item name="android:textColor">#8A000000</item> - <item name="android:textSize">@dimen/call_details_ec_text_size</item> - <item name="android:maxLines">1</item> - </style> - <style name="CallDetailsActionItemStyle"> <item name="android:foreground">?android:attr/selectableItemBackground</item> <item name="android:clickable">true</item> diff --git a/java/com/android/dialer/callintent/call_specific_app_data.proto b/java/com/android/dialer/callintent/call_specific_app_data.proto index 20ffc1ff4..c62006dfc 100644 --- a/java/com/android/dialer/callintent/call_specific_app_data.proto +++ b/java/com/android/dialer/callintent/call_specific_app_data.proto @@ -7,6 +7,7 @@ option optimize_for = LITE_RUNTIME; package com.android.dialer.callintent; import "java/com/android/dialer/callintent/call_initiation_type.proto"; +import "java/com/android/dialer/callintent/speed_dial_contact_type.proto"; // Miscellaneous data that's included in a new outgoing call initiated by // Dialer. The system will pass this data to the InCallUi which can use it @@ -17,4 +18,7 @@ message CallSpecificAppData { optional int32 position_of_selected_search_result = 2; optional int32 characters_in_search_string = 3; + + repeated SpeedDialContactType.Type speed_dial_contact_type = 4; + optional int32 speed_dial_contact_position = 5; } diff --git a/java/com/android/dialer/callintent/speed_dial_contact_type.proto b/java/com/android/dialer/callintent/speed_dial_contact_type.proto new file mode 100644 index 000000000..d352f458b --- /dev/null +++ b/java/com/android/dialer/callintent/speed_dial_contact_type.proto @@ -0,0 +1,18 @@ +syntax = "proto2"; + +option java_package = "com.android.dialer.callintent"; +option java_multiple_files = true; + +package com.android.dialer.callintent; +option optimize_for = LITE_RUNTIME; + +// The type of speed call contact (favorites). Applies to initiation type +// SPEED_DIAL only. +message SpeedDialContactType { + enum Type { + UNDEFINED = 0; + PINNED_CONTACT = 1; + STARRED_CONTACT = 2; + FREQUENT_CONTACT = 3; + } +} diff --git a/java/com/android/dialer/calllog/CallLogComponent.java b/java/com/android/dialer/calllog/CallLogComponent.java index 5cdd2b4d0..c7db2a1b8 100644 --- a/java/com/android/dialer/calllog/CallLogComponent.java +++ b/java/com/android/dialer/calllog/CallLogComponent.java @@ -25,6 +25,8 @@ public abstract class CallLogComponent { public abstract CallLogFramework callLogFramework(); + public abstract RefreshAnnotatedCallLogWorker getRefreshAnnotatedCallLogWorker(); + public static CallLogComponent get(Context context) { return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component()) .callLogComponent(); diff --git a/java/com/android/dialer/calllog/CallLogFramework.java b/java/com/android/dialer/calllog/CallLogFramework.java index 508413b14..55ef15b47 100644 --- a/java/com/android/dialer/calllog/CallLogFramework.java +++ b/java/com/android/dialer/calllog/CallLogFramework.java @@ -22,6 +22,7 @@ import android.preference.PreferenceManager; import android.support.annotation.MainThread; import android.support.annotation.Nullable; import com.android.dialer.calllog.datasources.CallLogDataSource; +import com.android.dialer.calllog.datasources.DataSources; import com.android.dialer.common.Assert; import com.android.dialer.common.ConfigProviderBindings; import com.android.dialer.common.LogUtil; @@ -38,7 +39,6 @@ import javax.inject.Singleton; public final class CallLogFramework implements CallLogDataSource.ContentObserverCallbacks { static final String PREF_FORCE_REBUILD = "callLogFrameworkForceRebuild"; - static final String PREF_LAST_REBUILD_TIMESTAMP_MILLIS = "callLogFrameworkLastRebuild"; private final DataSources dataSources; @@ -58,6 +58,7 @@ public final class CallLogFramework implements CallLogDataSource.ContentObserver LogUtil.enterBlock("CallLogFramework.registerContentObservers"); if (!isNewCallLogEnabled(appContext)) { + LogUtil.i("CallLogFramework.registerContentObservers", "new call log not enabled"); return; } diff --git a/java/com/android/dialer/calllog/CallLogModule.java b/java/com/android/dialer/calllog/CallLogModule.java index d7473a75e..2f2f16d5b 100644 --- a/java/com/android/dialer/calllog/CallLogModule.java +++ b/java/com/android/dialer/calllog/CallLogModule.java @@ -17,11 +17,9 @@ package com.android.dialer.calllog; import com.android.dialer.calllog.datasources.CallLogDataSource; +import com.android.dialer.calllog.datasources.DataSources; import com.android.dialer.calllog.datasources.contacts.ContactsDataSource; import com.android.dialer.calllog.datasources.systemcalllog.SystemCallLogDataSource; -import com.android.dialer.common.concurrent.DefaultDialerExecutorFactory; -import com.android.dialer.common.concurrent.DialerExecutorFactory; -import dagger.Binds; import dagger.Module; import dagger.Provides; import java.util.Arrays; @@ -32,10 +30,6 @@ import java.util.List; @Module public abstract class CallLogModule { - @Binds - abstract DialerExecutorFactory bindDialerExecutorFactory( - DefaultDialerExecutorFactory defaultDialerExecutorFactory); - @Provides static DataSources provideCallLogDataSources( SystemCallLogDataSource systemCallLogDataSource, ContactsDataSource contactsDataSource) { diff --git a/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java b/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java index f9f0c9935..d25ec5e65 100644 --- a/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java +++ b/java/com/android/dialer/calllog/RefreshAnnotatedCallLogWorker.java @@ -18,14 +18,16 @@ package com.android.dialer.calllog; import android.annotation.TargetApi; import android.content.Context; +import android.content.OperationApplicationException; import android.content.SharedPreferences; -import android.database.sqlite.SQLiteDatabase; import android.os.Build; +import android.os.RemoteException; import android.preference.PreferenceManager; import android.support.annotation.WorkerThread; -import com.android.dialer.calllog.database.AnnotatedCallLog; -import com.android.dialer.calllog.database.CallLogMutations; +import com.android.dialer.calllog.database.CallLogDatabaseComponent; import com.android.dialer.calllog.datasources.CallLogDataSource; +import com.android.dialer.calllog.datasources.CallLogMutations; +import com.android.dialer.calllog.datasources.DataSources; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.DialerExecutor.Worker; @@ -34,75 +36,65 @@ import javax.inject.Inject; /** * Worker which brings the annotated call log up to date, if necessary. * - * <p>Accepts a boolean which indicates if the dirty check should be skipped, and returns true if - * the annotated call log was updated. + * <p>Accepts a boolean which indicates if the dirty check should be skipped. */ -public class RefreshAnnotatedCallLogWorker implements Worker<Boolean, Boolean> { +public class RefreshAnnotatedCallLogWorker implements Worker<Boolean, Void> { private final Context appContext; private final DataSources dataSources; @Inject - public RefreshAnnotatedCallLogWorker(Context appContext, DataSources dataSources) { + RefreshAnnotatedCallLogWorker(Context appContext, DataSources dataSources) { this.appContext = appContext; this.dataSources = dataSources; } @Override - public Boolean doInBackground(Boolean skipDirtyCheck) { - LogUtil.enterBlock("RefreshAnnotatedCallLogWorker.doInBackgroundFallible"); + public Void doInBackground(Boolean skipDirtyCheck) + throws RemoteException, OperationApplicationException { + LogUtil.enterBlock("RefreshAnnotatedCallLogWorker.doInBackground"); long startTime = System.currentTimeMillis(); - boolean annotatedCallLogUpdated = checkDirtyAndRebuildIfNecessary(appContext, skipDirtyCheck); + checkDirtyAndRebuildIfNecessary(appContext, skipDirtyCheck); LogUtil.i( - "RefreshAnnotatedCallLogWorker.doInBackgroundFallible", - "updated? %s, took %dms", - annotatedCallLogUpdated, + "RefreshAnnotatedCallLogWorker.doInBackground", + "took %dms", System.currentTimeMillis() - startTime); - return annotatedCallLogUpdated; + return null; } @WorkerThread - private boolean checkDirtyAndRebuildIfNecessary(Context appContext, boolean skipDirtyCheck) { + private void checkDirtyAndRebuildIfNecessary(Context appContext, boolean skipDirtyCheck) + throws RemoteException, OperationApplicationException { Assert.isWorkerThread(); long startTime = System.currentTimeMillis(); SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(appContext); - long lastRebuildTimeMillis = - sharedPreferences.getLong(CallLogFramework.PREF_LAST_REBUILD_TIMESTAMP_MILLIS, 0); - if (lastRebuildTimeMillis == 0) { - LogUtil.i( - "RefreshAnnotatedCallLogWorker.checkDirtyAndRebuildIfNecessary", - "annotated call log has never been built, marking it dirty"); - } + // Default to true. If the pref doesn't exist, the annotated call log hasn't been created and + // we just skip isDirty checks and force a rebuild. boolean forceRebuildPrefValue = - sharedPreferences.getBoolean(CallLogFramework.PREF_FORCE_REBUILD, false); + sharedPreferences.getBoolean(CallLogFramework.PREF_FORCE_REBUILD, true); if (forceRebuildPrefValue) { LogUtil.i( "RefreshAnnotatedCallLogWorker.checkDirtyAndRebuildIfNecessary", - "call log has been marked dirty"); + "annotated call log has been marked dirty or does not exist"); } - boolean isDirty = - lastRebuildTimeMillis == 0 - || skipDirtyCheck - || forceRebuildPrefValue - || isDirty(appContext); + boolean isDirty = skipDirtyCheck || forceRebuildPrefValue || isDirty(appContext); + LogUtil.i( "RefreshAnnotatedCallLogWorker.checkDirtyAndRebuildIfNecessary", "isDirty took: %dms", System.currentTimeMillis() - startTime); if (isDirty) { startTime = System.currentTimeMillis(); - rebuild(appContext, lastRebuildTimeMillis); + rebuild(appContext); LogUtil.i( "RefreshAnnotatedCallLogWorker.checkDirtyAndRebuildIfNecessary", "rebuild took: %dms", System.currentTimeMillis() - startTime); - return true; // Annotated call log was updated. } - return false; // Annotated call log was not updated. } @WorkerThread @@ -129,51 +121,48 @@ public class RefreshAnnotatedCallLogWorker implements Worker<Boolean, Boolean> { @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources @WorkerThread - private void rebuild(Context appContext, long lastRebuildTimeMillis) { + private void rebuild(Context appContext) throws RemoteException, OperationApplicationException { Assert.isWorkerThread(); - // TODO: Start a transaction? - try (SQLiteDatabase database = AnnotatedCallLog.getWritableDatabase(appContext)) { + CallLogMutations mutations = new CallLogMutations(); - CallLogMutations mutations = new CallLogMutations(); + // System call log data source must go first! + CallLogDataSource systemCallLogDataSource = dataSources.getSystemCallLogDataSource(); + String dataSourceName = getName(systemCallLogDataSource); + LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "filling %s", dataSourceName); + long startTime = System.currentTimeMillis(); + systemCallLogDataSource.fill(appContext, mutations); + LogUtil.i( + "RefreshAnnotatedCallLogWorker.rebuild", + "%s.fill took: %dms", + dataSourceName, + System.currentTimeMillis() - startTime); - // System call log data source must go first! - CallLogDataSource systemCallLogDataSource = dataSources.getSystemCallLogDataSource(); - String dataSourceName = getName(systemCallLogDataSource); + for (CallLogDataSource dataSource : dataSources.getDataSourcesExcludingSystemCallLog()) { + dataSourceName = getName(dataSource); LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "filling %s", dataSourceName); - long startTime = System.currentTimeMillis(); - systemCallLogDataSource.fill(appContext, database, lastRebuildTimeMillis, mutations); + startTime = System.currentTimeMillis(); + dataSource.fill(appContext, mutations); LogUtil.i( - "RefreshAnnotatedCallLogWorker.rebuild", + "CallLogFramework.rebuild", "%s.fill took: %dms", dataSourceName, System.currentTimeMillis() - startTime); - - for (CallLogDataSource dataSource : dataSources.getDataSourcesExcludingSystemCallLog()) { - dataSourceName = getName(dataSource); - LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "filling %s", dataSourceName); - startTime = System.currentTimeMillis(); - dataSource.fill(appContext, database, lastRebuildTimeMillis, mutations); - LogUtil.i( - "CallLogFramework.rebuild", - "%s.fill took: %dms", - dataSourceName, - System.currentTimeMillis() - startTime); - } - LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "applying mutations to database"); - startTime = System.currentTimeMillis(); - mutations.applyToDatabase(database); - LogUtil.i( - "RefreshAnnotatedCallLogWorker.rebuild", - "applyToDatabase took: %dms", - System.currentTimeMillis() - startTime); } + LogUtil.i("RefreshAnnotatedCallLogWorker.rebuild", "applying mutations to database"); + startTime = System.currentTimeMillis(); + CallLogDatabaseComponent.get(appContext) + .mutationApplier() + .applyToDatabase(mutations, appContext); + LogUtil.i( + "RefreshAnnotatedCallLogWorker.rebuild", + "applyToDatabase took: %dms", + System.currentTimeMillis() - startTime); SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(appContext); sharedPreferences .edit() .putBoolean(CallLogFramework.PREF_FORCE_REBUILD, false) - .putLong(CallLogFramework.PREF_LAST_REBUILD_TIMESTAMP_MILLIS, System.currentTimeMillis()) .commit(); } diff --git a/java/com/android/dialer/calllog/database/AndroidManifest.xml b/java/com/android/dialer/calllog/database/AndroidManifest.xml new file mode 100644 index 000000000..396a6d9a1 --- /dev/null +++ b/java/com/android/dialer/calllog/database/AndroidManifest.xml @@ -0,0 +1,28 @@ +<!-- + ~ 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 + --> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.dialer.calllog.database"> + + <application> + + <provider + android:authorities="com.android.dialer.annotatedcalllog" + android:exported="false" + android:multiprocess="false" + android:name=".AnnotatedCallLogContentProvider"/> + + </application> +</manifest> diff --git a/java/com/android/dialer/calllog/database/AnnotatedCallLog.java b/java/com/android/dialer/calllog/database/AnnotatedCallLog.java deleted file mode 100644 index 7dca44a60..000000000 --- a/java/com/android/dialer/calllog/database/AnnotatedCallLog.java +++ /dev/null @@ -1,53 +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.calllog.database; - -import android.content.Context; -import android.database.sqlite.SQLiteDatabase; -import android.support.annotation.WorkerThread; -import com.android.dialer.common.Assert; - -/** Static methods and constants for interacting with the annotated call log table. */ -public final class AnnotatedCallLog { - - private static final String DATABASE_NAME = "annotated_call_log.db"; - - public static final String TABLE_NAME = "AnnotatedCallLog"; - - /** Column names for the annotated call log table. */ - public static final class Columns { - public static final String ID = "_id"; - public static final String TIMESTAMP = "timestamp"; - public static final String CONTACT_NAME = "contact_name"; - } - - private AnnotatedCallLog() {} - - @WorkerThread - public static SQLiteDatabase getWritableDatabase(Context appContext) { - Assert.isWorkerThread(); - - return new AnnotatedCallLogDatabaseHelper(appContext, DATABASE_NAME).getWritableDatabase(); - } - - @WorkerThread - public static SQLiteDatabase getReadableDatabase(Context appContext) { - Assert.isWorkerThread(); - - return new AnnotatedCallLogDatabaseHelper(appContext, DATABASE_NAME).getReadableDatabase(); - } -} diff --git a/java/com/android/dialer/calllog/database/AnnotatedCallLogContentProvider.java b/java/com/android/dialer/calllog/database/AnnotatedCallLogContentProvider.java new file mode 100644 index 000000000..a9c0d36b0 --- /dev/null +++ b/java/com/android/dialer/calllog/database/AnnotatedCallLogContentProvider.java @@ -0,0 +1,310 @@ +/* + * 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.calllog.database; + +import android.annotation.TargetApi; +import android.content.ContentProvider; +import android.content.ContentProviderOperation; +import android.content.ContentProviderResult; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.OperationApplicationException; +import android.content.UriMatcher; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteQueryBuilder; +import android.net.Uri; +import android.os.Build; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.CoalescedAnnotatedCallLog; +import com.android.dialer.common.Assert; +import com.android.dialer.common.LogUtil; +import java.util.ArrayList; + +/** {@link ContentProvider} for the annotated call log. */ +public class AnnotatedCallLogContentProvider extends ContentProvider { + + private static final int ANNOTATED_CALL_LOG_TABLE_CODE = 1; + private static final int ANNOTATED_CALL_LOG_TABLE_ID_CODE = 2; + private static final int COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE = 3; + + private static final UriMatcher uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); + + static { + uriMatcher.addURI( + AnnotatedCallLogContract.AUTHORITY, AnnotatedCallLog.TABLE, ANNOTATED_CALL_LOG_TABLE_CODE); + uriMatcher.addURI( + AnnotatedCallLogContract.AUTHORITY, + AnnotatedCallLog.TABLE + "/#", + ANNOTATED_CALL_LOG_TABLE_ID_CODE); + uriMatcher.addURI( + AnnotatedCallLogContract.AUTHORITY, + CoalescedAnnotatedCallLog.TABLE, + COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE); + } + + private AnnotatedCallLogDatabaseHelper databaseHelper; + private Coalescer coalescer; + + private final ThreadLocal<Boolean> applyingBatch = new ThreadLocal<>(); + + /** Ensures that only a single notification is generated from {@link #applyBatch(ArrayList)}. */ + private boolean isApplyingBatch() { + return applyingBatch.get() != null && applyingBatch.get(); + } + + @Override + public boolean onCreate() { + databaseHelper = new AnnotatedCallLogDatabaseHelper(getContext()); + coalescer = CallLogDatabaseComponent.get(getContext()).coalescer(); + return true; + } + + @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources + @Nullable + @Override + public Cursor query( + @NonNull Uri uri, + @Nullable String[] projection, + @Nullable String selection, + @Nullable String[] selectionArgs, + @Nullable String sortOrder) { + SQLiteDatabase db = databaseHelper.getReadableDatabase(); + SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); + queryBuilder.setTables(AnnotatedCallLog.TABLE); + int match = uriMatcher.match(uri); + switch (match) { + case ANNOTATED_CALL_LOG_TABLE_ID_CODE: + queryBuilder.appendWhere(AnnotatedCallLog._ID + "=" + ContentUris.parseId(uri)); + // fall through + case ANNOTATED_CALL_LOG_TABLE_CODE: + Cursor cursor = + queryBuilder.query(db, projection, selection, selectionArgs, null, null, sortOrder); + if (cursor != null) { + cursor.setNotificationUri( + getContext().getContentResolver(), AnnotatedCallLog.CONTENT_URI); + } else { + LogUtil.w("AnnotatedCallLogContentProvider.query", "cursor was null"); + } + return cursor; + case COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE: + Assert.checkArgument(projection == null, "projection not supported for coalesced call log"); + Assert.checkArgument(selection == null, "selection not supported for coalesced call log"); + Assert.checkArgument( + selectionArgs == null, "selection args not supported for coalesced call log"); + Assert.checkArgument(sortOrder == null, "sort order not supported for coalesced call log"); + try (Cursor allAnnotatedCallLogRows = + queryBuilder.query( + db, null, null, null, null, null, AnnotatedCallLog.TIMESTAMP + " DESC")) { + Cursor coalescedRows = coalescer.coalesce(allAnnotatedCallLogRows); + coalescedRows.setNotificationUri( + getContext().getContentResolver(), CoalescedAnnotatedCallLog.CONTENT_URI); + return coalescedRows; + } + default: + throw new IllegalArgumentException("Unknown uri: " + uri); + } + } + + @Nullable + @Override + public String getType(@NonNull Uri uri) { + return AnnotatedCallLog.CONTENT_ITEM_TYPE; + } + + @Nullable + @Override + public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) { + // Javadoc states values is not nullable, even though it is annotated as such (b/38123194)! + Assert.checkArgument(values != null); + + SQLiteDatabase database = databaseHelper.getWritableDatabase(); + int match = uriMatcher.match(uri); + switch (match) { + case ANNOTATED_CALL_LOG_TABLE_CODE: + Assert.checkArgument( + values.get(AnnotatedCallLog._ID) != null, "You must specify an _ID when inserting"); + break; + case ANNOTATED_CALL_LOG_TABLE_ID_CODE: + Long idFromUri = ContentUris.parseId(uri); + Long idFromValues = values.getAsLong(AnnotatedCallLog._ID); + Assert.checkArgument( + idFromValues == null || idFromValues.equals(idFromUri), + "_ID from values %d does not match ID from URI: %s", + idFromValues, + uri); + if (idFromValues == null) { + values.put(AnnotatedCallLog._ID, idFromUri); + } + break; + case COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE: + throw new UnsupportedOperationException("coalesced call log does not support inserting"); + default: + throw new IllegalArgumentException("Unknown uri: " + uri); + } + long id = database.insert(AnnotatedCallLog.TABLE, null, values); + if (id < 0) { + LogUtil.w( + "AnnotatedCallLogContentProvider.insert", + "error inserting row with id: %d", + values.get(AnnotatedCallLog._ID)); + return null; + } + Uri insertedUri = ContentUris.withAppendedId(AnnotatedCallLog.CONTENT_URI, id); + if (!isApplyingBatch()) { + notifyChange(insertedUri); + } + return insertedUri; + } + + @Override + public int delete( + @NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) { + SQLiteDatabase database = databaseHelper.getWritableDatabase(); + final int match = uriMatcher.match(uri); + switch (match) { + case ANNOTATED_CALL_LOG_TABLE_CODE: + break; + case ANNOTATED_CALL_LOG_TABLE_ID_CODE: + Assert.checkArgument(selection == null, "Do not specify selection when deleting by ID"); + Assert.checkArgument( + selectionArgs == null, "Do not specify selection args when deleting by ID"); + long id = ContentUris.parseId(uri); + Assert.checkArgument(id != -1, "error parsing id from uri %s", uri); + selection = getSelectionWithId(id); + break; + case COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE: + throw new UnsupportedOperationException("coalesced call log does not support deleting"); + default: + throw new IllegalArgumentException("Unknown uri: " + uri); + } + int rows = database.delete(AnnotatedCallLog.TABLE, selection, selectionArgs); + if (rows > 0) { + if (!isApplyingBatch()) { + notifyChange(uri); + } + } else { + LogUtil.w("AnnotatedCallLogContentProvider.delete", "no rows deleted"); + } + return rows; + } + + @Override + public int update( + @NonNull Uri uri, + @Nullable ContentValues values, + @Nullable String selection, + @Nullable String[] selectionArgs) { + // Javadoc states values is not nullable, even though it is annotated as such (b/38123194)! + Assert.checkArgument(values != null); + + SQLiteDatabase database = databaseHelper.getWritableDatabase(); + int match = uriMatcher.match(uri); + switch (match) { + case ANNOTATED_CALL_LOG_TABLE_CODE: + break; + case ANNOTATED_CALL_LOG_TABLE_ID_CODE: + Assert.checkArgument( + !values.containsKey(AnnotatedCallLog._ID), "Do not specify _ID when updating by ID"); + Assert.checkArgument(selection == null, "Do not specify selection when updating by ID"); + Assert.checkArgument( + selectionArgs == null, "Do not specify selection args when updating by ID"); + selection = getSelectionWithId(ContentUris.parseId(uri)); + break; + case COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE: + throw new UnsupportedOperationException("coalesced call log does not support updating"); + default: + throw new IllegalArgumentException("Unknown uri: " + uri); + } + int rows = database.update(AnnotatedCallLog.TABLE, values, selection, selectionArgs); + if (rows > 0) { + if (!isApplyingBatch()) { + notifyChange(uri); + } + } else { + LogUtil.w("AnnotatedCallLogContentProvider.update", "no rows updated"); + } + return rows; + } + + /** + * {@inheritDoc} + * + * <p>Note: When applyBatch is used with the AnnotatedCallLog, only a single notification for the + * content URI is generated, not individual notifications for each affected URI. + */ + @NonNull + @Override + public ContentProviderResult[] applyBatch(@NonNull ArrayList<ContentProviderOperation> operations) + throws OperationApplicationException { + ContentProviderResult[] results = new ContentProviderResult[operations.size()]; + if (operations.isEmpty()) { + return results; + } + + SQLiteDatabase database = databaseHelper.getWritableDatabase(); + try { + applyingBatch.set(true); + database.beginTransaction(); + for (int i = 0; i < operations.size(); i++) { + ContentProviderOperation operation = operations.get(i); + int match = uriMatcher.match(operation.getUri()); + switch (match) { + case ANNOTATED_CALL_LOG_TABLE_CODE: + case ANNOTATED_CALL_LOG_TABLE_ID_CODE: + // These are allowed values, continue. + break; + case COALESCED_ANNOTATED_CALL_LOG_TABLE_CODE: + throw new UnsupportedOperationException( + "coalesced call log does not support applyBatch"); + default: + throw new IllegalArgumentException("Unknown uri: " + operation.getUri()); + } + ContentProviderResult result = operation.apply(this, results, i); + if (operations.get(i).isInsert()) { + if (result.uri == null) { + throw new OperationApplicationException("error inserting row"); + } + } else if (result.count == 0) { + throw new OperationApplicationException("error updating or deleting rows"); + } + results[i] = result; + } + database.setTransactionSuccessful(); + } finally { + applyingBatch.set(false); + database.endTransaction(); + } + notifyChange(AnnotatedCallLog.CONTENT_URI); + return results; + } + + private String getSelectionWithId(long id) { + return AnnotatedCallLog._ID + "=" + id; + } + + private void notifyChange(Uri uri) { + getContext().getContentResolver().notifyChange(uri, null); + // Any time the annotated call log changes, we need to also notify observers of the + // CoalescedAnnotatedCallLog, since that is just a massaged in-memory view of the real annotated + // call log table. + getContext().getContentResolver().notifyChange(CoalescedAnnotatedCallLog.CONTENT_URI, null); + } +} diff --git a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java index 7b28e5505..3cca639ff 100644 --- a/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java +++ b/java/com/android/dialer/calllog/database/AnnotatedCallLogDatabaseHelper.java @@ -16,28 +16,25 @@ package com.android.dialer.calllog.database; -import static com.android.dialer.calllog.database.AnnotatedCallLog.Columns.CONTACT_NAME; -import static com.android.dialer.calllog.database.AnnotatedCallLog.Columns.ID; -import static com.android.dialer.calllog.database.AnnotatedCallLog.Columns.TIMESTAMP; - import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog; import com.android.dialer.common.LogUtil; /** {@link SQLiteOpenHelper} for the AnnotatedCallLog database. */ class AnnotatedCallLogDatabaseHelper extends SQLiteOpenHelper { - AnnotatedCallLogDatabaseHelper(Context appContext, String databaseName) { - super(appContext, databaseName, null, 1); + AnnotatedCallLogDatabaseHelper(Context appContext) { + super(appContext, "annotated_call_log.db", null, 1); } private static final String CREATE_SQL = new StringBuilder() - .append("create table if not exists " + AnnotatedCallLog.TABLE_NAME + " (") - .append(ID + " integer primary key, ") - .append(TIMESTAMP + " integer, ") - .append(CONTACT_NAME + " string") + .append("create table if not exists " + AnnotatedCallLog.TABLE + " (") + .append(AnnotatedCallLog._ID + " integer primary key, ") + .append(AnnotatedCallLog.TIMESTAMP + " integer, ") + .append(AnnotatedCallLog.CONTACT_NAME + " string") .append(");") .toString(); diff --git a/java/com/android/dialer/calllog/database/CallLogDatabaseComponent.java b/java/com/android/dialer/calllog/database/CallLogDatabaseComponent.java new file mode 100644 index 000000000..ede46911c --- /dev/null +++ b/java/com/android/dialer/calllog/database/CallLogDatabaseComponent.java @@ -0,0 +1,40 @@ +/* + * 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.calllog.database; + +import android.content.Context; +import com.android.dialer.inject.HasRootComponent; +import dagger.Subcomponent; + +/** Dagger component for database package. */ +@Subcomponent +public abstract class CallLogDatabaseComponent { + + public abstract Coalescer coalescer(); + + public abstract MutationApplier mutationApplier(); + + public static CallLogDatabaseComponent get(Context context) { + return ((CallLogDatabaseComponent.HasComponent) + ((HasRootComponent) context.getApplicationContext()).component()) + .callLogDatabaseComponent(); + } + + /** Used to refer to the root application component. */ + public interface HasComponent { + CallLogDatabaseComponent callLogDatabaseComponent(); + } +} diff --git a/java/com/android/dialer/calllog/database/CallLogMutations.java b/java/com/android/dialer/calllog/database/CallLogMutations.java deleted file mode 100644 index ec020c6af..000000000 --- a/java/com/android/dialer/calllog/database/CallLogMutations.java +++ /dev/null @@ -1,58 +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.calllog.database; - -import android.content.ContentValues; -import android.database.sqlite.SQLiteDatabase; -import android.support.annotation.WorkerThread; -import android.util.ArrayMap; -import android.util.ArraySet; -import com.android.dialer.common.Assert; - -/** A collection of mutations to the annotated call log. */ -public final class CallLogMutations { - - private final ArrayMap<Integer, ContentValues> inserts = new ArrayMap<>(); - private final ArrayMap<Integer, ContentValues> updates = new ArrayMap<>(); - private final ArraySet<Integer> deletes = new ArraySet<>(); - - /** @param contentValues an entire row not including the ID */ - public void insert(int id, ContentValues contentValues) { - inserts.put(id, contentValues); - } - - /** @param contentValues the specific columns to update, not including the ID. */ - public void update(int id, ContentValues contentValues) { - // TODO: Consider merging automatically. - updates.put(id, contentValues); - } - - public void delete(int id) { - deletes.add(id); - } - - public boolean isEmpty() { - return inserts.isEmpty() && updates.isEmpty() && deletes.isEmpty(); - } - - @WorkerThread - public void applyToDatabase(SQLiteDatabase writableDatabase) { - Assert.isWorkerThread(); - - // TODO: Implementation. - } -} diff --git a/java/com/android/dialer/calllog/database/Coalescer.java b/java/com/android/dialer/calllog/database/Coalescer.java new file mode 100644 index 000000000..e3dfb7ece --- /dev/null +++ b/java/com/android/dialer/calllog/database/Coalescer.java @@ -0,0 +1,142 @@ +/* + * 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.calllog.database; + +import android.content.ContentValues; +import android.database.Cursor; +import android.database.DatabaseUtils; +import android.database.MatrixCursor; +import android.support.annotation.NonNull; +import android.support.annotation.WorkerThread; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.CoalescedAnnotatedCallLog; +import com.android.dialer.calllog.datasources.CallLogDataSource; +import com.android.dialer.calllog.datasources.DataSources; +import com.android.dialer.common.Assert; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import javax.inject.Inject; + +/** + * Coalesces call log rows by combining some adjacent rows. + * + * <p>Applies the business which logic which determines which adjacent rows should be coalasced, and + * then delegates to each data source to determine how individual columns should be aggregated. + */ +public class Coalescer { + + private final DataSources dataSources; + + @Inject + Coalescer(DataSources dataSources) { + this.dataSources = dataSources; + } + + /** + * Reads the entire {@link AnnotatedCallLog} database into memory from the provided {@code + * allAnnotatedCallLog} parameter and then builds and returns a new {@link MatrixCursor} which is + * the result of combining adjacent rows which should be collapsed for display purposes. + * + * @param allAnnotatedCallLogRowsSortedByTimestampDesc all {@link AnnotatedCallLog} rows, sorted + * by timestamp descending + * @return a new {@link MatrixCursor} containing the {@link CoalescedAnnotatedCallLog} rows to + * display + */ + @WorkerThread + @NonNull + Cursor coalesce(@NonNull Cursor allAnnotatedCallLogRowsSortedByTimestampDesc) { + Assert.isWorkerThread(); + + // Note: This method relies on rowsShouldBeCombined to determine which rows should be combined, + // but delegates to data sources to actually aggregate column values. + + MatrixCursor allCoalescedRowsMatrixCursor = + new MatrixCursor( + CoalescedAnnotatedCallLog.ALL_COLUMNS, + Assert.isNotNull(allAnnotatedCallLogRowsSortedByTimestampDesc).getCount()); + + if (allAnnotatedCallLogRowsSortedByTimestampDesc.moveToFirst()) { + int coalescedRowId = 0; + + List<ContentValues> currentRowGroup = new ArrayList<>(); + + do { + ContentValues currentRow = new ContentValues(); + DatabaseUtils.cursorRowToContentValues( + allAnnotatedCallLogRowsSortedByTimestampDesc, currentRow); + + if (currentRowGroup.isEmpty()) { + currentRowGroup.add(currentRow); + continue; + } + + ContentValues previousRow = currentRowGroup.get(currentRowGroup.size() - 1); + + if (!rowsShouldBeCombined(previousRow, currentRow)) { + ContentValues coalescedRow = coalesceRowsForAllDataSources(currentRowGroup); + coalescedRow.put(CoalescedAnnotatedCallLog.NUMBER_CALLS, currentRowGroup.size()); + addContentValuesToMatrixCursor( + coalescedRow, allCoalescedRowsMatrixCursor, coalescedRowId++); + currentRowGroup.clear(); + } + currentRowGroup.add(currentRow); + } while (allAnnotatedCallLogRowsSortedByTimestampDesc.moveToNext()); + + // Deal with leftover rows. + ContentValues coalescedRow = coalesceRowsForAllDataSources(currentRowGroup); + coalescedRow.put(CoalescedAnnotatedCallLog.NUMBER_CALLS, currentRowGroup.size()); + addContentValuesToMatrixCursor(coalescedRow, allCoalescedRowsMatrixCursor, coalescedRowId); + } + return allCoalescedRowsMatrixCursor; + } + + /** + * @param row1 a row from {@link AnnotatedCallLog} + * @param row2 a row from {@link AnnotatedCallLog} + */ + private static boolean rowsShouldBeCombined(ContentValues row1, ContentValues row2) { + // TODO: Real implementation. + return row1.get(AnnotatedCallLog.TIMESTAMP).equals(row2.get(AnnotatedCallLog.TIMESTAMP)); + } + + /** + * Delegates to data sources to aggregate individual columns to create a new coalesced row. + * + * @param individualRows {@link AnnotatedCallLog} rows sorted by timestamp descending + * @return a {@link CoalescedAnnotatedCallLog} row + */ + private ContentValues coalesceRowsForAllDataSources(List<ContentValues> individualRows) { + ContentValues coalescedValues = new ContentValues(); + for (CallLogDataSource dataSource : dataSources.getDataSourcesIncludingSystemCallLog()) { + coalescedValues.putAll(dataSource.coalesce(individualRows)); + } + return coalescedValues; + } + + /** + * @param contentValues a {@link CoalescedAnnotatedCallLog} row + * @param matrixCursor represents {@link CoalescedAnnotatedCallLog} + */ + private static void addContentValuesToMatrixCursor( + ContentValues contentValues, MatrixCursor matrixCursor, int rowId) { + MatrixCursor.RowBuilder rowBuilder = matrixCursor.newRow(); + rowBuilder.add(CoalescedAnnotatedCallLog._ID, rowId); + for (Map.Entry<String, Object> entry : contentValues.valueSet()) { + rowBuilder.add(entry.getKey(), entry.getValue()); + } + } +} diff --git a/java/com/android/dialer/calllog/database/MutationApplier.java b/java/com/android/dialer/calllog/database/MutationApplier.java new file mode 100644 index 000000000..21c8a507d --- /dev/null +++ b/java/com/android/dialer/calllog/database/MutationApplier.java @@ -0,0 +1,105 @@ +/* + * 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.calllog.database; + +import android.content.ContentProviderOperation; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.content.OperationApplicationException; +import android.os.RemoteException; +import android.support.annotation.WorkerThread; +import android.text.TextUtils; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog; +import com.android.dialer.calllog.datasources.CallLogMutations; +import com.android.dialer.common.Assert; +import com.android.dialer.common.LogUtil; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Map.Entry; +import javax.inject.Inject; + +/** Applies {@link CallLogMutations} to the annotated call log. */ +public class MutationApplier { + + @Inject + MutationApplier() {} + + /** Applies the provided {@link CallLogMutations} to the annotated call log. */ + @WorkerThread + public void applyToDatabase(CallLogMutations mutations, Context appContext) + throws RemoteException, OperationApplicationException { + Assert.isWorkerThread(); + + if (mutations.isEmpty()) { + return; + } + + ArrayList<ContentProviderOperation> operations = new ArrayList<>(); + + if (!mutations.getInserts().isEmpty()) { + LogUtil.i( + "CallLogMutations.applyToDatabase", "inserting %d rows", mutations.getInserts().size()); + for (Entry<Long, ContentValues> entry : mutations.getInserts().entrySet()) { + long id = entry.getKey(); + ContentValues contentValues = entry.getValue(); + operations.add( + ContentProviderOperation.newInsert( + ContentUris.withAppendedId(AnnotatedCallLog.CONTENT_URI, id)) + .withValues(contentValues) + .build()); + } + } + + if (!mutations.getUpdates().isEmpty()) { + LogUtil.i( + "CallLogMutations.applyToDatabase", "updating %d rows", mutations.getUpdates().size()); + for (Entry<Long, ContentValues> entry : mutations.getUpdates().entrySet()) { + long id = entry.getKey(); + ContentValues contentValues = entry.getValue(); + operations.add( + ContentProviderOperation.newUpdate( + ContentUris.withAppendedId(AnnotatedCallLog.CONTENT_URI, id)) + .withValues(contentValues) + .build()); + } + } + + if (!mutations.getDeletes().isEmpty()) { + LogUtil.i( + "CallLogMutations.applyToDatabase", "deleting %d rows", mutations.getDeletes().size()); + String[] questionMarks = new String[mutations.getDeletes().size()]; + Arrays.fill(questionMarks, "?"); + + String whereClause = + (AnnotatedCallLog._ID + " in (") + TextUtils.join(",", questionMarks) + ")"; + + String[] whereArgs = new String[mutations.getDeletes().size()]; + int i = 0; + for (long id : mutations.getDeletes()) { + whereArgs[i++] = String.valueOf(id); + } + + operations.add( + ContentProviderOperation.newDelete(AnnotatedCallLog.CONTENT_URI) + .withSelection(whereClause, whereArgs) + .build()); + } + + appContext.getContentResolver().applyBatch(AnnotatedCallLogContract.AUTHORITY, operations); + } +} diff --git a/java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java b/java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java new file mode 100644 index 000000000..8b3b0a852 --- /dev/null +++ b/java/com/android/dialer/calllog/database/contract/AnnotatedCallLogContract.java @@ -0,0 +1,114 @@ +/* + * 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.calllog.database.contract; + +import android.net.Uri; +import android.provider.BaseColumns; +import com.android.dialer.constants.Constants; +import java.util.Arrays; + +/** Contract for the AnnotatedCallLog content provider. */ +public class AnnotatedCallLogContract { + public static final String AUTHORITY = Constants.get().getAnnotatedCallLogProviderAuthority(); + + public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY); + + /** + * Columns shared by {@link AnnotatedCallLog} and {@link CoalescedAnnotatedCallLog}. + * + * <p>When adding columns be sure to update {@link #ALL_COMMON_COLUMNS}. + */ + interface CommonColumns extends BaseColumns { + + /** + * Timestamp of the entry, in milliseconds. + * + * <p>Type: INTEGER (long) + */ + String TIMESTAMP = "timestamp"; + + /** + * Name to display for the entry. + * + * <p>Type: TEXT + */ + String CONTACT_NAME = "contact_name"; + + String[] ALL_COMMON_COLUMNS = new String[] {_ID, TIMESTAMP, CONTACT_NAME}; + } + + /** + * AnnotatedCallLog table. + * + * <p>This contains all of the non-coalesced call log entries. + */ + public static final class AnnotatedCallLog implements CommonColumns { + + public static final String TABLE = "AnnotatedCallLog"; + + /** The content URI for this table. */ + public static final Uri CONTENT_URI = + Uri.withAppendedPath(AnnotatedCallLogContract.CONTENT_URI, TABLE); + + /** The MIME type of a {@link android.content.ContentProvider#getType(Uri)} single entry. */ + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/annotated_call_log"; + } + + /** + * Coalesced view of the AnnotatedCallLog table. + * + * <p>This is an in-memory view of the {@link AnnotatedCallLog} with some adjacent entries + * collapsed. + * + * <p>When adding columns be sure to update {@link #COLUMNS_ONLY_IN_COALESCED_CALL_LOG}. + */ + public static final class CoalescedAnnotatedCallLog implements CommonColumns { + + public static final String TABLE = "CoalescedAnnotatedCallLog"; + + /** The content URI for this table. */ + public static final Uri CONTENT_URI = + Uri.withAppendedPath(AnnotatedCallLogContract.CONTENT_URI, TABLE); + + /** The MIME type of a {@link android.content.ContentProvider#getType(Uri)} single entry. */ + public static final String CONTENT_ITEM_TYPE = + "vnd.android.cursor.item/coalesced_annotated_call_log"; + + /** + * Number of AnnotatedCallLog rows represented by this CoalescedAnnotatedCallLog row. + * + * <p>Type: INTEGER + */ + public static final String NUMBER_CALLS = "number_calls"; + + /** + * Columns that are only in the {@link CoalescedAnnotatedCallLog} but not the {@link + * AnnotatedCallLog}. + */ + private static final String[] COLUMNS_ONLY_IN_COALESCED_CALL_LOG = new String[] {NUMBER_CALLS}; + + /** All columns in the {@link CoalescedAnnotatedCallLog}. */ + public static final String[] ALL_COLUMNS = + concat(ALL_COMMON_COLUMNS, COLUMNS_ONLY_IN_COALESCED_CALL_LOG); + } + + private static String[] concat(String[] first, String[] second) { + String[] result = Arrays.copyOf(first, first.length + second.length); + System.arraycopy(second, 0, result, first.length, second.length); + return result; + } +} diff --git a/java/com/android/dialer/calllog/datasources/CallLogDataSource.java b/java/com/android/dialer/calllog/datasources/CallLogDataSource.java index 13d0b842d..3fff3ba53 100644 --- a/java/com/android/dialer/calllog/datasources/CallLogDataSource.java +++ b/java/com/android/dialer/calllog/datasources/CallLogDataSource.java @@ -16,13 +16,39 @@ package com.android.dialer.calllog.datasources; +import android.content.ContentValues; import android.content.Context; -import android.database.sqlite.SQLiteDatabase; import android.support.annotation.MainThread; import android.support.annotation.WorkerThread; -import com.android.dialer.calllog.database.CallLogMutations; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract; +import java.util.List; -/** A source of data for one or more columns in the annotated call log. */ +/** + * A source of data for one or more columns in the annotated call log. + * + * <p>Data sources have three lifecycle operations, which are always called on the same thread and + * in the same order for a particular "checkDirtyAndRebuild" cycle. However, not all operations are + * always invoked. + * + * <ol> + * <li>{@link #isDirty(Context)}: Invoked only if the framework doesn't yet know if a rebuild is + * necessary. + * <li>{@link #fill(Context, CallLogMutations)}: Invoked only if the framework determined a + * rebuild is necessary. + * <li>{@link #onSuccessfulFill(Context)}: Invoked if and only if fill was previously called and + * the mutations provided by the previous fill operation succeeded in being applied. + * </ol> + * + * <p>Because {@link #isDirty(Context)} is not always invoked, {@link #fill(Context, + * CallLogMutations)} shouldn't rely on any state saved during {@link #isDirty(Context)}. It + * <em>is</em> safe to assume that {@link #onSuccessfulFill(Context)} refers to the previous fill + * operation. + * + * <p>The same data source objects may be reused across multiple checkDirtyAndRebuild cycles, so + * implementors should take care to clear any internal state at the start of a new cycle. + * + * <p>{@link #coalesce(List)} may be called from any worker thread at any time. + */ public interface CallLogDataSource { /** @@ -35,6 +61,8 @@ public interface CallLogDataSource { * <p>Most implementations of this method will rely on some sort of last modified timestamp. If it * is impossible for a data source to be modified without the dialer application being notified, * this method may immediately return false. + * + * @see CallLogDataSource class doc for complete lifecyle information */ @WorkerThread boolean isDirty(Context appContext); @@ -43,16 +71,39 @@ public interface CallLogDataSource { * Computes the set of mutations necessary to update the annotated call log with respect to this * data source. * + * @see CallLogDataSource class doc for complete lifecyle information * @param mutations the set of mutations which this method should contribute to. Note that it may * contain inserts from the system call log, and these inserts should be modified by each data * source. */ @WorkerThread - void fill( - Context appContext, - SQLiteDatabase readableDatabase, - long lastRebuildTimeMillis, - CallLogMutations mutations); + void fill(Context appContext, CallLogMutations mutations); + + /** + * Called after database mutations have been applied to all data sources. This is useful for + * saving state such as the timestamp of the last row processed in an underlying database. Note + * that all mutations across all data sources are applied in a single transaction. + * + * @see CallLogDataSource class doc for complete lifecyle information + */ + @WorkerThread + void onSuccessfulFill(Context appContext); + + /** + * Combines raw annotated call log rows into a single coalesced row. + * + * <p>May be called by any worker thread at any time so implementations should take care to be + * threadsafe. (Ideally no state should be required to implement this.) + * + * @param individualRowsSortedByTimestampDesc group of fully populated rows from {@link + * AnnotatedCallLogContract.AnnotatedCallLog} which need to be combined for display purposes. + * This method should not modify this list. + * @return a partial {@link AnnotatedCallLogContract.CoalescedAnnotatedCallLog} row containing + * only columns which this data source is responsible for, which is the result of aggregating + * {@code individualRowsSortedByTimestampDesc}. + */ + @WorkerThread + ContentValues coalesce(List<ContentValues> individualRowsSortedByTimestampDesc); @MainThread void registerContentObservers( diff --git a/java/com/android/dialer/calllog/datasources/CallLogMutations.java b/java/com/android/dialer/calllog/datasources/CallLogMutations.java new file mode 100644 index 000000000..148601d68 --- /dev/null +++ b/java/com/android/dialer/calllog/datasources/CallLogMutations.java @@ -0,0 +1,110 @@ +/* + * 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.calllog.datasources; + +import android.content.ContentValues; +import android.util.ArrayMap; +import android.util.ArraySet; +import com.android.dialer.common.Assert; + +/** A collection of mutations to the annotated call log. */ +public final class CallLogMutations { + + private final ArrayMap<Long, ContentValues> inserts = new ArrayMap<>(); + private final ArrayMap<Long, ContentValues> updates = new ArrayMap<>(); + private final ArraySet<Long> deletes = new ArraySet<>(); + + /** + * @param contentValues an entire row not including the ID + * @throws IllegalStateException if this {@link CallLogMutations} already contains an insert, + * update, or delete with the provided id + */ + public void insert(long id, ContentValues contentValues) { + Assert.checkArgument(!inserts.containsKey(id), "Can't insert row already scheduled for insert"); + Assert.checkArgument(!updates.containsKey(id), "Can't insert row scheduled for update"); + Assert.checkArgument(!deletes.contains(id), "Can't insert row scheduled for delete"); + + inserts.put(id, contentValues); + } + + /** + * Stores a database update using the provided ID and content values. If this {@link + * CallLogMutations} object already contains an update with the specified ID, the existing content + * values are merged with the provided ones, with the provided ones overwriting the existing ones + * for values with the same key. + * + * @param contentValues the specific columns to update, not including the ID. + * @throws IllegalStateException if this {@link CallLogMutations} already contains an insert or + * delete with the provided id + */ + public void update(long id, ContentValues contentValues) { + Assert.checkArgument(!inserts.containsKey(id), "Can't update row scheduled for insert"); + Assert.checkArgument(!deletes.contains(id), "Can't delete row scheduled for delete"); + + ContentValues existingContentValues = updates.get(id); + if (existingContentValues != null) { + existingContentValues.putAll(contentValues); + } else { + updates.put(id, contentValues); + } + } + + /** + * @throws IllegalStateException if this {@link CallLogMutations} already contains an insert, + * update, or delete with the provided id + */ + public void delete(long id) { + Assert.checkArgument(!inserts.containsKey(id), "Can't delete row scheduled for insert"); + Assert.checkArgument(!updates.containsKey(id), "Can't delete row scheduled for update"); + Assert.checkArgument(!deletes.contains(id), "Can't delete row already scheduled for delete"); + + deletes.add(id); + } + + public boolean isEmpty() { + return inserts.isEmpty() && updates.isEmpty() && deletes.isEmpty(); + } + + /** + * Get the pending inserts. + * + * @return the pending inserts where the key is the annotated call log database ID and the values + * are values to be inserted (not including the ID) + */ + public ArrayMap<Long, ContentValues> getInserts() { + return inserts; + } + + /** + * Get the pending updates. + * + * @return the pending updates where the key is the annotated call log database ID and the values + * are values to be updated (not including the ID) + */ + public ArrayMap<Long, ContentValues> getUpdates() { + return updates; + } + + /** + * Get the pending deletes. + * + * @return the annotated call log database IDs corresponding to the rows to be deleted + */ + public ArraySet<Long> getDeletes() { + return deletes; + } +} diff --git a/java/com/android/dialer/calllog/DataSources.java b/java/com/android/dialer/calllog/datasources/DataSources.java index 21d190167..911ca3fa3 100644 --- a/java/com/android/dialer/calllog/DataSources.java +++ b/java/com/android/dialer/calllog/datasources/DataSources.java @@ -14,14 +14,13 @@ * limitations under the License */ -package com.android.dialer.calllog; +package com.android.dialer.calllog.datasources; -import com.android.dialer.calllog.datasources.CallLogDataSource; import com.android.dialer.calllog.datasources.systemcalllog.SystemCallLogDataSource; import java.util.List; /** Immutable lists of data sources used to populate the annotated call log. */ -interface DataSources { +public interface DataSources { SystemCallLogDataSource getSystemCallLogDataSource(); diff --git a/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java b/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java index 355940f6a..e9538daab 100644 --- a/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java +++ b/java/com/android/dialer/calllog/datasources/contacts/ContactsDataSource.java @@ -16,13 +16,16 @@ package com.android.dialer.calllog.datasources.contacts; +import android.content.ContentValues; import android.content.Context; -import android.database.sqlite.SQLiteDatabase; import android.support.annotation.MainThread; import android.support.annotation.WorkerThread; -import com.android.dialer.calllog.database.CallLogMutations; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog; import com.android.dialer.calllog.datasources.CallLogDataSource; +import com.android.dialer.calllog.datasources.CallLogMutations; +import com.android.dialer.calllog.datasources.util.RowCombiner; import com.android.dialer.common.Assert; +import java.util.List; import javax.inject.Inject; /** Responsible for maintaining the contacts related columns in the annotated call log. */ @@ -44,13 +47,24 @@ public final class ContactsDataSource implements CallLogDataSource { @Override public void fill( Context appContext, - SQLiteDatabase readableDatabase, - long lastRebuildTimeMillis, CallLogMutations mutations) { Assert.isWorkerThread(); // TODO: Implementation. } + @Override + public void onSuccessfulFill(Context appContext) { + // TODO: Implementation. + } + + @Override + public ContentValues coalesce(List<ContentValues> individualRowsSortedByTimestampDesc) { + // TODO: Implementation. + return new RowCombiner(individualRowsSortedByTimestampDesc) + .useSingleValueString(AnnotatedCallLog.CONTACT_NAME) + .combine(); + } + @MainThread @Override public void registerContentObservers( diff --git a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java index ea6663fbe..be2df6043 100644 --- a/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java +++ b/java/com/android/dialer/calllog/datasources/systemcalllog/SystemCallLogDataSource.java @@ -16,28 +16,49 @@ package com.android.dialer.calllog.datasources.systemcalllog; +import android.Manifest.permission; +import android.annotation.TargetApi; +import android.content.ContentValues; import android.content.Context; import android.database.ContentObserver; -import android.database.sqlite.SQLiteDatabase; +import android.database.Cursor; import android.net.Uri; +import android.os.Build; import android.os.Handler; +import android.preference.PreferenceManager; import android.provider.CallLog; +import android.provider.CallLog.Calls; import android.support.annotation.MainThread; +import android.support.annotation.Nullable; +import android.support.annotation.VisibleForTesting; import android.support.annotation.WorkerThread; -import com.android.dialer.calllog.database.CallLogMutations; +import android.text.TextUtils; +import android.util.ArraySet; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.AnnotatedCallLog; import com.android.dialer.calllog.datasources.CallLogDataSource; +import com.android.dialer.calllog.datasources.CallLogMutations; +import com.android.dialer.calllog.datasources.util.RowCombiner; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.ThreadUtil; import com.android.dialer.util.PermissionsUtil; +import java.util.Arrays; +import java.util.List; +import java.util.Set; import javax.inject.Inject; /** * Responsible for defining the rows in the annotated call log and maintaining the columns in it * which are derived from the system call log. */ +@SuppressWarnings("MissingPermission") public class SystemCallLogDataSource implements CallLogDataSource { + @VisibleForTesting + static final String PREF_LAST_TIMESTAMP_PROCESSED = "systemCallLogLastTimestampProcessed"; + + @Nullable private Long lastTimestampProcessed; + @Inject public SystemCallLogDataSource() {} @@ -47,6 +68,8 @@ public class SystemCallLogDataSource implements CallLogDataSource { Context appContext, ContentObserverCallbacks contentObserverCallbacks) { Assert.isMainThread(); + LogUtil.enterBlock("SystemCallLogDataSource.registerContentObservers"); + if (!PermissionsUtil.hasCallLogReadPermissions(appContext)) { LogUtil.i("SystemCallLogDataSource.registerContentObservers", "no call log permissions"); return; @@ -77,17 +100,185 @@ public class SystemCallLogDataSource implements CallLogDataSource { @WorkerThread @Override - public void fill( - Context appContext, - SQLiteDatabase readableDatabase, - long lastRebuildTimeMillis, - CallLogMutations mutations) { + public void fill(Context appContext, CallLogMutations mutations) { Assert.isWorkerThread(); + lastTimestampProcessed = null; + + if (!PermissionsUtil.hasPermission(appContext, permission.READ_CALL_LOG)) { + LogUtil.i("SystemCallLogDataSource.fill", "no call log permissions"); + return; + } + // This data source should always run first so the mutations should always be empty. - Assert.checkState(mutations.isEmpty()); + Assert.checkArgument(mutations.isEmpty()); + + Set<Long> annotatedCallLogIds = getAnnotatedCallLogIds(appContext); + + LogUtil.i( + "SystemCallLogDataSource.fill", + "found %d existing annotated call log ids", + annotatedCallLogIds.size()); + + handleInsertsAndUpdates(appContext, mutations, annotatedCallLogIds); + handleDeletes(appContext, annotatedCallLogIds, mutations); + } + + @WorkerThread + @Override + public void onSuccessfulFill(Context appContext) { + // If a fill operation was a no-op, lastTimestampProcessed could still be null. + if (lastTimestampProcessed != null) { + PreferenceManager.getDefaultSharedPreferences(appContext) + .edit() + .putLong(PREF_LAST_TIMESTAMP_PROCESSED, lastTimestampProcessed) + .commit(); + } + } + + @Override + public ContentValues coalesce(List<ContentValues> individualRowsSortedByTimestampDesc) { + // TODO: Complete implementation. + return new RowCombiner(individualRowsSortedByTimestampDesc) + .useMostRecentLong(AnnotatedCallLog.TIMESTAMP) + .combine(); + } + + @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources + private void handleInsertsAndUpdates( + Context appContext, CallLogMutations mutations, Set<Long> existingAnnotatedCallLogIds) { + long previousTimestampProcessed = + PreferenceManager.getDefaultSharedPreferences(appContext) + .getLong(PREF_LAST_TIMESTAMP_PROCESSED, 0L); + + try (Cursor cursor = + appContext + .getContentResolver() + .query( + Calls.CONTENT_URI, // Excludes voicemail + new String[] {Calls._ID, Calls.DATE, Calls.LAST_MODIFIED}, + Calls.LAST_MODIFIED + " > ?", + new String[] {String.valueOf(previousTimestampProcessed)}, + Calls.LAST_MODIFIED + " DESC LIMIT 1000")) { + + if (cursor == null) { + LogUtil.e("SystemCallLogDataSource.handleInsertsAndUpdates", "null cursor"); + return; + } + + LogUtil.i( + "SystemCallLogDataSource.handleInsertsAndUpdates", + "found %d entries to insert/update", + cursor.getCount()); - // TODO: Implementation. + if (cursor.moveToFirst()) { + int idColumn = cursor.getColumnIndexOrThrow(Calls._ID); + int dateColumn = cursor.getColumnIndexOrThrow(Calls.DATE); + int lastModifiedColumn = cursor.getColumnIndexOrThrow(Calls.LAST_MODIFIED); + + // The cursor orders by LAST_MODIFIED DESC, so the first result is the most recent timestamp + // processed. + lastTimestampProcessed = cursor.getLong(lastModifiedColumn); + do { + long id = cursor.getLong(idColumn); + long date = cursor.getLong(dateColumn); + + ContentValues contentValues = new ContentValues(); + contentValues.put(AnnotatedCallLog.TIMESTAMP, date); + + if (existingAnnotatedCallLogIds.contains(id)) { + mutations.update(id, contentValues); + } else { + mutations.insert(id, contentValues); + } + } while (cursor.moveToNext()); + } // else no new results, do nothing. + } + } + + private static void handleDeletes( + Context appContext, Set<Long> existingAnnotatedCallLogIds, CallLogMutations mutations) { + Set<Long> systemCallLogIds = + getIdsFromSystemCallLogThatMatch(appContext, existingAnnotatedCallLogIds); + LogUtil.i( + "SystemCallLogDataSource.handleDeletes", + "found %d entries in system call log", + systemCallLogIds.size()); + Set<Long> idsInAnnotatedCallLogNoLongerInSystemCallLog = new ArraySet<>(); + idsInAnnotatedCallLogNoLongerInSystemCallLog.addAll(existingAnnotatedCallLogIds); + idsInAnnotatedCallLogNoLongerInSystemCallLog.removeAll(systemCallLogIds); + + LogUtil.i( + "SystemCallLogDataSource.handleDeletes", + "found %d call log entries to remove", + idsInAnnotatedCallLogNoLongerInSystemCallLog.size()); + + for (long id : idsInAnnotatedCallLogNoLongerInSystemCallLog) { + mutations.delete(id); + } + } + + @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources + private static Set<Long> getAnnotatedCallLogIds(Context appContext) { + ArraySet<Long> ids = new ArraySet<>(); + + try (Cursor cursor = + appContext + .getContentResolver() + .query( + AnnotatedCallLog.CONTENT_URI, + new String[] {AnnotatedCallLog._ID}, + null, + null, + null)) { + + if (cursor == null) { + LogUtil.e("SystemCallLogDataSource.getAnnotatedCallLogIds", "null cursor"); + return ids; + } + + if (cursor.moveToFirst()) { + int idColumn = cursor.getColumnIndexOrThrow(AnnotatedCallLog._ID); + do { + ids.add(cursor.getLong(idColumn)); + } while (cursor.moveToNext()); + } + } + return ids; + } + + @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources + private static Set<Long> getIdsFromSystemCallLogThatMatch( + Context appContext, Set<Long> matchingIds) { + ArraySet<Long> ids = new ArraySet<>(); + + String[] questionMarks = new String[matchingIds.size()]; + Arrays.fill(questionMarks, "?"); + String whereClause = (Calls._ID + " in (") + TextUtils.join(",", questionMarks) + ")"; + String[] whereArgs = new String[matchingIds.size()]; + int i = 0; + for (long id : matchingIds) { + whereArgs[i++] = String.valueOf(id); + } + + try (Cursor cursor = + appContext + .getContentResolver() + .query(Calls.CONTENT_URI, new String[] {Calls._ID}, whereClause, whereArgs, null)) { + + if (cursor == null) { + LogUtil.e("SystemCallLogDataSource.getIdsFromSystemCallLog", "null cursor"); + return ids; + } + + if (cursor.moveToFirst()) { + int idColumn = cursor.getColumnIndexOrThrow(Calls._ID); + do { + ids.add(cursor.getLong(idColumn)); + } while (cursor.moveToNext()); + } + return ids; + } } private static class CallLogObserver extends ContentObserver { diff --git a/java/com/android/dialer/calllog/datasources/util/RowCombiner.java b/java/com/android/dialer/calllog/datasources/util/RowCombiner.java new file mode 100644 index 000000000..0c7be1e27 --- /dev/null +++ b/java/com/android/dialer/calllog/datasources/util/RowCombiner.java @@ -0,0 +1,53 @@ +/* + * 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.calllog.datasources.util; + +import android.content.ContentValues; +import com.android.dialer.common.Assert; +import java.util.Iterator; +import java.util.List; + +/** Convenience class for aggregating row values. */ +public class RowCombiner { + private final List<ContentValues> individualRowsSortedByTimestampDesc; + private final ContentValues combinedRow = new ContentValues(); + + public RowCombiner(List<ContentValues> individualRowsSortedByTimestampDesc) { + Assert.checkArgument(!individualRowsSortedByTimestampDesc.isEmpty()); + this.individualRowsSortedByTimestampDesc = individualRowsSortedByTimestampDesc; + } + + /** Use the most recent value for the specified column. */ + public RowCombiner useMostRecentLong(String columnName) { + combinedRow.put(columnName, individualRowsSortedByTimestampDesc.get(0).getAsLong(columnName)); + return this; + } + + /** Asserts that all column values for the given column name are the same, and uses it. */ + public RowCombiner useSingleValueString(String columnName) { + Iterator<ContentValues> iterator = individualRowsSortedByTimestampDesc.iterator(); + String singleValue = iterator.next().getAsString(columnName); + while (iterator.hasNext()) { + Assert.checkState(iterator.next().getAsString(columnName).equals(singleValue)); + } + combinedRow.put(columnName, singleValue); + return this; + } + + public ContentValues combine() { + return combinedRow; + } +} diff --git a/java/com/android/dialer/calllog/testing/FakeCallLogApplication.java b/java/com/android/dialer/calllog/testing/FakeCallLogApplication.java new file mode 100644 index 000000000..cb2240539 --- /dev/null +++ b/java/com/android/dialer/calllog/testing/FakeCallLogApplication.java @@ -0,0 +1,39 @@ +/* + * 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.calllog.testing; + +import android.app.Application; +import com.android.dialer.calllog.CallLogModule; +import com.android.dialer.calllog.database.CallLogDatabaseComponent; +import com.android.dialer.inject.HasRootComponent; +import dagger.Component; +import javax.inject.Singleton; + +/** + * Fake application for call log robolectric tests which uses all real bindings but doesn't require + * tests to depend on and use all of DialerApplication. + */ +public final class FakeCallLogApplication extends Application implements HasRootComponent { + + @Override + public Object component() { + return DaggerFakeCallLogApplication_FakeComponent.create(); + } + + @Singleton + @Component(modules = CallLogModule.class) + interface FakeComponent extends CallLogDatabaseComponent.HasComponent {} +} diff --git a/java/com/android/dialer/calllog/ui/AndroidManifest.xml b/java/com/android/dialer/calllog/ui/AndroidManifest.xml index 228167749..eaf71aba8 100644 --- a/java/com/android/dialer/calllog/ui/AndroidManifest.xml +++ b/java/com/android/dialer/calllog/ui/AndroidManifest.xml @@ -13,4 +13,4 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License --> -<manifest package="com.android.dialer.calllog"/> +<manifest package="com.android.dialer.calllog.ui"/> diff --git a/java/com/android/dialer/calllog/ui/AnnotatedCallLogCursorLoader.java b/java/com/android/dialer/calllog/ui/AnnotatedCallLogCursorLoader.java deleted file mode 100644 index cd8622e80..000000000 --- a/java/com/android/dialer/calllog/ui/AnnotatedCallLogCursorLoader.java +++ /dev/null @@ -1,48 +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.calllog.ui; - -import android.annotation.TargetApi; -import android.content.Context; -import android.content.CursorLoader; -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; -import android.os.Build; -import com.android.dialer.calllog.database.AnnotatedCallLog; -import com.android.dialer.calllog.database.AnnotatedCallLog.Columns; - -/** CursorLoader which reads the annotated call log. */ -class AnnotatedCallLogCursorLoader extends CursorLoader { - - AnnotatedCallLogCursorLoader(Context context) { - super(context); - } - - @TargetApi(Build.VERSION_CODES.M) // Uses try-with-resources - @Override - public Cursor loadInBackground() { - try (SQLiteDatabase readableDatabase = AnnotatedCallLog.getReadableDatabase(getContext())) { - return readableDatabase.rawQuery( - "SELECT * FROM " - + AnnotatedCallLog.TABLE_NAME - + " ORDER BY " - + Columns.TIMESTAMP - + " DESC", - null /* selectionArgs */); - } - } -} diff --git a/java/com/android/dialer/calllog/ui/NewCallLogAdapter.java b/java/com/android/dialer/calllog/ui/NewCallLogAdapter.java new file mode 100644 index 000000000..f9ab21cb3 --- /dev/null +++ b/java/com/android/dialer/calllog/ui/NewCallLogAdapter.java @@ -0,0 +1,53 @@ +/* + * 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.calllog.ui; + +import android.database.Cursor; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.ViewGroup; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.CoalescedAnnotatedCallLog; + +/** {@link RecyclerView.Adapter} for the new call log fragment. */ +final class NewCallLogAdapter extends RecyclerView.Adapter<NewCallLogViewHolder> { + + private final Cursor cursor; + private final int timestampIndex; + + NewCallLogAdapter(Cursor cursor) { + this.cursor = cursor; + timestampIndex = cursor.getColumnIndexOrThrow(CoalescedAnnotatedCallLog.TIMESTAMP); + } + + @Override + public NewCallLogViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { + return new NewCallLogViewHolder( + LayoutInflater.from(viewGroup.getContext()) + .inflate(R.layout.new_call_log_entry, viewGroup, false)); + } + + @Override + public void onBindViewHolder(NewCallLogViewHolder viewHolder, int position) { + cursor.moveToPosition(position); + long timestamp = cursor.getLong(timestampIndex); + viewHolder.bind(timestamp); + } + + @Override + public int getItemCount() { + return cursor.getCount(); + } +} diff --git a/java/com/android/dialer/calllog/ui/NewCallLogFragment.java b/java/com/android/dialer/calllog/ui/NewCallLogFragment.java index b8f2b1326..89ed52fd7 100644 --- a/java/com/android/dialer/calllog/ui/NewCallLogFragment.java +++ b/java/com/android/dialer/calllog/ui/NewCallLogFragment.java @@ -17,30 +17,30 @@ package com.android.dialer.calllog.ui; import android.app.Fragment; import android.app.LoaderManager.LoaderCallbacks; -import android.content.Context; +import android.content.CursorLoader; import android.content.Loader; import android.database.Cursor; import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.CursorAdapter; -import android.widget.ListView; -import android.widget.SimpleCursorAdapter; -import android.widget.TextView; import com.android.dialer.calllog.CallLogComponent; import com.android.dialer.calllog.CallLogFramework; import com.android.dialer.calllog.CallLogFramework.CallLogUi; -import com.android.dialer.calllog.database.AnnotatedCallLog.Columns; +import com.android.dialer.calllog.database.contract.AnnotatedCallLogContract.CoalescedAnnotatedCallLog; import com.android.dialer.common.LogUtil; -import java.text.SimpleDateFormat; -import java.util.Locale; +import com.android.dialer.common.concurrent.DialerExecutor; +import com.android.dialer.common.concurrent.DialerExecutorComponent; +import com.android.dialer.common.concurrent.DialerExecutorFactory; /** The "new" call log fragment implementation, which is built on top of the annotated call log. */ public final class NewCallLogFragment extends Fragment implements CallLogUi, LoaderCallbacks<Cursor> { - private CursorAdapter cursorAdapter; + private DialerExecutor<Boolean> refreshAnnotatedCallLogTask; + private RecyclerView recyclerView; public NewCallLogFragment() { LogUtil.enterBlock("NewCallLogFragment.NewCallLogFragment"); @@ -52,8 +52,27 @@ public final class NewCallLogFragment extends Fragment LogUtil.enterBlock("NewCallLogFragment.onCreate"); - CallLogFramework callLogFramework = CallLogComponent.get(getContext()).callLogFramework(); + CallLogComponent component = CallLogComponent.get(getContext()); + CallLogFramework callLogFramework = component.callLogFramework(); callLogFramework.attachUi(this); + + DialerExecutorFactory dialerExecutorFactory = + DialerExecutorComponent.get(getContext()).dialerExecutorFactory(); + + refreshAnnotatedCallLogTask = + dialerExecutorFactory + .createUiTaskBuilder( + getFragmentManager(), + "NewCallLogFragment.refreshAnnotatedCallLog", + component.getRefreshAnnotatedCallLogWorker()) + .build(); + } + + @Override + public void onStart() { + super.onStart(); + + LogUtil.enterBlock("NewCallLogFragment.onStart"); } @Override @@ -64,6 +83,9 @@ public final class NewCallLogFragment extends Fragment CallLogFramework callLogFramework = CallLogComponent.get(getContext()).callLogFramework(); callLogFramework.attachUi(this); + + // TODO: Consider doing this when fragment becomes visible. + checkAnnotatedCallLogDirtyAndRefreshIfNecessary(); } @Override @@ -82,57 +104,44 @@ public final class NewCallLogFragment extends Fragment LogUtil.enterBlock("NewCallLogFragment.onCreateView"); View view = inflater.inflate(R.layout.new_call_log_fragment, container, false); - ListView listView = (ListView) view.findViewById(R.id.list); + recyclerView = view.findViewById(R.id.new_call_log_recycler_view); - this.cursorAdapter = - new MyCursorAdapter( - getContext(), - R.layout.new_call_log_entry, - null /* cursor */, - new String[] {Columns.TIMESTAMP, Columns.CONTACT_NAME}, - new int[] {R.id.timestamp, R.id.contact_name}, - 0); - listView.setAdapter(cursorAdapter); - - getLoaderManager().initLoader(0, null, this); + getLoaderManager().restartLoader(0, null, this); return view; } + private void checkAnnotatedCallLogDirtyAndRefreshIfNecessary() { + LogUtil.enterBlock("NewCallLogFragment.checkAnnotatedCallLogDirtyAndRefreshIfNecessary"); + refreshAnnotatedCallLogTask.executeSerial(false /* skipDirtyCheck */); + } + @Override public void invalidateUi() { LogUtil.enterBlock("NewCallLogFragment.invalidateUi"); - // TODO: Implementation. + refreshAnnotatedCallLogTask.executeSerial(true /* skipDirtyCheck */); } @Override public Loader<Cursor> onCreateLoader(int id, Bundle args) { - // TODO: This is sort of weird, do we need to implement a content provider? - return new AnnotatedCallLogCursorLoader(getContext()); + LogUtil.enterBlock("NewCallLogFragment.onCreateLoader"); + // CoalescedAnnotatedCallLog requires that all params be null. + return new CursorLoader( + getContext(), CoalescedAnnotatedCallLog.CONTENT_URI, null, null, null, null); } @Override public void onLoadFinished(Loader<Cursor> loader, Cursor newCursor) { - cursorAdapter.swapCursor(newCursor); + LogUtil.enterBlock("NewCallLogFragment.onLoadFinished"); + + // TODO: Handle empty cursor by showing empty view. + recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + recyclerView.setAdapter(new NewCallLogAdapter(newCursor)); } @Override public void onLoaderReset(Loader<Cursor> loader) { - cursorAdapter.swapCursor(null); - } - - private static class MyCursorAdapter extends SimpleCursorAdapter { - - MyCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to, int flags) { - super(context, layout, c, from, to, flags); - } - - @Override - public void setViewText(TextView view, String text) { - if (view.getId() == R.id.timestamp) { - text = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US).format(Long.valueOf(text)); - } - view.setText(text); - } + LogUtil.enterBlock("NewCallLogFragment.onLoaderReset"); + recyclerView.setAdapter(null); } } diff --git a/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java b/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java new file mode 100644 index 000000000..4c459e123 --- /dev/null +++ b/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java @@ -0,0 +1,43 @@ +/* + * 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.calllog.ui; + +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.TextView; +import java.text.SimpleDateFormat; +import java.util.Locale; + +/** {@link RecyclerView.ViewHolder} for the new call log. */ +final class NewCallLogViewHolder extends RecyclerView.ViewHolder { + + // TODO: Format correctly using current locale. + private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US); + + private final TextView contactNameView; + private final TextView timestampView; + + NewCallLogViewHolder(View view) { + super(view); + contactNameView = view.findViewById(R.id.contact_name); + timestampView = view.findViewById(R.id.timestamp); + } + + void bind(long timestamp) { + contactNameView.setText("Contact Name Placeholder"); + timestampView.setText(dateFormat.format(timestamp)); + } +} diff --git a/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml b/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml index ee3efd002..99797fab4 100644 --- a/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml +++ b/java/com/android/dialer/calllog/ui/res/layout/new_call_log_entry.xml @@ -18,16 +18,20 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="horizontal"> + android:layout_height="wrap_content" + android:padding="8dp" + android:orientation="vertical"> <TextView - android:id="@+id/timestamp" + android:id="@+id/contact_name" android:layout_width="wrap_content" - android:layout_height="wrap_content"/> + android:layout_height="wrap_content" + style="@style/PrimaryText"/> <TextView - android:id="@+id/contact_name" + android:id="@+id/timestamp" android:layout_width="wrap_content" - android:layout_height="wrap_content"/> + android:layout_height="wrap_content" + style="@style/SecondaryText"/> + </LinearLayout>
\ No newline at end of file diff --git a/java/com/android/dialer/calllog/ui/res/layout/new_call_log_fragment.xml b/java/com/android/dialer/calllog/ui/res/layout/new_call_log_fragment.xml index 433dbdd0f..e1d8410b6 100644 --- a/java/com/android/dialer/calllog/ui/res/layout/new_call_log_fragment.xml +++ b/java/com/android/dialer/calllog/ui/res/layout/new_call_log_fragment.xml @@ -15,8 +15,9 @@ ~ limitations under the License --> -<ListView +<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/list" + android:id="@+id/new_call_log_recycler_view" android:layout_width="match_parent" - android:layout_height="match_parent"/> + android:layout_height="match_parent" + android:background="@color/background_dialer_light"/> diff --git a/java/com/android/dialer/common/Assert.java b/java/com/android/dialer/common/Assert.java index 189d209c8..943e1ddcf 100644 --- a/java/com/android/dialer/common/Assert.java +++ b/java/com/android/dialer/common/Assert.java @@ -30,10 +30,6 @@ public class Assert { Assert.areThreadAssertsEnabled = areThreadAssertsEnabled; } - public static boolean areThreadAssertsEnabled() { - return areThreadAssertsEnabled; - } - /** * Called when a truly exceptional case occurs. * diff --git a/java/com/android/dialer/common/concurrent/DialerExecutorComponent.java b/java/com/android/dialer/common/concurrent/DialerExecutorComponent.java new file mode 100644 index 000000000..25033251f --- /dev/null +++ b/java/com/android/dialer/common/concurrent/DialerExecutorComponent.java @@ -0,0 +1,39 @@ +/* + * 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.common.concurrent; + +import android.content.Context; +import com.android.dialer.inject.HasRootComponent; +import dagger.Subcomponent; + +/** Dagger component which provides a {@link DialerExecutorFactory}. */ +@Subcomponent +public abstract class DialerExecutorComponent { + + public abstract DialerExecutorFactory dialerExecutorFactory(); + + public static DialerExecutorComponent get(Context context) { + return ((DialerExecutorComponent.HasComponent) + ((HasRootComponent) context.getApplicationContext()).component()) + .dialerExecutorComponent(); + } + + /** Used to refer to the root application component. */ + public interface HasComponent { + DialerExecutorComponent dialerExecutorComponent(); + } +} diff --git a/java/com/android/dialer/common/concurrent/DialerExecutorModule.java b/java/com/android/dialer/common/concurrent/DialerExecutorModule.java new file mode 100644 index 000000000..281f88c15 --- /dev/null +++ b/java/com/android/dialer/common/concurrent/DialerExecutorModule.java @@ -0,0 +1,28 @@ +/* + * 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.common.concurrent; + +import dagger.Binds; +import dagger.Module; + +/** Module which binds the production {@link DialerExecutorFactory}. */ +@Module +public abstract class DialerExecutorModule { + + @Binds + abstract DialerExecutorFactory bindDialerExecutorFactory( + DefaultDialerExecutorFactory defaultDialerExecutorFactory); +} diff --git a/java/com/android/dialer/compat/CompatUtils.java b/java/com/android/dialer/compat/CompatUtils.java index 673cb709b..351c89ad7 100644 --- a/java/com/android/dialer/compat/CompatUtils.java +++ b/java/com/android/dialer/compat/CompatUtils.java @@ -16,15 +16,9 @@ package com.android.dialer.compat; import android.os.Build; -import android.support.annotation.Nullable; -import android.text.TextUtils; -import android.util.Log; -import java.lang.reflect.InvocationTargetException; public final class CompatUtils { - private static final String TAG = CompatUtils.class.getSimpleName(); - /** PrioritizedMimeType is added in API level 23. */ public static boolean hasPrioritizedMimeType() { return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.M) >= Build.VERSION_CODES.M; @@ -70,153 +64,4 @@ public final class CompatUtils { public static boolean isCallSubjectCompatible() { return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.LOLLIPOP) >= Build.VERSION_CODES.M; } - - /** - * Determines if this version is compatible with a default dialer. Can also force the version to - * be lower through {@link SdkVersionOverride}. - * - * @return {@code true} if default dialer is a feature on this device, {@code false} otherwise. - */ - public static boolean isDefaultDialerCompatible() { - return isMarshmallowCompatible(); - } - - /** - * Determines if this version is compatible with Lollipop Mr1-specific APIs. Can also force the - * version to be lower through SdkVersionOverride. - * - * @return {@code true} if runtime sdk is compatible with Lollipop MR1, {@code false} otherwise. - */ - public static boolean isLollipopMr1Compatible() { - return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.LOLLIPOP_MR1) - >= Build.VERSION_CODES.LOLLIPOP_MR1; - } - - /** - * Determines if this version is compatible with Marshmallow-specific APIs. Can also force the - * version to be lower through SdkVersionOverride. - * - * @return {@code true} if runtime sdk is compatible with Marshmallow, {@code false} otherwise. - */ - public static boolean isMarshmallowCompatible() { - return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.LOLLIPOP) >= Build.VERSION_CODES.M; - } - - /** - * Determines if the given class is available. Can be used to check if system apis exist at - * runtime. - * - * @param className the name of the class to look for. - * @return {@code true} if the given class is available, {@code false} otherwise or if className - * is empty. - */ - public static boolean isClassAvailable(@Nullable String className) { - if (TextUtils.isEmpty(className)) { - return false; - } - try { - Class.forName(className); - return true; - } catch (ClassNotFoundException e) { - return false; - } catch (Throwable t) { - Log.e( - TAG, - "Unexpected exception when checking if class:" + className + " exists at " + "runtime", - t); - return false; - } - } - - /** - * Determines if the given class's method is available to call. Can be used to check if system - * apis exist at runtime. - * - * @param className the name of the class to look for - * @param methodName the name of the method to look for - * @param parameterTypes the needed parameter types for the method to look for - * @return {@code true} if the given class is available, {@code false} otherwise or if className - * or methodName are empty. - */ - public static boolean isMethodAvailable( - @Nullable String className, @Nullable String methodName, Class<?>... parameterTypes) { - if (TextUtils.isEmpty(className) || TextUtils.isEmpty(methodName)) { - return false; - } - - try { - Class.forName(className).getMethod(methodName, parameterTypes); - return true; - } catch (ClassNotFoundException | NoSuchMethodException e) { - Log.v(TAG, "Could not find method: " + className + "#" + methodName); - return false; - } catch (Throwable t) { - Log.e( - TAG, - "Unexpected exception when checking if method: " - + className - + "#" - + methodName - + " exists at runtime", - t); - return false; - } - } - - /** - * Invokes a given class's method using reflection. Can be used to call system apis that exist at - * runtime but not in the SDK. - * - * @param instance The instance of the class to invoke the method on. - * @param methodName The name of the method to invoke. - * @param parameterTypes The needed parameter types for the method. - * @param parameters The parameter values to pass into the method. - * @return The result of the invocation or {@code null} if instance or methodName are empty, or if - * the reflection fails. - */ - @Nullable - public static Object invokeMethod( - @Nullable Object instance, - @Nullable String methodName, - Class<?>[] parameterTypes, - Object[] parameters) { - if (instance == null || TextUtils.isEmpty(methodName)) { - return null; - } - - String className = instance.getClass().getName(); - try { - return Class.forName(className) - .getMethod(methodName, parameterTypes) - .invoke(instance, parameters); - } catch (ClassNotFoundException - | NoSuchMethodException - | IllegalArgumentException - | IllegalAccessException - | InvocationTargetException e) { - Log.v(TAG, "Could not invoke method: " + className + "#" + methodName); - return null; - } catch (Throwable t) { - Log.e( - TAG, - "Unexpected exception when invoking method: " - + className - + "#" - + methodName - + " at runtime", - t); - return null; - } - } - - /** - * Determines if this version is compatible with Lollipop-specific APIs. Can also force the - * version to be lower through SdkVersionOverride. - * - * @return {@code true} if call subject is a feature on this device, {@code false} otherwise. - */ - public static boolean isLollipopCompatible() { - return SdkVersionOverride.getSdkVersion(Build.VERSION_CODES.LOLLIPOP) - >= Build.VERSION_CODES.LOLLIPOP; - } } diff --git a/java/com/android/dialer/constants/Constants.java b/java/com/android/dialer/constants/Constants.java index d92c0bcfc..076393e63 100644 --- a/java/com/android/dialer/constants/Constants.java +++ b/java/com/android/dialer/constants/Constants.java @@ -53,5 +53,8 @@ public abstract class Constants { @NonNull public abstract String getFileProviderAuthority(); + @NonNull + public abstract String getAnnotatedCallLogProviderAuthority(); + protected Constants() {} } diff --git a/java/com/android/dialer/constants/ScheduledJobIds.java b/java/com/android/dialer/constants/ScheduledJobIds.java index 2fed4ef8a..a54adc757 100644 --- a/java/com/android/dialer/constants/ScheduledJobIds.java +++ b/java/com/android/dialer/constants/ScheduledJobIds.java @@ -32,6 +32,7 @@ public final class ScheduledJobIds { public static final int VVM_TASK_SCHEDULER_JOB = 200; public static final int VVM_STATUS_CHECK_JOB = 201; public static final int VVM_DEVICE_PROVISIONED_JOB = 202; + public static final int VVM_TRANSCRIPTION_JOB = 203; public static final int VOIP_REGISTRATION = 300; diff --git a/java/com/android/dialer/constants/TrafficStatsTags.java b/java/com/android/dialer/constants/TrafficStatsTags.java new file mode 100644 index 000000000..4e6140431 --- /dev/null +++ b/java/com/android/dialer/constants/TrafficStatsTags.java @@ -0,0 +1,28 @@ +/* + * 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.constants; + +/** Registry of tags for {@link android.net.TrafficStats#setThreadStatsTag(int)} */ +public class TrafficStatsTags { + public static final int CONTACT_PHOTO_DOWNLOAD_TAG = 0x0001; + public static final int NEARBY_PLACES_TAG = 0xaaaa; + public static final int REVERSE_LOOKUP_CONTACT_TAG = 0xbaaa; + public static final int REVERSE_LOOKUP_IMAGE_TAG = 0xbaab; + public static final int DOWNLOAD_LOCATION_MAP_TAG = 0xd000; + public static final int REVERSE_GEOCODE_TAG = 0xd001; + public static final int VISUAL_VOICEMAIL_TAG = 0xd002; +} diff --git a/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java b/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java index 6b78b986c..1111732f3 100644 --- a/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java +++ b/java/com/android/dialer/constants/aospdialer/ConstantsImpl.java @@ -34,4 +34,10 @@ public class ConstantsImpl extends Constants { public String getFileProviderAuthority() { return "com.android.dialer.files"; } + + @NonNull + @Override + public String getAnnotatedCallLogProviderAuthority() { + return "com.android.dialer.annotatedcalllog"; + } } diff --git a/java/com/android/dialer/contactactions/AndroidManifest.xml b/java/com/android/dialer/contactactions/AndroidManifest.xml new file mode 100644 index 000000000..a64066e0b --- /dev/null +++ b/java/com/android/dialer/contactactions/AndroidManifest.xml @@ -0,0 +1,16 @@ +<!-- + ~ 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 + --> +<manifest package="com.android.dialer.contactactions"/> diff --git a/java/com/android/dialer/contactactions/ContactActionBottomSheet.java b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java new file mode 100644 index 000000000..4718ff036 --- /dev/null +++ b/java/com/android/dialer/contactactions/ContactActionBottomSheet.java @@ -0,0 +1,136 @@ +/* + * 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.contactactions; + +import android.content.Context; +import android.net.Uri; +import android.os.Bundle; +import android.support.design.widget.BottomSheetDialog; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.android.contacts.common.ContactPhotoManager; +import com.android.dialer.common.Assert; +import com.android.dialer.dialercontact.DialerContact; +import java.util.List; + +/** + * {@link BottomSheetDialog} used for building a list of contact actions in a bottom sheet menu. + * + * <p>{@link #show(Context, DialerContact, List)} should be used to create and display the menu. + * Modules are built using {@link ContactActionModule} and some defaults are provided by {@link + * IntentModule} and {@link DividerModule}. + */ +public class ContactActionBottomSheet extends BottomSheetDialog implements OnClickListener { + + private final List<ContactActionModule> modules; + private final DialerContact contact; + + private ContactActionBottomSheet( + Context context, DialerContact contact, List<ContactActionModule> modules) { + super(context); + this.modules = modules; + this.contact = contact; + setContentView(LayoutInflater.from(context).inflate(R.layout.sheet_layout, null)); + } + + public static ContactActionBottomSheet show( + Context context, DialerContact contact, List<ContactActionModule> modules) { + ContactActionBottomSheet sheet = new ContactActionBottomSheet(context, contact, modules); + sheet.show(); + return sheet; + } + + @Override + protected void onCreate(Bundle bundle) { + super.onCreate(bundle); + LinearLayout container = Assert.isNotNull(findViewById(R.id.action_container)); + container.addView(getContactView(container)); + + for (ContactActionModule module : modules) { + if (module instanceof DividerModule) { + container.addView(getDividerView(container)); + } else { + container.addView(getModuleView(container, module)); + } + } + } + + // TODO: add on click action to contact. + private View getContactView(ViewGroup container) { + LayoutInflater inflater = LayoutInflater.from(getContext()); + View contactView = inflater.inflate(R.layout.contact_layout, container, false); + + ContactPhotoManager.getInstance(getContext()) + .loadDialerThumbnailOrPhoto( + contactView.findViewById(R.id.quick_contact_photo), + contact.hasContactUri() ? Uri.parse(contact.getContactUri()) : null, + contact.getPhotoId(), + contact.hasPhotoUri() ? Uri.parse(contact.getPhotoUri()) : null, + contact.getNameOrNumber(), + contact.getContactType()); + + TextView nameView = contactView.findViewById(R.id.contact_name); + TextView numberView = contactView.findViewById(R.id.phone_number); + + nameView.setText(contact.getNameOrNumber()); + if (!TextUtils.isEmpty(contact.getDisplayNumber())) { + numberView.setVisibility(View.VISIBLE); + String secondaryInfo = + TextUtils.isEmpty(contact.getNumberLabel()) + ? contact.getDisplayNumber() + : getContext() + .getString( + com.android.contacts.common.R.string.call_subject_type_and_number, + contact.getNumberLabel(), + contact.getDisplayNumber()); + numberView.setText(secondaryInfo); + } else { + numberView.setVisibility(View.GONE); + numberView.setText(null); + } + return contactView; + } + + private View getDividerView(ViewGroup container) { + LayoutInflater inflater = LayoutInflater.from(getContext()); + return inflater.inflate(R.layout.divider_layout, container, false); + } + + private View getModuleView(ViewGroup container, ContactActionModule module) { + LayoutInflater inflater = LayoutInflater.from(getContext()); + View moduleView = inflater.inflate(R.layout.module_layout, container, false); + ((TextView) moduleView.findViewById(R.id.module_text)).setText(module.getStringId()); + ((ImageView) moduleView.findViewById(R.id.module_image)) + .setImageResource(module.getDrawableId()); + moduleView.setOnClickListener(this); + moduleView.setTag(module); + return moduleView; + } + + @Override + public void onClick(View view) { + if (((ContactActionModule) view.getTag()).onClick()) { + dismiss(); + } + } +} diff --git a/java/com/android/dialer/contactactions/ContactActionModule.java b/java/com/android/dialer/contactactions/ContactActionModule.java new file mode 100644 index 000000000..8089edc7b --- /dev/null +++ b/java/com/android/dialer/contactactions/ContactActionModule.java @@ -0,0 +1,38 @@ +/* + * 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.contactactions; + +import android.support.annotation.DrawableRes; +import android.support.annotation.StringRes; + +/** + * Modules used to build {@link ContactActionBottomSheet}. + * + * <p>Contacts as they relate to this class should be thought of as any entity that an action can be + * performed on like unknown/restricted contacts, along with saved and non-saved contacts. + */ +public interface ContactActionModule { + + @StringRes + int getStringId(); + + @DrawableRes + int getDrawableId(); + + /** @return true if the bottom sheet should close, false otherwise */ + boolean onClick(); +} diff --git a/java/com/android/dialer/contactactions/DividerModule.java b/java/com/android/dialer/contactactions/DividerModule.java new file mode 100644 index 000000000..aabd160db --- /dev/null +++ b/java/com/android/dialer/contactactions/DividerModule.java @@ -0,0 +1,41 @@ +/* + * 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.contactactions; + +import com.android.dialer.common.Assert; + +/** + * A module that inserts a grey line divider into {@link ContactActionModule}. Layout it provided in + * R.layout.divider_layout.xml + */ +public final class DividerModule implements ContactActionModule { + + @Override + public int getStringId() { + throw Assert.createUnsupportedOperationFailException(); + } + + @Override + public int getDrawableId() { + throw Assert.createUnsupportedOperationFailException(); + } + + @Override + public boolean onClick() { + throw Assert.createUnsupportedOperationFailException(); + } +} diff --git a/java/com/android/dialer/contactactions/IntentModule.java b/java/com/android/dialer/contactactions/IntentModule.java new file mode 100644 index 000000000..201f52192 --- /dev/null +++ b/java/com/android/dialer/contactactions/IntentModule.java @@ -0,0 +1,75 @@ +/* + * 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.contactactions; + +import android.content.Context; +import android.content.Intent; +import android.support.annotation.DrawableRes; +import android.support.annotation.StringRes; +import com.android.dialer.callintent.CallInitiationType.Type; +import com.android.dialer.callintent.CallIntentBuilder; + +/** + * {@link ContactActionModule} useful for making easy to build modules based on starting an intent. + */ +public class IntentModule implements ContactActionModule { + + private final Context context; + private final Intent intent; + private final @StringRes int text; + private final @DrawableRes int image; + + public IntentModule(Context context, Intent intent, @StringRes int text, @DrawableRes int image) { + this.context = context; + this.intent = intent; + this.text = text; + this.image = image; + } + + @Override + public int getStringId() { + return text; + } + + @Override + public int getDrawableId() { + return image; + } + + @Override + public boolean onClick() { + context.startActivity(intent); + return true; + } + + public static IntentModule newCallModule(Context context, String number, Type initiationType) { + return new IntentModule( + context, + new CallIntentBuilder(number, initiationType).build(), + R.string.call, + R.drawable.quantum_ic_call_white_24); + } + + public static IntentModule newVideoCallModule( + Context context, String number, Type initiationType) { + return new IntentModule( + context, + new CallIntentBuilder(number, initiationType).setIsVideoCall(true).build(), + R.string.video_call, + R.drawable.quantum_ic_videocam_white_24); + } +} diff --git a/java/com/android/dialer/contactactions/res/layout/contact_layout.xml b/java/com/android/dialer/contactactions/res/layout/contact_layout.xml new file mode 100644 index 000000000..bf3297153 --- /dev/null +++ b/java/com/android/dialer/contactactions/res/layout/contact_layout.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="horizontal" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginTop="8dp" + android:layout_marginBottom="12dp" + android:layout_marginEnd="8dp"> + + <QuickContactBadge + android:id="@+id/quick_contact_photo" + android:layout_width="@dimen/contact_actions_image_size" + android:layout_height="@dimen/contact_actions_image_size" + android:layout_marginStart="@dimen/contact_actions_image_margin" + android:layout_marginEnd="@dimen/contact_actions_image_margin" + android:padding="4dp" + android:focusable="true"/> + + <LinearLayout + android:orientation="vertical" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:gravity="center_vertical"> + + <TextView + android:id="@+id/contact_name" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + style="@style/PrimaryText"/> + + <TextView + android:id="@+id/phone_number" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="2dp" + style="@style/SecondaryText"/> + </LinearLayout> +</LinearLayout>
\ No newline at end of file diff --git a/java/com/android/dialer/contactactions/res/layout/divider_layout.xml b/java/com/android/dialer/contactactions/res/layout/divider_layout.xml new file mode 100644 index 000000000..fdee50e48 --- /dev/null +++ b/java/com/android/dialer/contactactions/res/layout/divider_layout.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> +<View + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" + android:background="#12000000"/> diff --git a/java/com/android/dialer/contactactions/res/layout/module_layout.xml b/java/com/android/dialer/contactactions/res/layout/module_layout.xml new file mode 100644 index 000000000..9aee67937 --- /dev/null +++ b/java/com/android/dialer/contactactions/res/layout/module_layout.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/module_container" + android:orientation="horizontal" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?android:attr/selectableItemBackground"> + + <ImageView + android:id="@+id/module_image" + android:layout_width="@dimen/contact_actions_image_size" + android:layout_height="@dimen/contact_actions_image_size" + android:layout_marginStart="@dimen/contact_actions_image_margin" + android:layout_marginEnd="@dimen/contact_actions_image_margin" + android:tint="@color/dialer_secondary_text_color" + android:scaleType="center"/> + + <TextView + android:id="@+id/module_text" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + style="@style/PrimaryText"/> +</LinearLayout>
\ No newline at end of file diff --git a/java/com/android/dialer/contactactions/res/layout/sheet_layout.xml b/java/com/android/dialer/contactactions/res/layout/sheet_layout.xml new file mode 100644 index 000000000..6984367bf --- /dev/null +++ b/java/com/android/dialer/contactactions/res/layout/sheet_layout.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/action_container" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingTop="4dp" + android:paddingBottom="8dp"/> diff --git a/java/com/android/dialer/contactactions/res/values/dimens.xml b/java/com/android/dialer/contactactions/res/values/dimens.xml new file mode 100644 index 000000000..47bf804ac --- /dev/null +++ b/java/com/android/dialer/contactactions/res/values/dimens.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> +<resources> + <dimen name="contact_actions_image_size">48dp</dimen> + <dimen name="contact_actions_image_margin">12dp</dimen> +</resources>
\ No newline at end of file diff --git a/java/com/android/dialer/contactsfragment/ContactViewHolder.java b/java/com/android/dialer/contactsfragment/ContactViewHolder.java index 5df106dbc..586e22aab 100644 --- a/java/com/android/dialer/contactsfragment/ContactViewHolder.java +++ b/java/com/android/dialer/contactsfragment/ContactViewHolder.java @@ -16,6 +16,7 @@ package com.android.dialer.contactsfragment; +import android.content.Context; import android.net.Uri; import android.provider.ContactsContract.QuickContact; import android.support.v7.widget.RecyclerView; @@ -25,6 +26,8 @@ import android.view.View.OnClickListener; import android.widget.QuickContactBadge; import android.widget.TextView; import com.android.dialer.common.Assert; +import com.android.dialer.logging.InteractionEvent; +import com.android.dialer.logging.Logger; /** View holder for a contact. */ final class ContactViewHolder extends RecyclerView.ViewHolder implements OnClickListener { @@ -32,12 +35,14 @@ final class ContactViewHolder extends RecyclerView.ViewHolder implements OnClick private final TextView header; private final TextView name; private final QuickContactBadge photo; + private final Context context; private String headerText; private Uri contactUri; public ContactViewHolder(View itemView) { super(itemView); + context = itemView.getContext(); itemView.findViewById(R.id.click_target).setOnClickListener(this); header = (TextView) itemView.findViewById(R.id.header); name = (TextView) itemView.findViewById(R.id.contact_name); @@ -60,6 +65,10 @@ final class ContactViewHolder extends RecyclerView.ViewHolder implements OnClick name.setText(displayName); header.setText(headerText); header.setVisibility(showHeader ? View.VISIBLE : View.INVISIBLE); + + Logger.get(context) + .logQuickContactOnTouch( + photo, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CONTACTS_FRAGMENT_BADGE, true); } public QuickContactBadge getPhoto() { @@ -76,6 +85,8 @@ final class ContactViewHolder extends RecyclerView.ViewHolder implements OnClick @Override public void onClick(View v) { + Logger.get(context) + .logInteraction(InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CONTACTS_FRAGMENT_ITEM); QuickContact.showQuickContact( photo.getContext(), photo, contactUri, QuickContact.MODE_LARGE, null /* excludeMimes */); } diff --git a/java/com/android/dialer/contactsfragment/ContactsAdapter.java b/java/com/android/dialer/contactsfragment/ContactsAdapter.java index 4692eff5d..309e034cc 100644 --- a/java/com/android/dialer/contactsfragment/ContactsAdapter.java +++ b/java/com/android/dialer/contactsfragment/ContactsAdapter.java @@ -23,10 +23,10 @@ import android.provider.ContactsContract.Contacts; import android.support.v4.util.ArrayMap; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; +import android.view.View; import android.view.ViewGroup; -import android.widget.TextView; import com.android.contacts.common.ContactPhotoManager; -import com.android.dialer.common.Assert; +import com.android.contacts.common.lettertiles.LetterTileDrawable; /** List adapter for the union of all contacts associated with every account on the device. */ final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> { @@ -70,7 +70,7 @@ final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> { getPhotoId(cursor), getPhotoUri(cursor), name, - 0); + LetterTileDrawable.TYPE_DEFAULT); String photoDescription = context.getString(com.android.contacts.common.R.string.description_quick_contact_for, name); @@ -79,17 +79,23 @@ final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> { // Always show the view holder's header if it's the first item in the list. Otherwise, compare // it to the previous element and only show the anchored header if the row elements fall into // the same sublists. - if (position == 0) { - contactViewHolder.bind(header, name, contactUri, true); - } else { - boolean showHeader = !header.equals(getHeaderString(position - 1)); - contactViewHolder.bind(header, name, contactUri, showHeader); - } + boolean showHeader = position == 0 || !header.equals(getHeaderString(position - 1)); + contactViewHolder.bind(header, name, contactUri, showHeader); + } + + @Override + public void onViewRecycled(ContactViewHolder contactViewHolder) { + super.onViewRecycled(contactViewHolder); + holderMap.remove(contactViewHolder); } public void refreshHeaders() { for (ContactViewHolder holder : holderMap.keySet()) { - onBindViewHolder(holder, holderMap.get(holder)); + int position = holderMap.get(holder); + boolean showHeader = + position == 0 || !getHeaderString(position).equals(getHeaderString(position - 1)); + int visibility = showHeader ? View.VISIBLE : View.INVISIBLE; + holder.getHeaderView().setVisibility(visibility); } } @@ -98,27 +104,6 @@ final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> { return cursor == null ? 0 : cursor.getCount(); } - public String getHeader(int position) { - return getHolderAt(position).getHeader(); - } - - public TextView getHeaderView(int position) { - return getHolderAt(position).getHeaderView(); - } - - public void setHeaderVisibility(int position, int visibility) { - getHolderAt(position).getHeaderView().setVisibility(visibility); - } - - private ContactViewHolder getHolderAt(int position) { - for (ContactViewHolder holder : holderMap.keySet()) { - if (holderMap.get(holder) == position) { - return holder; - } - } - throw Assert.createIllegalStateFailException("No holder for position: " + position); - } - private static String getDisplayName(Cursor cursor) { return cursor.getString(ContactsCursorLoader.CONTACT_DISPLAY_NAME); } @@ -138,7 +123,7 @@ final class ContactsAdapter extends RecyclerView.Adapter<ContactViewHolder> { return Contacts.getLookupUri(contactId, lookupKey); } - private String getHeaderString(int position) { + public String getHeaderString(int position) { int index = -1; int sum = 0; while (sum <= position) { diff --git a/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java b/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java index 6d4d21079..2bb540ac0 100644 --- a/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java +++ b/java/com/android/dialer/contactsfragment/ContactsCursorLoader.java @@ -29,7 +29,7 @@ final class ContactsCursorLoader extends CursorLoader { public static final int CONTACT_PHOTO_URI = 3; public static final int CONTACT_LOOKUP_KEY = 4; - public static final String[] CONTACTS_PROJECTION = + public static final String[] CONTACTS_PROJECTION_DISPLAY_NAME_PRIMARY = new String[] { Contacts._ID, // 0 Contacts.DISPLAY_NAME_PRIMARY, // 1 @@ -38,16 +38,35 @@ final class ContactsCursorLoader extends CursorLoader { Contacts.LOOKUP_KEY, // 4 }; - public ContactsCursorLoader(Context context) { + public static final String[] CONTACTS_PROJECTION_DISPLAY_NAME_ALTERNATIVE = + new String[] { + Contacts._ID, // 0 + Contacts.DISPLAY_NAME_ALTERNATIVE, // 1 + Contacts.PHOTO_ID, // 2 + Contacts.PHOTO_THUMBNAIL_URI, // 3 + Contacts.LOOKUP_KEY, // 4 + }; + + private ContactsCursorLoader(Context context, String[] contactProjection, String sortKey) { super( context, Contacts.CONTENT_URI .buildUpon() .appendQueryParameter(Contacts.EXTRA_ADDRESS_BOOK_INDEX, "true") .build(), - CONTACTS_PROJECTION, + contactProjection, null, null, - Contacts.SORT_KEY_PRIMARY + " ASC"); + sortKey + " ASC"); + } + + public static ContactsCursorLoader createInstanceDisplayNamePrimary( + Context context, String sortKey) { + return new ContactsCursorLoader(context, CONTACTS_PROJECTION_DISPLAY_NAME_PRIMARY, sortKey); + } + + public static ContactsCursorLoader createInstanceDisplayNameAlternative( + Context context, String sortKey) { + return new ContactsCursorLoader(context, CONTACTS_PROJECTION_DISPLAY_NAME_ALTERNATIVE, sortKey); } } diff --git a/java/com/android/dialer/contactsfragment/ContactsFragment.java b/java/com/android/dialer/contactsfragment/ContactsFragment.java index ea662fc89..a996a4fad 100644 --- a/java/com/android/dialer/contactsfragment/ContactsFragment.java +++ b/java/com/android/dialer/contactsfragment/ContactsFragment.java @@ -16,63 +16,125 @@ package com.android.dialer.contactsfragment; +import android.Manifest.permission; import android.app.Fragment; import android.app.LoaderManager.LoaderCallbacks; import android.content.Loader; +import android.content.pm.PackageManager; import android.database.Cursor; import android.os.Bundle; +import android.provider.ContactsContract.Contacts; import android.support.annotation.Nullable; +import android.support.v13.app.FragmentCompat; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.RecyclerView.Recycler; +import android.support.v7.widget.RecyclerView.State; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnScrollChangeListener; import android.view.ViewGroup; import android.widget.TextView; +import com.android.contacts.common.preference.ContactsPreferences; +import com.android.dialer.common.Assert; +import com.android.dialer.util.DialerUtils; +import com.android.dialer.util.IntentUtil; import com.android.dialer.util.PermissionsUtil; +import com.android.dialer.widget.EmptyContentView; +import com.android.dialer.widget.EmptyContentView.OnEmptyViewActionButtonClickedListener; /** Fragment containing a list of all contacts. */ public class ContactsFragment extends Fragment - implements LoaderCallbacks<Cursor>, OnScrollChangeListener { + implements LoaderCallbacks<Cursor>, + OnScrollChangeListener, + OnEmptyViewActionButtonClickedListener { + public static final int READ_CONTACTS_PERMISSION_REQUEST_CODE = 1; + + private FastScroller fastScroller; private TextView anchoredHeader; private RecyclerView recyclerView; private LinearLayoutManager manager; private ContactsAdapter adapter; + private EmptyContentView emptyContentView; + + private ContactsPreferences contactsPrefs; + + private final ContactsPreferences.ChangeListener preferencesChangeListener = + () -> getLoaderManager().restartLoader(0, null, this); + + @Override + public void onCreate(Bundle savedState) { + super.onCreate(savedState); + contactsPrefs = new ContactsPreferences(getContext()); + contactsPrefs.registerChangeListener(preferencesChangeListener); + } @Nullable @Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_contacts, container, false); + fastScroller = (FastScroller) view.findViewById(R.id.fast_scroller); anchoredHeader = (TextView) view.findViewById(R.id.header); - manager = new LinearLayoutManager(getContext()); - - // TODO: Handle contacts permission denied view - // TODO: Handle 0 contacts layout recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); - recyclerView.setLayoutManager(manager); - getLoaderManager().initLoader(0, null, this); + + emptyContentView = (EmptyContentView) view.findViewById(R.id.empty_list_view); + emptyContentView.setImage(R.drawable.empty_contacts); + emptyContentView.setActionClickedListener(this); if (PermissionsUtil.hasContactsReadPermissions(getContext())) { getLoaderManager().initLoader(0, null, this); + } else { + emptyContentView.setDescription(R.string.permission_no_contacts); + emptyContentView.setActionLabel(R.string.permission_single_turn_on); + emptyContentView.setVisibility(View.VISIBLE); } return view; } + /** @return a loader according to sort order and display order. */ @Override public Loader<Cursor> onCreateLoader(int id, Bundle args) { - return new ContactsCursorLoader(getContext()); + boolean sortOrderPrimary = + (contactsPrefs.getSortOrder() == ContactsPreferences.SORT_ORDER_PRIMARY); + boolean displayOrderPrimary = + (contactsPrefs.getDisplayOrder() == ContactsPreferences.DISPLAY_ORDER_PRIMARY); + + String sortKey = sortOrderPrimary ? Contacts.SORT_KEY_PRIMARY : Contacts.SORT_KEY_ALTERNATIVE; + return displayOrderPrimary + ? ContactsCursorLoader.createInstanceDisplayNamePrimary(getContext(), sortKey) + : ContactsCursorLoader.createInstanceDisplayNameAlternative(getContext(), sortKey); } @Override public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { - // TODO setup fast scroller. - adapter = new ContactsAdapter(getContext(), cursor); - recyclerView.setAdapter(adapter); - if (adapter.getItemCount() > 1) { - recyclerView.setOnScrollChangeListener(this); + if (cursor.getCount() == 0) { + emptyContentView.setDescription(R.string.all_contacts_empty); + emptyContentView.setActionLabel(R.string.all_contacts_empty_add_contact_action); + emptyContentView.setVisibility(View.VISIBLE); + } else { + emptyContentView.setVisibility(View.GONE); + adapter = new ContactsAdapter(getContext(), cursor); + manager = + new LinearLayoutManager(getContext()) { + @Override + public void onLayoutChildren(Recycler recycler, State state) { + super.onLayoutChildren(recycler, state); + int itemsShown = findLastVisibleItemPosition() - findFirstVisibleItemPosition() + 1; + if (adapter.getItemCount() > itemsShown) { + fastScroller.setVisibility(View.VISIBLE); + recyclerView.setOnScrollChangeListener(ContactsFragment.this); + } else { + fastScroller.setVisibility(View.GONE); + } + } + }; + + recyclerView.setLayoutManager(manager); + recyclerView.setAdapter(adapter); + fastScroller.setup(adapter, manager); } } @@ -81,6 +143,7 @@ public class ContactsFragment extends Fragment recyclerView.setAdapter(null); recyclerView.setOnScrollChangeListener(null); adapter = null; + contactsPrefs.unregisterChangeListener(); } /* @@ -95,8 +158,10 @@ public class ContactsFragment extends Fragment */ @Override public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { + fastScroller.updateContainerAndScrollBarPosition(recyclerView); int firstVisibleItem = manager.findFirstVisibleItemPosition(); int firstCompletelyVisible = manager.findFirstCompletelyVisibleItemPosition(); + String anchoredHeaderString = adapter.getHeaderString(firstCompletelyVisible); // If the user swipes to the top of the list very quickly, there is some strange behavior // between this method updating headers and adapter#onBindViewHolder updating headers. @@ -104,15 +169,46 @@ public class ContactsFragment extends Fragment if (firstVisibleItem == firstCompletelyVisible && firstVisibleItem == 0) { adapter.refreshHeaders(); anchoredHeader.setVisibility(View.INVISIBLE); + } else if (adapter.getHeaderString(firstVisibleItem).equals(anchoredHeaderString)) { + anchoredHeader.setText(anchoredHeaderString); + anchoredHeader.setVisibility(View.VISIBLE); + getContactHolder(firstVisibleItem).getHeaderView().setVisibility(View.INVISIBLE); + getContactHolder(firstCompletelyVisible).getHeaderView().setVisibility(View.INVISIBLE); } else { - boolean showAnchor = - adapter.getHeader(firstVisibleItem).equals(adapter.getHeader(firstCompletelyVisible)); - anchoredHeader.setText(adapter.getHeader(firstCompletelyVisible)); - anchoredHeader.setVisibility(showAnchor ? View.VISIBLE : View.INVISIBLE); - - int rowHeaderVisibility = showAnchor ? View.INVISIBLE : View.VISIBLE; - adapter.setHeaderVisibility(firstVisibleItem, rowHeaderVisibility); - adapter.setHeaderVisibility(firstCompletelyVisible, rowHeaderVisibility); + anchoredHeader.setVisibility(View.INVISIBLE); + getContactHolder(firstVisibleItem).getHeaderView().setVisibility(View.VISIBLE); + getContactHolder(firstCompletelyVisible).getHeaderView().setVisibility(View.VISIBLE); + } + } + + private ContactViewHolder getContactHolder(int position) { + return ((ContactViewHolder) recyclerView.findViewHolderForAdapterPosition(position)); + } + + @Override + public void onEmptyViewActionButtonClicked() { + if (emptyContentView.getActionLabel() == R.string.permission_single_turn_on) { + FragmentCompat.requestPermissions( + this, new String[] {permission.READ_CONTACTS}, READ_CONTACTS_PERMISSION_REQUEST_CODE); + } else if (emptyContentView.getActionLabel() + == R.string.all_contacts_empty_add_contact_action) { + // Add new contact + DialerUtils.startActivityWithErrorToast( + getContext(), IntentUtil.getNewContactIntent(), R.string.add_contact_not_available); + } else { + throw Assert.createIllegalStateFailException("Invalid empty content view action label."); + } + } + + @Override + public void onRequestPermissionsResult( + int requestCode, String[] permissions, int[] grantResults) { + if (requestCode == READ_CONTACTS_PERMISSION_REQUEST_CODE) { + if (grantResults.length >= 1 && PackageManager.PERMISSION_GRANTED == grantResults[0]) { + // Force a refresh of the data since we were missing the permission before this. + emptyContentView.setVisibility(View.GONE); + getLoaderManager().initLoader(0, null, this); + } } } } diff --git a/java/com/android/dialer/contactsfragment/FastScroller.java b/java/com/android/dialer/contactsfragment/FastScroller.java new file mode 100644 index 000000000..980032cb5 --- /dev/null +++ b/java/com/android/dialer/contactsfragment/FastScroller.java @@ -0,0 +1,129 @@ +/* + * 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.contactsfragment; + +import android.content.Context; +import android.support.annotation.NonNull; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import android.widget.RelativeLayout; +import android.widget.TextView; + +/** Widget to add fast scrolling to {@link ContactsFragment}. */ +public class FastScroller extends RelativeLayout { + + private final int touchTargetWidth; + + private ContactsAdapter adapter; + private LinearLayoutManager layoutManager; + + private TextView container; + private View scrollBar; + + private boolean dragStarted; + + public FastScroller(Context context, AttributeSet attrs) { + super(context, attrs); + touchTargetWidth = + context.getResources().getDimensionPixelSize(R.dimen.fast_scroller_touch_target_width); + } + + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + container = (TextView) findViewById(R.id.fast_scroller_container); + scrollBar = findViewById(R.id.fast_scroller_scroll_bar); + } + + void setup(ContactsAdapter adapter, LinearLayoutManager layoutManager) { + this.adapter = adapter; + this.layoutManager = layoutManager; + } + + @Override + public boolean onTouchEvent(@NonNull MotionEvent event) { + // Don't override if touch event isn't within desired touch target and dragging hasn't started. + if (!dragStarted && getWidth() - touchTargetWidth - event.getX() > 0) { + return super.onTouchEvent(event); + } + + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + dragStarted = true; + container.setVisibility(VISIBLE); + scrollBar.setSelected(true); + // fall through + case MotionEvent.ACTION_MOVE: + setContainerAndScrollBarPosition(event.getY()); + setRecyclerViewPosition(event.getY()); + return true; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_CANCEL: + dragStarted = false; + container.setVisibility(INVISIBLE); + scrollBar.setSelected(false); + return true; + } + return super.onTouchEvent(event); + } + + private void setRecyclerViewPosition(float y) { + final int itemCount = adapter.getItemCount(); + float scrolledPosition = getScrolledPercentage(y) * (float) itemCount; + int targetPos = getValueInRange(0, itemCount - 1, (int) scrolledPosition); + layoutManager.scrollToPositionWithOffset(targetPos, 0); + container.setText(adapter.getHeaderString(targetPos)); + } + + // Returns a float in range [0, 1] which represents the position of the scroller. + private float getScrolledPercentage(float y) { + if (scrollBar.getY() == 0) { + return 0f; + } else if (scrollBar.getY() + scrollBar.getHeight() >= getHeight()) { + return 1f; + } else { + return y / (float) getHeight(); + } + } + + private int getValueInRange(int min, int max, int value) { + int minimum = Math.max(min, value); + return Math.min(minimum, max); + } + + void updateContainerAndScrollBarPosition(RecyclerView recyclerView) { + if (!scrollBar.isSelected()) { + int verticalScrollOffset = recyclerView.computeVerticalScrollOffset(); + int verticalScrollRange = recyclerView.computeVerticalScrollRange(); + float proportion = (float) verticalScrollOffset / ((float) verticalScrollRange - getHeight()); + setContainerAndScrollBarPosition(getHeight() * proportion); + } + } + + private void setContainerAndScrollBarPosition(float y) { + int scrollBarHeight = scrollBar.getHeight(); + int containerHeight = container.getHeight(); + scrollBar.setY( + getValueInRange(0, getHeight() - scrollBarHeight, (int) (y - scrollBarHeight / 2))); + container.setY( + getValueInRange( + 0, getHeight() - containerHeight - scrollBarHeight / 2, (int) (y - containerHeight))); + } +} diff --git a/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_container_background.xml b/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_container_background.xml new file mode 100644 index 000000000..a7b227799 --- /dev/null +++ b/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_container_background.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + <solid android:color="@color/dialer_theme_color"/> + <size + android:height="@dimen/fast_scroller_container_size" + android:width="@dimen/fast_scroller_container_size"/> + <corners + android:topLeftRadius="@dimen/fast_scroller_container_corner_radius" + android:topRightRadius="@dimen/fast_scroller_container_corner_radius" + android:bottomLeftRadius="@dimen/fast_scroller_bottom_left_corner_radius" + android:bottomRightRadius="@dimen/fast_scroller_bottom_right_corner_radius"/> +</shape>
\ No newline at end of file diff --git a/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_scroll_bar.xml b/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_scroll_bar.xml new file mode 100644 index 000000000..a3e0c25c7 --- /dev/null +++ b/java/com/android/dialer/contactsfragment/res/drawable/fast_scroller_scroll_bar.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_selected="true"> + <shape android:shape="rectangle"> + <solid android:color="@color/dialer_theme_color"/> + <size android:height="32dp" android:width="4dp"/> + <corners android:radius="2dp"/> + </shape> + </item> + <item> + <shape android:shape="rectangle"> + <solid android:color="@color/dialer_secondary_text_color"/> + <size android:height="32dp" android:width="4dp"/> + <corners android:radius="2dp"/> + </shape> + </item> +</selector>
\ No newline at end of file diff --git a/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml b/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml index af87c7f18..9e829fee4 100644 --- a/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml +++ b/java/com/android/dialer/contactsfragment/res/layout/contact_row.xml @@ -43,11 +43,13 @@ <TextView android:id="@+id/contact_name" - android:layout_width="match_parent" + android:layout_width="wrap_content" android:layout_height="match_parent" android:paddingStart="@dimen/text_padding_start" android:paddingEnd="@dimen/text_padding_end" - android:gravity="center_vertical|start" + android:maxLines="1" + android:ellipsize="end" + android:gravity="center_vertical" android:textSize="@dimen/text_size" android:textColor="@color/dialer_primary_text_color" android:fontFamily="sans-serif"/> diff --git a/java/com/android/dialer/contactsfragment/res/layout/fragment_contacts.xml b/java/com/android/dialer/contactsfragment/res/layout/fragment_contacts.xml index 67b490f03..7cbc4f0e6 100644 --- a/java/com/android/dialer/contactsfragment/res/layout/fragment_contacts.xml +++ b/java/com/android/dialer/contactsfragment/res/layout/fragment_contacts.xml @@ -23,8 +23,46 @@ android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/background_dialer_white"/> + android:background="@color/background_dialer_light"/> + + <!-- Scrollbars are always on the right side of the screen. Layouts should use Rights/Left instead + of Start/End --> + <com.android.dialer.contactsfragment.FastScroller + android:id="@+id/fast_scroller" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" + android:clipChildren="false"> + + <TextView + android:id="@+id/fast_scroller_container" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toLeftOf="@+id/fast_scroller_scroll_bar" + android:gravity="center" + android:textSize="48sp" + android:textColor="@color/background_dialer_white" + android:visibility="gone" + android:background="@drawable/fast_scroller_container_background"/> + + <ImageView + android:id="@+id/fast_scroller_scroll_bar" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginLeft="8dp" + android:layout_alignParentRight="true" + android:paddingRight="16dp" + android:src="@drawable/fast_scroller_scroll_bar" /> + </com.android.dialer.contactsfragment.FastScroller> <!-- Anchored header view --> <include layout="@layout/header"/> + + <com.android.dialer.widget.EmptyContentView + android:id="@+id/empty_list_view" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:visibility="gone"/> </FrameLayout> diff --git a/java/com/android/dialer/contactsfragment/res/values/dimens.xml b/java/com/android/dialer/contactsfragment/res/values/dimens.xml index 00d7c6d7e..f120014e2 100644 --- a/java/com/android/dialer/contactsfragment/res/values/dimens.xml +++ b/java/com/android/dialer/contactsfragment/res/values/dimens.xml @@ -25,4 +25,11 @@ <dimen name="text_padding_start">16dp</dimen> <dimen name="text_padding_end">8dp</dimen> <dimen name="text_size">16sp</dimen> -</resources> + + <dimen name="fast_scroller_touch_target_width">20dp</dimen> + + <dimen name="fast_scroller_container_size">88dp</dimen> + <dimen name="fast_scroller_container_corner_radius">44dp</dimen> + <dimen name="fast_scroller_bottom_right_corner_radius">0px</dimen> + <dimen name="fast_scroller_bottom_left_corner_radius">44dp</dimen> +</resources>
\ No newline at end of file diff --git a/java/com/android/dialer/database/DialerDatabaseHelper.java b/java/com/android/dialer/database/DialerDatabaseHelper.java index 348814281..6dd7cf462 100644 --- a/java/com/android/dialer/database/DialerDatabaseHelper.java +++ b/java/com/android/dialer/database/DialerDatabaseHelper.java @@ -34,6 +34,7 @@ import android.provider.ContactsContract.Contacts; import android.provider.ContactsContract.Data; import android.provider.ContactsContract.Directory; import android.support.annotation.VisibleForTesting; +import android.support.annotation.WorkerThread; import android.text.TextUtils; import com.android.contacts.common.R; import com.android.contacts.common.util.StopWatch; @@ -46,7 +47,6 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.Objects; import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; /** * Database helper for smart dial. Designed as a singleton to make sure there is only one access @@ -77,8 +77,6 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper { private static final int MAX_ENTRIES = 20; private final Context mContext; - private final Object mLock = new Object(); - private final AtomicBoolean mInUpdate = new AtomicBoolean(false); private boolean mIsTestInstance = false; protected DialerDatabaseHelper(Context context, String databaseName, int dbVersion) { @@ -596,218 +594,212 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper { * accordingly. It also queries the deleted contact database to remove newly deleted contacts * since last update. */ - public void updateSmartDialDatabase() { + @WorkerThread + public synchronized void updateSmartDialDatabase() { LogUtil.enterBlock("DialerDatabaseHelper.updateSmartDialDatabase"); final SQLiteDatabase db = getWritableDatabase(); - synchronized (mLock) { - LogUtil.v("DialerDatabaseHelper.updateSmartDialDatabase", "starting to update database"); - final StopWatch stopWatch = DEBUG ? StopWatch.start("Updating databases") : null; + LogUtil.v("DialerDatabaseHelper.updateSmartDialDatabase", "starting to update database"); + final StopWatch stopWatch = DEBUG ? StopWatch.start("Updating databases") : null; - /** Gets the last update time on the database. */ - final SharedPreferences databaseLastUpdateSharedPref = - mContext.getSharedPreferences(DATABASE_LAST_CREATED_SHARED_PREF, Context.MODE_PRIVATE); - final String lastUpdateMillis = - String.valueOf(databaseLastUpdateSharedPref.getLong(LAST_UPDATED_MILLIS, 0)); - - LogUtil.v( - "DialerDatabaseHelper.updateSmartDialDatabase", "last updated at " + lastUpdateMillis); - - /** Sets the time after querying the database as the current update time. */ - final Long currentMillis = System.currentTimeMillis(); + /** Gets the last update time on the database. */ + final SharedPreferences databaseLastUpdateSharedPref = + mContext.getSharedPreferences(DATABASE_LAST_CREATED_SHARED_PREF, Context.MODE_PRIVATE); + final String lastUpdateMillis = + String.valueOf(databaseLastUpdateSharedPref.getLong(LAST_UPDATED_MILLIS, 0)); - if (DEBUG) { - stopWatch.lap("Queried the Contacts database"); - } + LogUtil.v( + "DialerDatabaseHelper.updateSmartDialDatabase", "last updated at " + lastUpdateMillis); - /** Prevents the app from reading the dialer database when updating. */ - mInUpdate.getAndSet(true); + /** Sets the time after querying the database as the current update time. */ + final Long currentMillis = System.currentTimeMillis(); - /** Removes contacts that have been deleted. */ - removeDeletedContacts(db, getDeletedContactCursor(lastUpdateMillis)); - removePotentiallyCorruptedContacts(db, lastUpdateMillis); + if (DEBUG) { + stopWatch.lap("Queried the Contacts database"); + } - if (DEBUG) { - stopWatch.lap("Finished deleting deleted entries"); - } + /** Removes contacts that have been deleted. */ + removeDeletedContacts(db, getDeletedContactCursor(lastUpdateMillis)); + removePotentiallyCorruptedContacts(db, lastUpdateMillis); - /** - * If the database did not exist before, jump through deletion as there is nothing to delete. - */ - if (!lastUpdateMillis.equals("0")) { - /** - * Removes contacts that have been updated. Updated contact information will be inserted - * later. Note that this has to use a separate result set from updatePhoneCursor, since it - * is possible for a contact to be updated (e.g. phone number deleted), but have no results - * show up in updatedPhoneCursor (since all of its phone numbers have been deleted). - */ - final Cursor updatedContactCursor = - mContext - .getContentResolver() - .query( - UpdatedContactQuery.URI, - UpdatedContactQuery.PROJECTION, - UpdatedContactQuery.SELECT_UPDATED_CLAUSE, - new String[] {lastUpdateMillis}, - null); - if (updatedContactCursor == null) { - LogUtil.e( - "DialerDatabaseHelper.updateSmartDialDatabase", - "smartDial query received null for cursor"); - return; - } - try { - removeUpdatedContacts(db, updatedContactCursor); - } finally { - updatedContactCursor.close(); - } - if (DEBUG) { - stopWatch.lap("Finished deleting entries belonging to updated contacts"); - } - } + if (DEBUG) { + stopWatch.lap("Finished deleting deleted entries"); + } + /** + * If the database did not exist before, jump through deletion as there is nothing to delete. + */ + if (!lastUpdateMillis.equals("0")) { /** - * Queries the contact database to get all phone numbers that have been updated since the last - * update time. + * Removes contacts that have been updated. Updated contact information will be inserted + * later. Note that this has to use a separate result set from updatePhoneCursor, since it is + * possible for a contact to be updated (e.g. phone number deleted), but have no results show + * up in updatedPhoneCursor (since all of its phone numbers have been deleted). */ - final Cursor updatedPhoneCursor = + final Cursor updatedContactCursor = mContext .getContentResolver() .query( - PhoneQuery.URI, - PhoneQuery.PROJECTION, - PhoneQuery.SELECTION, + UpdatedContactQuery.URI, + UpdatedContactQuery.PROJECTION, + UpdatedContactQuery.SELECT_UPDATED_CLAUSE, new String[] {lastUpdateMillis}, null); - if (updatedPhoneCursor == null) { + if (updatedContactCursor == null) { LogUtil.e( "DialerDatabaseHelper.updateSmartDialDatabase", "smartDial query received null for cursor"); return; } - try { - /** Inserts recently updated phone numbers to the smartdial database. */ - insertUpdatedContactsAndNumberPrefix(db, updatedPhoneCursor, currentMillis); - if (DEBUG) { - stopWatch.lap("Finished building the smart dial table"); - } + removeUpdatedContacts(db, updatedContactCursor); } finally { - updatedPhoneCursor.close(); + updatedContactCursor.close(); } - - /** - * Gets a list of distinct contacts which have been updated, and adds the name prefixes of - * these contacts to the prefix table. - */ - final Cursor nameCursor = - db.rawQuery( - "SELECT DISTINCT " - + SmartDialDbColumns.DISPLAY_NAME_PRIMARY - + ", " - + SmartDialDbColumns.CONTACT_ID - + " FROM " - + Tables.SMARTDIAL_TABLE - + " WHERE " - + SmartDialDbColumns.LAST_SMARTDIAL_UPDATE_TIME - + " = " - + Long.toString(currentMillis), - new String[] {}); - if (nameCursor != null) { - try { - if (DEBUG) { - stopWatch.lap("Queried the smart dial table for contact names"); - } - - /** Inserts prefixes of names into the prefix table. */ - insertNamePrefixes(db, nameCursor); - if (DEBUG) { - stopWatch.lap("Finished building the name prefix table"); - } - } finally { - nameCursor.close(); - } + if (DEBUG) { + stopWatch.lap("Finished deleting entries belonging to updated contacts"); } + } - /** Creates index on contact_id for fast JOIN operation. */ - db.execSQL( - "CREATE INDEX IF NOT EXISTS smartdial_contact_id_index ON " - + Tables.SMARTDIAL_TABLE - + " (" - + SmartDialDbColumns.CONTACT_ID - + ");"); - /** Creates index on last_smartdial_update_time for fast SELECT operation. */ - db.execSQL( - "CREATE INDEX IF NOT EXISTS smartdial_last_update_index ON " - + Tables.SMARTDIAL_TABLE - + " (" - + SmartDialDbColumns.LAST_SMARTDIAL_UPDATE_TIME - + ");"); - /** Creates index on sorting fields for fast sort operation. */ - db.execSQL( - "CREATE INDEX IF NOT EXISTS smartdial_sort_index ON " - + Tables.SMARTDIAL_TABLE - + " (" - + SmartDialDbColumns.STARRED - + ", " - + SmartDialDbColumns.IS_SUPER_PRIMARY - + ", " - + SmartDialDbColumns.LAST_TIME_USED - + ", " - + SmartDialDbColumns.TIMES_USED - + ", " - + SmartDialDbColumns.IN_VISIBLE_GROUP - + ", " - + SmartDialDbColumns.DISPLAY_NAME_PRIMARY - + ", " - + SmartDialDbColumns.CONTACT_ID - + ", " - + SmartDialDbColumns.IS_PRIMARY - + ");"); - /** Creates index on prefix for fast SELECT operation. */ - db.execSQL( - "CREATE INDEX IF NOT EXISTS nameprefix_index ON " - + Tables.PREFIX_TABLE - + " (" - + PrefixColumns.PREFIX - + ");"); - /** Creates index on contact_id for fast JOIN operation. */ - db.execSQL( - "CREATE INDEX IF NOT EXISTS nameprefix_contact_id_index ON " - + Tables.PREFIX_TABLE - + " (" - + PrefixColumns.CONTACT_ID - + ");"); + /** + * Queries the contact database to get all phone numbers that have been updated since the last + * update time. + */ + final Cursor updatedPhoneCursor = + mContext + .getContentResolver() + .query( + PhoneQuery.URI, + PhoneQuery.PROJECTION, + PhoneQuery.SELECTION, + new String[] {lastUpdateMillis}, + null); + if (updatedPhoneCursor == null) { + LogUtil.e( + "DialerDatabaseHelper.updateSmartDialDatabase", + "smartDial query received null for cursor"); + return; + } + try { + /** Inserts recently updated phone numbers to the smartdial database. */ + insertUpdatedContactsAndNumberPrefix(db, updatedPhoneCursor, currentMillis); if (DEBUG) { - stopWatch.lap(TAG + "Finished recreating index"); + stopWatch.lap("Finished building the smart dial table"); } + } finally { + updatedPhoneCursor.close(); + } - /** Updates the database index statistics. */ - db.execSQL("ANALYZE " + Tables.SMARTDIAL_TABLE); - db.execSQL("ANALYZE " + Tables.PREFIX_TABLE); - db.execSQL("ANALYZE smartdial_contact_id_index"); - db.execSQL("ANALYZE smartdial_last_update_index"); - db.execSQL("ANALYZE nameprefix_index"); - db.execSQL("ANALYZE nameprefix_contact_id_index"); - if (DEBUG) { - stopWatch.stopAndLog(TAG + "Finished updating index stats", 0); - } + /** + * Gets a list of distinct contacts which have been updated, and adds the name prefixes of these + * contacts to the prefix table. + */ + final Cursor nameCursor = + db.rawQuery( + "SELECT DISTINCT " + + SmartDialDbColumns.DISPLAY_NAME_PRIMARY + + ", " + + SmartDialDbColumns.CONTACT_ID + + " FROM " + + Tables.SMARTDIAL_TABLE + + " WHERE " + + SmartDialDbColumns.LAST_SMARTDIAL_UPDATE_TIME + + " = " + + currentMillis, + new String[] {}); + if (nameCursor != null) { + try { + if (DEBUG) { + stopWatch.lap("Queried the smart dial table for contact names"); + } - mInUpdate.getAndSet(false); + /** Inserts prefixes of names into the prefix table. */ + insertNamePrefixes(db, nameCursor); + if (DEBUG) { + stopWatch.lap("Finished building the name prefix table"); + } + } finally { + nameCursor.close(); + } + } - final SharedPreferences.Editor editor = databaseLastUpdateSharedPref.edit(); - editor.putLong(LAST_UPDATED_MILLIS, currentMillis); - editor.apply(); + /** Creates index on contact_id for fast JOIN operation. */ + db.execSQL( + "CREATE INDEX IF NOT EXISTS smartdial_contact_id_index ON " + + Tables.SMARTDIAL_TABLE + + " (" + + SmartDialDbColumns.CONTACT_ID + + ");"); + /** Creates index on last_smartdial_update_time for fast SELECT operation. */ + db.execSQL( + "CREATE INDEX IF NOT EXISTS smartdial_last_update_index ON " + + Tables.SMARTDIAL_TABLE + + " (" + + SmartDialDbColumns.LAST_SMARTDIAL_UPDATE_TIME + + ");"); + /** Creates index on sorting fields for fast sort operation. */ + db.execSQL( + "CREATE INDEX IF NOT EXISTS smartdial_sort_index ON " + + Tables.SMARTDIAL_TABLE + + " (" + + SmartDialDbColumns.STARRED + + ", " + + SmartDialDbColumns.IS_SUPER_PRIMARY + + ", " + + SmartDialDbColumns.LAST_TIME_USED + + ", " + + SmartDialDbColumns.TIMES_USED + + ", " + + SmartDialDbColumns.IN_VISIBLE_GROUP + + ", " + + SmartDialDbColumns.DISPLAY_NAME_PRIMARY + + ", " + + SmartDialDbColumns.CONTACT_ID + + ", " + + SmartDialDbColumns.IS_PRIMARY + + ");"); + /** Creates index on prefix for fast SELECT operation. */ + db.execSQL( + "CREATE INDEX IF NOT EXISTS nameprefix_index ON " + + Tables.PREFIX_TABLE + + " (" + + PrefixColumns.PREFIX + + ");"); + /** Creates index on contact_id for fast JOIN operation. */ + db.execSQL( + "CREATE INDEX IF NOT EXISTS nameprefix_contact_id_index ON " + + Tables.PREFIX_TABLE + + " (" + + PrefixColumns.CONTACT_ID + + ");"); - LogUtil.i("DialerDatabaseHelper.updateSmartDialDatabase", "broadcasting smart dial update"); + if (DEBUG) { + stopWatch.lap(TAG + "Finished recreating index"); + } - // Notify content observers that smart dial database has been updated. - Intent intent = new Intent(ACTION_SMART_DIAL_UPDATED); - intent.setPackage(mContext.getPackageName()); - mContext.sendBroadcast(intent); + /** Updates the database index statistics. */ + db.execSQL("ANALYZE " + Tables.SMARTDIAL_TABLE); + db.execSQL("ANALYZE " + Tables.PREFIX_TABLE); + db.execSQL("ANALYZE smartdial_contact_id_index"); + db.execSQL("ANALYZE smartdial_last_update_index"); + db.execSQL("ANALYZE nameprefix_index"); + db.execSQL("ANALYZE nameprefix_contact_id_index"); + if (DEBUG) { + stopWatch.stopAndLog(TAG + "Finished updating index stats", 0); } + + final SharedPreferences.Editor editor = databaseLastUpdateSharedPref.edit(); + editor.putLong(LAST_UPDATED_MILLIS, currentMillis); + editor.apply(); + + LogUtil.i("DialerDatabaseHelper.updateSmartDialDatabase", "broadcasting smart dial update"); + + // Notify content observers that smart dial database has been updated. + Intent intent = new Intent(ACTION_SMART_DIAL_UPDATED); + intent.setPackage(mContext.getPackageName()); + mContext.sendBroadcast(intent); } /** @@ -817,12 +809,9 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper { * @param query The prefix of a contact's dialpad index. * @return A list of top candidate contacts that will be suggested to user to match their input. */ - public ArrayList<ContactNumber> getLooseMatches(String query, SmartDialNameMatcher nameMatcher) { - final boolean inUpdate = mInUpdate.get(); - if (inUpdate) { - return new ArrayList<>(); - } - + @WorkerThread + public synchronized ArrayList<ContactNumber> getLooseMatches( + String query, SmartDialNameMatcher nameMatcher) { final SQLiteDatabase db = getReadableDatabase(); /** Uses SQL query wildcard '%' to represent prefix matching. */ diff --git a/java/com/android/dialer/callcomposer/proto/call_composer_contact.proto b/java/com/android/dialer/dialercontact/dialer_contact.proto index 99766aac5..ee364c6e0 100644 --- a/java/com/android/dialer/callcomposer/proto/call_composer_contact.proto +++ b/java/com/android/dialer/dialercontact/dialer_contact.proto @@ -1,12 +1,12 @@ syntax = "proto2"; -option java_package = "com.android.dialer.callcomposer"; +option java_package = "com.android.dialer.dialercontact"; option java_multiple_files = true; option optimize_for = LITE_RUNTIME; package com.android.dialer.callcomposer; -message CallComposerContact { +message DialerContact { optional fixed64 photo_id = 1; optional string photo_uri = 2; optional string contact_uri = 3; diff --git a/java/com/android/dialer/dialpadview/res/values/dimens.xml b/java/com/android/dialer/dialpadview/res/values/dimens.xml index 210c81697..727736497 100644 --- a/java/com/android/dialer/dialpadview/res/values/dimens.xml +++ b/java/com/android/dialer/dialpadview/res/values/dimens.xml @@ -16,7 +16,7 @@ <resources> <!-- Text dimensions for dialpad keys --> - <dimen name="dialpad_key_numbers_default_size">36sp</dimen> + <dimen name="dialpad_key_numbers_default_size">36dp</dimen> <dimen name="dialpad_key_letters_size">12sp</dimen> <dimen name="dialpad_key_pound_size">23sp</dimen> <dimen name="dialpad_key_star_size">36sp</dimen> diff --git a/java/com/android/dialer/interactions/PhoneNumberInteraction.java b/java/com/android/dialer/interactions/PhoneNumberInteraction.java index 52f9d208f..ef468a9f3 100644 --- a/java/com/android/dialer/interactions/PhoneNumberInteraction.java +++ b/java/com/android/dialer/interactions/PhoneNumberInteraction.java @@ -54,11 +54,14 @@ import com.android.contacts.common.Collapser; import com.android.contacts.common.Collapser.Collapsible; import com.android.contacts.common.MoreContactUtils; import com.android.contacts.common.util.ContactDisplayUtils; +import com.android.dialer.callintent.CallInitiationType; import com.android.dialer.callintent.CallIntentBuilder; import com.android.dialer.callintent.CallIntentParser; import com.android.dialer.callintent.CallSpecificAppData; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; +import com.android.dialer.logging.InteractionEvent; +import com.android.dialer.logging.Logger; import com.android.dialer.util.DialerUtils; import com.android.dialer.util.TransactionSafeActivity; import java.lang.annotation.Retention; @@ -543,6 +546,12 @@ public class PhoneNumberInteraction implements OnLoadCompleteListener<Cursor> { final PhoneItem phoneItem = mPhoneList.get(which); final CheckBox checkBox = (CheckBox) alertDialog.findViewById(R.id.setPrimary); if (checkBox.isChecked()) { + if (mCallSpecificAppData.getCallInitiationType() == CallInitiationType.Type.SPEED_DIAL) { + Logger.get(getContext()) + .logInteraction( + InteractionEvent.Type.SPEED_DIAL_SET_DEFAULT_NUMBER_FOR_AMBIGUOUS_CONTACT); + } + // Request to mark the data as primary in the background. final Intent serviceIntent = ContactUpdateService.createSetSuperPrimaryIntent(activity, phoneItem.id); diff --git a/java/com/android/dialer/location/CountryDetector.java b/java/com/android/dialer/location/CountryDetector.java index a90febf2b..c4bed14d0 100644 --- a/java/com/android/dialer/location/CountryDetector.java +++ b/java/com/android/dialer/location/CountryDetector.java @@ -33,8 +33,8 @@ import android.telephony.TelephonyManager; import android.text.TextUtils; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; -import com.android.dialer.common.concurrent.DialerExecutors; import com.android.dialer.common.concurrent.DialerExecutor.Worker; +import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.util.PermissionsUtil; import java.util.List; import java.util.Locale; @@ -216,7 +216,9 @@ public class CountryDetector { private static void processLocationUpdate( Context appContext, Geocoder geocoder, Location location) { - DialerExecutors.createNonUiTaskBuilder(new GeocodeCountryWorker(geocoder)) + DialerExecutorComponent.get(appContext) + .dialerExecutorFactory() + .createNonUiTaskBuilder(new GeocodeCountryWorker(geocoder)) .onSuccess( country -> { if (country == null) { diff --git a/java/com/android/dialer/logging/LoggingBindings.java b/java/com/android/dialer/logging/LoggingBindings.java index 526cb2088..4a98d9e7d 100644 --- a/java/com/android/dialer/logging/LoggingBindings.java +++ b/java/com/android/dialer/logging/LoggingBindings.java @@ -14,8 +14,8 @@ package com.android.dialer.logging; - import android.app.Activity; +import android.widget.QuickContactBadge; /** Allows the container application to gather analytics. */ public interface LoggingBindings { @@ -62,6 +62,22 @@ public interface LoggingBindings { */ void logScreenView(com.android.dialer.logging.ScreenEvent.Type screenEvent, Activity activity); + /** Logs the composition of contact tiles in the speed dial tab. */ + void logSpeedDialContactComposition( + int counter, + int starredContactsCount, + int pinnedContactsCount, + int multipleNumbersContactsCount, + int contactsWithPhotoCount, + int contactsWithNameCount, + int duoReachableContactCount); + /** Logs a hit event to the analytics server. */ void sendHitEventAnalytics(String category, String action, String label, long value); + + /** Logs where a quick contact badge is clicked */ + void logQuickContactOnTouch( + QuickContactBadge quickContact, + InteractionEvent.Type interactionEvent, + boolean shouldPerformClick); } diff --git a/java/com/android/dialer/logging/LoggingBindingsStub.java b/java/com/android/dialer/logging/LoggingBindingsStub.java index f7ca6ecb0..dd3b8ac61 100644 --- a/java/com/android/dialer/logging/LoggingBindingsStub.java +++ b/java/com/android/dialer/logging/LoggingBindingsStub.java @@ -15,6 +15,7 @@ package com.android.dialer.logging; import android.app.Activity; +import android.widget.QuickContactBadge; /** Default implementation for logging bindings. */ public class LoggingBindingsStub implements LoggingBindings { @@ -36,5 +37,21 @@ public class LoggingBindingsStub implements LoggingBindings { public void logScreenView(ScreenEvent.Type screenEvent, Activity activity) {} @Override + public void logSpeedDialContactComposition( + int counter, + int starredContactsCount, + int pinnedContactsCount, + int multipleNumbersContactsCount, + int contactsWithPhotoCount, + int contactsWithNameCount, + int duoReachableContactsCount) {} + + @Override public void sendHitEventAnalytics(String category, String action, String label, long value) {} + + @Override + public void logQuickContactOnTouch( + QuickContactBadge quickContact, + InteractionEvent.Type interactionEvent, + boolean shouldPerformClick) {} } diff --git a/java/com/android/dialer/logging/contact_lookup_result.proto b/java/com/android/dialer/logging/contact_lookup_result.proto index 835d7d7dc..c9624aff1 100644 --- a/java/com/android/dialer/logging/contact_lookup_result.proto +++ b/java/com/android/dialer/logging/contact_lookup_result.proto @@ -5,6 +5,7 @@ option java_package = "com.android.dialer.logging"; option java_multiple_files = true; option optimize_for = LITE_RUNTIME; + message ContactLookupResult { // The different results of a contact lookup done using a phone number. enum Type { diff --git a/java/com/android/dialer/logging/contact_source.proto b/java/com/android/dialer/logging/contact_source.proto index 470cf8bd7..ffd32de0e 100644 --- a/java/com/android/dialer/logging/contact_source.proto +++ b/java/com/android/dialer/logging/contact_source.proto @@ -5,6 +5,7 @@ option java_package = "com.android.dialer.logging"; option java_multiple_files = true; option optimize_for = LITE_RUNTIME; + message ContactSource { // Applies only to reports made from call history. If we have contact // information for the phone number, this field indicates its source. diff --git a/java/com/android/dialer/logging/dialer_impression.proto b/java/com/android/dialer/logging/dialer_impression.proto index 541614623..1d8c828ff 100644 --- a/java/com/android/dialer/logging/dialer_impression.proto +++ b/java/com/android/dialer/logging/dialer_impression.proto @@ -5,11 +5,12 @@ option java_package = "com.android.dialer.logging"; option java_multiple_files = true; option optimize_for = LITE_RUNTIME; + message DialerImpression { // Event enums to be used for Impression Logging in Dialer. // It's perfectly acceptable for this enum to be large // Values should be from 1000 to 100000. - // Next Tag:1191 + // Next Tag:1196 enum Type { UNKNOWN_AOSP_EVENT_TYPE = 1000; @@ -386,5 +387,21 @@ message DialerImpression { VVM_STATUS_CHECK_REACTIVATION = 1189; VVM_ARCHIVE_AUTO_DELETE_FAILED_DUE_TO_FAILED_QUOTA_CHECK = 1190; + + // User pressed the speaker phone button on the return-to-call bubble + BUBBLE_TURN_ON_SPEAKERPHONE = 1191; + // User pressed the speaker phone button again on the return-to-call bubble + BUBBLE_TURN_ON_WIRED_OR_EARPIECE = 1192; + // User muted the call from the return-to-call bubble + BUBBLE_MUTE_CALL = 1193; + // User unmuted the call from the return-to-call bubble + BUBBLE_UNMUTE_CALL = 1194; + // User ended the call from the return-to-call bubble + BUBBLE_END_CALL = 1195; + + LIGHTBRINGER_VIDEO_REQUESTED_FROM_SEARCH = 1196; + LIGHTBRINGER_VIDEO_REQUESTED_FROM_CALL_LOG = 1197; + IMS_VIDEO_REQUESTED_FROM_SEARCH = 1198; + IMS_VIDEO_REQUESTED_FROM_CALL_LOG = 1199; } } diff --git a/java/com/android/dialer/logging/interaction_event.proto b/java/com/android/dialer/logging/interaction_event.proto index b9af1b763..89cf46fc9 100644 --- a/java/com/android/dialer/logging/interaction_event.proto +++ b/java/com/android/dialer/logging/interaction_event.proto @@ -5,7 +5,9 @@ option java_package = "com.android.dialer.logging"; option java_multiple_files = true; option optimize_for = LITE_RUNTIME; + message InteractionEvent { + // Next Tag: 38 enum Type { UNKNOWN = 0; @@ -41,5 +43,23 @@ message InteractionEvent { // The user unblocked a number then undid the unblock UNDO_UNBLOCK_NUMBER = 24; + + // Actions in speed dial + SPEED_DIAL_PIN_CONTACT = 25; + SPEED_DIAL_REMOVE_CONTACT = 26; + SPEED_DIAL_OPEN_CONTACT_CARD = 27; + SPEED_DIAL_CLICK_CONTACT_WITH_AMBIGUOUS_NUMBER = 28; + + SPEED_DIAL_SET_DEFAULT_NUMBER_FOR_AMBIGUOUS_CONTACT = 29; + + // Open quick contact from where + OPEN_QUICK_CONTACT_FROM_CALL_LOG = 30; + OPEN_QUICK_CONTACT_FROM_CALL_DETAILS = 31; + OPEN_QUICK_CONTACT_FROM_ALL_CONTACTS_GENERAL = 32; + OPEN_QUICK_CONTACT_FROM_CONTACTS_FRAGMENT_BADGE = 33; + OPEN_QUICK_CONTACT_FROM_CONTACTS_FRAGMENT_ITEM = 34; + OPEN_QUICK_CONTACT_FROM_SEARCH = 35; + OPEN_QUICK_CONTACT_FROM_VOICEMAIL = 36; + OPEN_QUICK_CONTACT_FROM_CALL_HISTORY = 37; } } diff --git a/java/com/android/dialer/logging/reporting_location.proto b/java/com/android/dialer/logging/reporting_location.proto index 72869489c..d436564df 100644 --- a/java/com/android/dialer/logging/reporting_location.proto +++ b/java/com/android/dialer/logging/reporting_location.proto @@ -5,6 +5,7 @@ option java_package = "com.android.dialer.logging"; option java_multiple_files = true; option optimize_for = LITE_RUNTIME; + message ReportingLocation { // Spam reporting location enum Type { diff --git a/java/com/android/dialer/logging/screen_event.proto b/java/com/android/dialer/logging/screen_event.proto index 2430bfd5a..ca624774d 100644 --- a/java/com/android/dialer/logging/screen_event.proto +++ b/java/com/android/dialer/logging/screen_event.proto @@ -5,6 +5,7 @@ option java_package = "com.android.dialer.logging"; option java_multiple_files = true; option optimize_for = LITE_RUNTIME; + message ScreenEvent { enum Type { diff --git a/java/com/android/dialer/multimedia/MultimediaData.java b/java/com/android/dialer/multimedia/MultimediaData.java index 22bb7641c..dee0cff0b 100644 --- a/java/com/android/dialer/multimedia/MultimediaData.java +++ b/java/com/android/dialer/multimedia/MultimediaData.java @@ -20,6 +20,7 @@ import android.location.Location; import android.net.Uri; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.text.TextUtils; import com.android.dialer.common.LogUtil; import com.google.auto.value.AutoValue; @@ -63,6 +64,11 @@ public abstract class MultimediaData { /** Returns {@code true} if this data is marked as important. */ public abstract boolean isImportant(); + /** Returns true if this has image, text or location data. */ + public boolean hasData() { + return hasImageData() || !TextUtils.isEmpty(getText()) || getLocation() != null; + } + /** Returns the string form of this MultimediaData with no PII. */ @Override public String toString() { diff --git a/java/com/android/dialer/oem/CequintCallerIdManager.java b/java/com/android/dialer/oem/CequintCallerIdManager.java index 095ee4e66..806d553eb 100644 --- a/java/com/android/dialer/oem/CequintCallerIdManager.java +++ b/java/com/android/dialer/oem/CequintCallerIdManager.java @@ -18,7 +18,6 @@ package com.android.dialer.oem; import android.annotation.TargetApi; import android.content.Context; import android.content.pm.PackageManager; -import android.database.ContentObserver; import android.database.Cursor; import android.net.Uri; import android.os.Build.VERSION_CODES; @@ -31,7 +30,6 @@ import android.text.TextUtils; import com.android.dialer.common.Assert; import com.android.dialer.common.ConfigProviderBindings; import com.android.dialer.common.LogUtil; -import com.android.dialer.util.PermissionsUtil; import java.util.concurrent.ConcurrentHashMap; /** @@ -73,17 +71,12 @@ public class CequintCallerIdManager { private static final String IMAGE = "cid_pLogo"; private static final String DISPLAY_NAME = "cid_pDisplayName"; - // TODO: Revisit it and maybe remove it if it's not necessary. - private static final ConcurrentHashMap<String, CequintCallerIdContact> callLogCache = - new ConcurrentHashMap<>(); - private static final ConcurrentHashMap<String, CequintCallerIdContact> incallIncomingCallCache = - new ConcurrentHashMap<>(); - private static final ConcurrentHashMap<String, CequintCallerIdContact> incallOutgoingCallCache = - new ConcurrentHashMap<>(); - private static boolean hasRegisteredContentObserver; private static boolean hasAlreadyCheckedCequintCallerIdPackage; private static boolean isCequintCallerIdEnabled; + // TODO: Revisit it and maybe remove it if it's not necessary. + private final ConcurrentHashMap<String, CequintCallerIdContact> callLogCache; + /** Cequint caller id contact information. */ public static class CequintCallerIdContact { public final String name; @@ -117,27 +110,8 @@ public class CequintCallerIdManager { return isCequintCallerIdEnabled; } - @WorkerThread - @Nullable - public static CequintCallerIdContact getCequintCallerIdContact(Context context, String number) { - Assert.isWorkerThread(); - LogUtil.d( - "CequintCallerIdManager.getCequintCallerIdContact", - "number: %s", - LogUtil.sanitizePhoneNumber(number)); - if (callLogCache.containsKey(number)) { - return callLogCache.get(number); - } - CequintCallerIdContact cequintCallerIdContact = - lookup( - context, - CONTENT_URI, - PhoneNumberUtils.stripSeparators(number), - new String[] {"system"}); - if (cequintCallerIdContact != null) { - callLogCache.put(number, cequintCallerIdContact); - } - return cequintCallerIdContact; + public static CequintCallerIdManager createInstanceForCallLog() { + return new CequintCallerIdManager(); } @WorkerThread @@ -151,12 +125,6 @@ public class CequintCallerIdManager { LogUtil.sanitizePhoneNumber(number), LogUtil.sanitizePii(cnapName), isIncoming); - registerContentObserver(context); - if (isIncoming && incallIncomingCallCache.containsKey(number)) { - return incallIncomingCallCache.get(number); - } else if (!isIncoming && incallOutgoingCallCache.containsKey(number)) { - return incallOutgoingCallCache.get(number); - } int flag = 0; if (isIncoming) { flag |= CALLER_ID_LOOKUP_INCOMING_CALL; @@ -165,14 +133,28 @@ public class CequintCallerIdManager { flag |= CALLER_ID_LOOKUP_USER_PROVIDED_CID; } String[] flags = {cnapName, String.valueOf(flag)}; + return lookup(context, CONTENT_URI_FOR_INCALL, number, flags); + } + + @WorkerThread + @Nullable + public CequintCallerIdContact getCequintCallerIdContact(Context context, String number) { + Assert.isWorkerThread(); + LogUtil.d( + "CequintCallerIdManager.getCequintCallerIdContact", + "number: %s", + LogUtil.sanitizePhoneNumber(number)); + if (callLogCache.containsKey(number)) { + return callLogCache.get(number); + } CequintCallerIdContact cequintCallerIdContact = - lookup(context, CONTENT_URI_FOR_INCALL, number, flags); + lookup( + context, + CONTENT_URI, + PhoneNumberUtils.stripSeparators(number), + new String[] {"system"}); if (cequintCallerIdContact != null) { - if (isIncoming) { - incallIncomingCallCache.put(number, cequintCallerIdContact); - } else { - incallOutgoingCallCache.put(number, cequintCallerIdContact); - } + callLogCache.put(number, cequintCallerIdContact); } return cequintCallerIdContact; } @@ -285,33 +267,7 @@ public class CequintCallerIdManager { return geoDescription; } - private static synchronized void registerContentObserver(Context context) { - if (!PermissionsUtil.hasCequintPermissions(context)) { - LogUtil.i("CequintCallerIdManager.registerContentObserver", "no cequint permissions"); - return; - } - - if (hasRegisteredContentObserver) { - return; - } - ContentObserver contentObserver = - new ContentObserver(null) { - @Override - public void onChange(boolean selfChange) { - invalidateCache(); - } - }; - - context - .getContentResolver() - .registerContentObserver(CONTENT_URI_FOR_INCALL, true, contentObserver); - hasRegisteredContentObserver = true; - } - - private static void invalidateCache() { - incallIncomingCallCache.clear(); - incallOutgoingCallCache.clear(); + private CequintCallerIdManager() { + callLogCache = new ConcurrentHashMap<>(); } - - private CequintCallerIdManager() {} } diff --git a/java/com/android/dialer/oem/MotorolaHiddenMenuKeySequence.java b/java/com/android/dialer/oem/MotorolaHiddenMenuKeySequence.java index 9cf145b7a..79abff08e 100644 --- a/java/com/android/dialer/oem/MotorolaHiddenMenuKeySequence.java +++ b/java/com/android/dialer/oem/MotorolaHiddenMenuKeySequence.java @@ -67,9 +67,7 @@ public class MotorolaHiddenMenuKeySequence { } private MotorolaHiddenMenuKeySequence(Context context) { - featureHiddenMenuEnabled = - MotorolaUtils.isSpnMatched(context) - && context.getResources().getBoolean(R.bool.motorola_feature_hidden_menu); + featureHiddenMenuEnabled = MotorolaUtils.isSupportingHiddenMenu(context); // In case we do have a SPN from resource we need to match from service; otherwise we are // free to go if (featureHiddenMenuEnabled) { diff --git a/java/com/android/dialer/oem/MotorolaUtils.java b/java/com/android/dialer/oem/MotorolaUtils.java index db2b8909a..2c91e60ab 100644 --- a/java/com/android/dialer/oem/MotorolaUtils.java +++ b/java/com/android/dialer/oem/MotorolaUtils.java @@ -19,7 +19,10 @@ import android.content.Context; import android.content.res.Resources; import android.telephony.TelephonyManager; import com.android.dialer.common.ConfigProviderBindings; +import com.android.dialer.common.LogUtil; import com.android.dialer.common.PackageUtils; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; /** Util class for Motorola OEM devices. */ public class MotorolaUtils { @@ -39,6 +42,8 @@ public class MotorolaUtils { // This is used to check if a Motorola device supports WiFi call feature, by checking if a certain // package is enabled. private static final String WIFI_CALL_PACKAGE_NAME = "com.motorola.sprintwfc"; + // Thi is used to check if a Motorola device supports hidden menu feature. + private static final String HIDDEN_MENU_FEATURE = "com.motorola.software.sprint.hidden_menu"; // Feature flag indicates it's a HD call, currently this is only used by Motorola system build. // TODO(b/35359461): Use reference to android.provider.CallLog once it's in new SDK. @@ -64,6 +69,10 @@ public class MotorolaUtils { } } + static boolean isSupportingHiddenMenu(Context context) { + return context.getPackageManager().hasSystemFeature(HIDDEN_MENU_FEATURE); + } + public static boolean shouldBlinkHdIconWhenConnectingCall(Context context) { return ConfigProviderBindings.get(context) .getBoolean(CONFIG_HD_CODEC_BLINKING_ICON_WHEN_CONNECTING_CALL_ENABLED, true) @@ -102,6 +111,22 @@ public class MotorolaUtils { return MotorolaHiddenMenuKeySequence.handleCharSequence(context, input); } + public static boolean isWifiCallingAvailable(Context context) { + if (!isSupportingSprintWifiCall(context)) { + return false; + } + TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class); + try { + Method method = TelephonyManager.class.getMethod("isWifiCallingAvailable"); + boolean isWifiCallingAvailable = (boolean) method.invoke(telephonyManager); + LogUtil.d("MotorolaUtils.isWifiCallingAvailable", "%b", isWifiCallingAvailable); + return isWifiCallingAvailable; + } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { + LogUtil.e("MotorolaUtils.isWifiCallingAvailable", "", e); + } + return false; + } + private static boolean isSupportingSprintHdCodec(Context context) { return isSpnMatched(context) && context.getResources().getBoolean(R.bool.motorola_sprint_hd_codec) diff --git a/java/com/android/dialer/oem/res/values-mcc310-mnc000/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc310-mnc000/motorola_config.xml index 7f63bee75..ac3397520 100644 --- a/java/com/android/dialer/oem/res/values-mcc310-mnc000/motorola_config.xml +++ b/java/com/android/dialer/oem/res/values-mcc310-mnc000/motorola_config.xml @@ -1,6 +1,21 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> + <resources> <bool name="motorola_sprint_hd_codec">true</bool> - <bool name="motorola_feature_hidden_menu">true</bool> <string name="motorola_enabled_spn">Sprint</string> </resources>
\ No newline at end of file diff --git a/java/com/android/dialer/oem/res/values-mcc310-mnc120/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc310-mnc120/motorola_config.xml index 39b72cdd1..c5cb0d1f7 100644 --- a/java/com/android/dialer/oem/res/values-mcc310-mnc120/motorola_config.xml +++ b/java/com/android/dialer/oem/res/values-mcc310-mnc120/motorola_config.xml @@ -1,5 +1,20 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> + <resources> <bool name="motorola_sprint_hd_codec">true</bool> - <bool name="motorola_feature_hidden_menu">true</bool> </resources>
\ No newline at end of file diff --git a/java/com/android/dialer/oem/res/values-mcc311-mnc490/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc311-mnc490/motorola_config.xml index 39b72cdd1..c5cb0d1f7 100644 --- a/java/com/android/dialer/oem/res/values-mcc311-mnc490/motorola_config.xml +++ b/java/com/android/dialer/oem/res/values-mcc311-mnc490/motorola_config.xml @@ -1,5 +1,20 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> + <resources> <bool name="motorola_sprint_hd_codec">true</bool> - <bool name="motorola_feature_hidden_menu">true</bool> </resources>
\ No newline at end of file diff --git a/java/com/android/dialer/oem/res/values-mcc311-mnc870/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc311-mnc870/motorola_config.xml index 39b72cdd1..c5cb0d1f7 100644 --- a/java/com/android/dialer/oem/res/values-mcc311-mnc870/motorola_config.xml +++ b/java/com/android/dialer/oem/res/values-mcc311-mnc870/motorola_config.xml @@ -1,5 +1,20 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> + <resources> <bool name="motorola_sprint_hd_codec">true</bool> - <bool name="motorola_feature_hidden_menu">true</bool> </resources>
\ No newline at end of file diff --git a/java/com/android/dialer/oem/res/values-mcc312-mnc530/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc312-mnc530/motorola_config.xml index 39b72cdd1..c5cb0d1f7 100644 --- a/java/com/android/dialer/oem/res/values-mcc312-mnc530/motorola_config.xml +++ b/java/com/android/dialer/oem/res/values-mcc312-mnc530/motorola_config.xml @@ -1,5 +1,20 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> + <resources> <bool name="motorola_sprint_hd_codec">true</bool> - <bool name="motorola_feature_hidden_menu">true</bool> </resources>
\ No newline at end of file diff --git a/java/com/android/dialer/oem/res/values-mcc316-mnc010/motorola_config.xml b/java/com/android/dialer/oem/res/values-mcc316-mnc010/motorola_config.xml index 39b72cdd1..c5cb0d1f7 100644 --- a/java/com/android/dialer/oem/res/values-mcc316-mnc010/motorola_config.xml +++ b/java/com/android/dialer/oem/res/values-mcc316-mnc010/motorola_config.xml @@ -1,5 +1,20 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> + <resources> <bool name="motorola_sprint_hd_codec">true</bool> - <bool name="motorola_feature_hidden_menu">true</bool> </resources>
\ No newline at end of file diff --git a/java/com/android/dialer/oem/res/values/motorola_config.xml b/java/com/android/dialer/oem/res/values/motorola_config.xml index f875d573d..46e7a16b6 100644 --- a/java/com/android/dialer/oem/res/values/motorola_config.xml +++ b/java/com/android/dialer/oem/res/values/motorola_config.xml @@ -1,12 +1,25 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> + <resources> <!-- Flag to control if HD codec is supported by Sprint. --> <bool name="motorola_sprint_hd_codec">false</bool> <!-- Hidden menu configuration for Motorola. --> - <!-- Flag to control if the Hidden Menu sequence will be supported by Sprint. --> - <bool name="motorola_feature_hidden_menu">false</bool> - <!-- This defines the specific key seuquence that will be catched in the SpecialCharSequenceMgr such as, ##OMADM# --> <string-array name="motorola_hidden_menu_key_sequence"> diff --git a/java/com/android/dialer/phonenumbercache/ContactInfo.java b/java/com/android/dialer/phonenumbercache/ContactInfo.java index 5546553f9..aef7374e4 100644 --- a/java/com/android/dialer/phonenumbercache/ContactInfo.java +++ b/java/com/android/dialer/phonenumbercache/ContactInfo.java @@ -17,7 +17,7 @@ package com.android.dialer.phonenumbercache; import android.net.Uri; -import android.support.annotation.Nullable; +import android.support.annotation.NonNull; import android.text.TextUtils; import com.android.contacts.common.ContactsUtils.UserType; import com.android.contacts.common.util.UriUtils; @@ -59,7 +59,7 @@ public class ContactInfo { public boolean isBadData; public String objectId; public @UserType long userType; - public @Nullable ContactSource.Type sourceType = ContactSource.Type.UNKNOWN_SOURCE_TYPE; + public @NonNull ContactSource.Type sourceType = ContactSource.Type.UNKNOWN_SOURCE_TYPE; /** * True if local contact exists. This is only used for Cequint Caller ID so it won't overwrite * photo if local contact exists. diff --git a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java index bd4ba9764..c9e940ef4 100644 --- a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java +++ b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java @@ -601,13 +601,17 @@ public class ContactInfoHelper { * will be updated if available. */ @WorkerThread - public void updateFromCequintCallerId(ContactInfo info, String number) { + public void updateFromCequintCallerId( + @Nullable CequintCallerIdManager cequintCallerIdManager, ContactInfo info, String number) { Assert.isWorkerThread(); if (!CequintCallerIdManager.isCequintCallerIdEnabled(mContext)) { return; } + if (cequintCallerIdManager == null) { + return; + } CequintCallerIdContact cequintCallerIdContact = - CequintCallerIdManager.getCequintCallerIdContact(mContext, number); + cequintCallerIdManager.getCequintCallerIdContact(mContext, number); if (cequintCallerIdContact == null) { return; } diff --git a/java/com/android/dialer/postcall/AndroidManifest.xml b/java/com/android/dialer/postcall/AndroidManifest.xml index 79ca5d5eb..22c77dd93 100644 --- a/java/com/android/dialer/postcall/AndroidManifest.xml +++ b/java/com/android/dialer/postcall/AndroidManifest.xml @@ -21,7 +21,7 @@ <activity android:name="com.android.dialer.postcall.PostCallActivity" android:exported="false" - android:theme="@style/Theme.AppCompat.NoActionBar" + android:theme="@style/DialerThemeBase.NoActionBar" android:windowSoftInputMode="adjustResize" android:screenOrientation="portrait"/> </application> diff --git a/java/com/android/dialer/postcall/PostCall.java b/java/com/android/dialer/postcall/PostCall.java index 586b47395..7eb83b133 100644 --- a/java/com/android/dialer/postcall/PostCall.java +++ b/java/com/android/dialer/postcall/PostCall.java @@ -26,8 +26,6 @@ import android.support.design.widget.Snackbar; import android.telephony.TelephonyManager; import android.view.View; import android.view.View.OnClickListener; -import com.android.dialer.buildtype.BuildType; -import com.android.dialer.common.Assert; import com.android.dialer.common.ConfigProvider; import com.android.dialer.common.ConfigProviderBindings; import com.android.dialer.common.LogUtil; @@ -203,19 +201,7 @@ public class PostCall { } private static boolean isEnabled(Context context) { - @BuildType.Type int type = BuildType.get(); - switch (type) { - case BuildType.BUGFOOD: - case BuildType.DOGFOOD: - case BuildType.FISHFOOD: - case BuildType.TEST: - return ConfigProviderBindings.get(context).getBoolean("enable_post_call", true); - case BuildType.RELEASE: - return ConfigProviderBindings.get(context).getBoolean("enable_post_call_prod", true); - default: - Assert.fail(); - return false; - } + return ConfigProviderBindings.get(context).getBoolean("enable_post_call_prod", true); } private static boolean isSimReady(Context context) { diff --git a/java/com/android/dialer/protos/ProtoParsers.java b/java/com/android/dialer/protos/ProtoParsers.java index b77c0699b..5a60799bc 100644 --- a/java/com/android/dialer/protos/ProtoParsers.java +++ b/java/com/android/dialer/protos/ProtoParsers.java @@ -18,13 +18,10 @@ package com.android.dialer.protos; import android.content.Intent; import android.os.Bundle; -import android.os.Parcel; -import android.os.Parcelable; +import android.support.annotation.NonNull; import com.android.dialer.common.Assert; -import com.google.protobuf.CodedOutputStream; import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.MessageLite; -import java.io.IOException; /** Useful methods for using Protocol Buffers with Android. */ public final class ProtoParsers { @@ -35,11 +32,8 @@ public final class ProtoParsers { @SuppressWarnings("unchecked") // We want to eventually optimize away parser classes, so cast public static <T extends MessageLite> T get(Bundle bundle, String key, T defaultInstance) throws InvalidProtocolBufferException { - // Class loaders are unique to each Class instance, so we need to specify how to decode - // the information again, even though we set the class loaders when serializing the data. - bundle.setClassLoader(ProtoParsers.class.getClassLoader()); - InternalDontUse parcelable = bundle.getParcelable(key); - return (T) parcelable.getMessageUnsafe(defaultInstance.getDefaultInstanceForType()); + byte[] bytes = bundle.getByteArray(key); + return (T) mergeFrom(bytes, defaultInstance.getDefaultInstanceForType()); } /** @@ -51,7 +45,7 @@ public final class ProtoParsers { try { return get(bundle, key, defaultInstance); } catch (InvalidProtocolBufferException e) { - throw new RuntimeException(e); + throw Assert.createIllegalStateFailException(e.toString()); } } @@ -68,121 +62,28 @@ public final class ProtoParsers { * Stores a proto in a Bundle, for later retrieval by {@link #get(Bundle, String, MessageLite)} or * {@link #getFromInstanceState(Bundle, String, MessageLite)}. */ - public static void put(Bundle bundle, String key, MessageLite message) { - bundle.putParcelable(key, new InternalDontUse<>(null, message)); + public static void put( + @NonNull Bundle bundle, @NonNull String key, @NonNull MessageLite message) { + Assert.checkState(message != null); + bundle.putByteArray(key, message.toByteArray()); } /** * Stores a proto in an Intent, for later retrieval by {@link #get(Bundle, String, MessageLite)}. * Needs separate method because Intent has similar to but different API than Bundle. */ - public static void put(Intent intent, String key, MessageLite message) { - intent.putExtra(key, new InternalDontUse<>(null, message)); - } - - /** Returns a {@linkplain Parcelable} representation of this protobuf message. */ - public static <T extends MessageLite> ParcelableProto<T> asParcelable(T message) { - return new InternalDontUse<>(null, message); - } - - /** - * A protobuf message that can be stored in a {@link Parcel}. - * - * <p><b>Note:</b> This <code>Parcelable</code> can only be used in single app. Attempting to send - * it to another app through an <code>Intent</code> will result in an exception due to Proguard - * obfusation when the target application attempts to load the <code>ParcelableProto</code> class. - */ - public interface ParcelableProto<T extends MessageLite> extends Parcelable { - /** - * @throws IllegalStateException if the parceled data does not correspond to the defaultInstance - * type. - */ - T getMessage(T defaultInstance); - } - - /** Public because of Parcelable requirements. Do not use. */ - public static final class InternalDontUse<T extends MessageLite> implements ParcelableProto<T> { - /* One of these two fields is always populated - since the bytes field never escapes this - * object, there is no risk of concurrent modification by multiple threads, and volatile - * is sufficient to be thread-safe. */ - private volatile byte[] bytes; - private volatile T message; - - /** - * Ideally, we would have type safety here. However, a static field {@link Creator} is required - * by {@link Parcelable}. Static fields are inherently not type safe, since only 1 exists per - * class (rather than 1 per type). - */ - public static final Parcelable.Creator<InternalDontUse<?>> CREATOR = - new Creator<InternalDontUse<?>>() { - @Override - public InternalDontUse<?> createFromParcel(Parcel parcel) { - int serializedSize = parcel.readInt(); - byte[] array = new byte[serializedSize]; - parcel.readByteArray(array); - return new InternalDontUse<>(array, null); - } - - @Override - public InternalDontUse<?>[] newArray(int i) { - return new InternalDontUse[i]; - } - }; - - private InternalDontUse(byte[] bytes, T message) { - Assert.checkArgument(bytes != null || message != null, "Must have a message or bytes"); - this.bytes = bytes; - this.message = message; - } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel parcel, int i) { - if (bytes == null) { - final byte[] flatArray = new byte[message.getSerializedSize()]; - try { - message.writeTo(CodedOutputStream.newInstance(flatArray)); - bytes = flatArray; - } catch (IOException impossible) { - throw new AssertionError(impossible); - } - } - parcel.writeInt(bytes.length); - parcel.writeByteArray(bytes); - } - - @Override - public T getMessage(T defaultInstance) { - try { - // The proto should never be invalid if it came from our application, so if it is, throw. - return getMessageUnsafe(defaultInstance); - } catch (InvalidProtocolBufferException e) { - throw new IllegalStateException(e); - } - } - - @SuppressWarnings("unchecked") // We're being deserialized, so there's no real type safety - T getMessageUnsafe(T defaultInstance) throws InvalidProtocolBufferException { - // There's a risk that we'll double-parse the bytes, but that's OK, because it'll end up - // as the same immutable object anyway. - if (message == null) { - message = (T) defaultInstance.toBuilder().mergeFrom(bytes).build(); - } - return message; - } + public static void put(@NonNull Intent intent, @NonNull String key, MessageLite message) { + Assert.checkState(message != null); + intent.putExtra(key, message.toByteArray()); } /** Parses a proto, throwing parser errors as runtime exceptions. */ @SuppressWarnings("unchecked") // We want to eventually optimize away parser classes - public static <T extends MessageLite> T mergeFrom(byte[] bytes, T defaultInstance) { + private static <T extends MessageLite> T mergeFrom(byte[] bytes, T defaultInstance) { try { return (T) defaultInstance.toBuilder().mergeFrom(bytes).build(); } catch (InvalidProtocolBufferException e) { - throw new RuntimeException(e); + throw Assert.createIllegalStateFailException(e.toString()); } } } diff --git a/java/com/android/dialer/searchfragment/AndroidManifest.xml b/java/com/android/dialer/searchfragment/AndroidManifest.xml new file mode 100644 index 000000000..88ce67c13 --- /dev/null +++ b/java/com/android/dialer/searchfragment/AndroidManifest.xml @@ -0,0 +1,16 @@ +<!-- + ~ 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 + --> +<manifest package="com.android.dialer.searchfragment"/>
\ No newline at end of file diff --git a/java/com/android/dialer/searchfragment/NewSearchFragment.java b/java/com/android/dialer/searchfragment/NewSearchFragment.java new file mode 100644 index 000000000..e7283d0ad --- /dev/null +++ b/java/com/android/dialer/searchfragment/NewSearchFragment.java @@ -0,0 +1,83 @@ +/* + * 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.searchfragment; + +import android.app.Fragment; +import android.app.LoaderManager.LoaderCallbacks; +import android.content.Loader; +import android.database.Cursor; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +/** Fragment used for searching contacts. */ +public final class NewSearchFragment extends Fragment implements LoaderCallbacks<Cursor> { + + private RecyclerView recyclerView; + private SearchAdapter adapter; + private String query; + + @Nullable + @Override + public View onCreateView( + LayoutInflater inflater, @Nullable ViewGroup parent, @Nullable Bundle bundle) { + getLoaderManager().initLoader(0, null, this); + View view = inflater.inflate(R.layout.fragment_search, parent, false); + recyclerView = view.findViewById(R.id.recycler_view); + recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + + getLoaderManager().initLoader(0, null, this); + return view; + } + + @Override + public Loader<Cursor> onCreateLoader(int id, Bundle bundle) { + // TODO add more loaders + return new SearchContactsCursorLoader(getContext()); + } + + @Override + public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { + if (adapter == null) { + adapter = new SearchAdapter(getContext()); + } + if (loader instanceof SearchContactsCursorLoader) { + adapter.setContactsCursor(new SearchContactCursor(cursor, query)); + } + recyclerView.setAdapter(adapter); + } + + @Override + public void onLoaderReset(Loader<Cursor> loader) { + if (adapter != null) { + adapter.clear(); + adapter = null; + } + recyclerView.setAdapter(null); + } + + public void setQuery(String query) { + this.query = query; + if (adapter != null) { + adapter.setQuery(query); + } + } +} diff --git a/java/com/android/dialer/searchfragment/QueryUtil.java b/java/com/android/dialer/searchfragment/QueryUtil.java new file mode 100644 index 000000000..a3f44ab83 --- /dev/null +++ b/java/com/android/dialer/searchfragment/QueryUtil.java @@ -0,0 +1,269 @@ +/* + * 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.searchfragment; + +import android.graphics.Typeface; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.telephony.PhoneNumberUtils; +import android.text.SpannableString; +import android.text.Spanned; +import android.text.TextUtils; +import android.text.style.StyleSpan; +import java.util.regex.Pattern; + +/** Contains utility methods for comparing and filtering strings with search queries. */ +final class QueryUtil { + + /** Matches strings with "-", "(", ")", 2-9 of at least length one. */ + static final Pattern T9_PATTERN = Pattern.compile("[\\-()2-9]+"); + + /** + * Compares a name and query and returns a {@link CharSequence} with bolded characters. + * + * <p>Some example: + * + * <ul> + * <li>"query" would bold "John [query] Smith" + * <li>"222" would bold "[AAA] Mom" + * <li>"222" would bold "[A]llen [A]lex [A]aron" + * </ul> + * + * @param query containing any characters + * @param name of a contact/string that query will compare to + * @return name with query bolded if query can be found in the name. + */ + static CharSequence getNameWithQueryBolded(@Nullable String query, @NonNull String name) { + if (TextUtils.isEmpty(query)) { + return name; + } + + int index = -1; + int numberOfBoldedCharacters = 0; + + if (nameMatchesT9Query(query, name)) { + // Bold the characters that match the t9 query + index = indexOfQueryNonDigitsIgnored(query, getT9Representation(name)); + if (index == -1) { + return getNameWithInitialsBolded(query, name); + } + numberOfBoldedCharacters = query.length(); + + for (int i = 0; i < query.length(); i++) { + char c = query.charAt(i); + if (!Character.isDigit(c)) { + numberOfBoldedCharacters--; + } + } + + for (int i = 0; i < index + numberOfBoldedCharacters; i++) { + if (!Character.isLetterOrDigit(name.charAt(i))) { + if (i < index) { + index++; + } else { + numberOfBoldedCharacters++; + } + } + } + } + + if (index == -1) { + // Bold the query as an exact match in the name + index = name.toLowerCase().indexOf(query); + numberOfBoldedCharacters = query.length(); + } + + return index == -1 ? name : getBoldedString(name, index, numberOfBoldedCharacters); + } + + private static CharSequence getNameWithInitialsBolded(String query, String name) { + SpannableString boldedInitials = new SpannableString(name); + name = name.toLowerCase(); + int initialsBolded = 0; + int nameIndex = -1; + + while (++nameIndex < name.length() && initialsBolded < query.length()) { + if ((nameIndex == 0 || name.charAt(nameIndex - 1) == ' ') + && getDigit(name.charAt(nameIndex)) == query.charAt(initialsBolded)) { + boldedInitials.setSpan( + new StyleSpan(Typeface.BOLD), + nameIndex, + nameIndex + 1, + Spanned.SPAN_INCLUSIVE_INCLUSIVE); + initialsBolded++; + } + } + return boldedInitials; + } + + /** + * Compares a number and a query and returns a {@link CharSequence} with bolded characters. + * + * <ul> + * <li>"123" would bold "(650)34[1-23]24" + * <li>"123" would bold "+1([123])111-2222 + * </ul> + * + * @param query containing only numbers and phone number related characters "(", ")", "-", "+" + * @param number phone number of a contact that the query will compare to. + * @return number with query bolded if query can be found in the number. + */ + static CharSequence getNumberWithQueryBolded(@Nullable String query, @NonNull String number) { + if (TextUtils.isEmpty(query) || !numberMatchesNumberQuery(query, number)) { + return number; + } + + int index = indexOfQueryNonDigitsIgnored(query, number); + int boldedCharacters = query.length(); + + for (char c : query.toCharArray()) { + if (!Character.isDigit(c)) { + boldedCharacters--; + } + } + + for (int i = 0; i < index + boldedCharacters; i++) { + if (!Character.isDigit(number.charAt(i))) { + if (i <= index) { + index++; + } else { + boldedCharacters++; + } + } + } + return getBoldedString(number, index, boldedCharacters); + } + + private static SpannableString getBoldedString(String s, int index, int numBolded) { + SpannableString span = new SpannableString(s); + span.setSpan( + new StyleSpan(Typeface.BOLD), index, index + numBolded, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); + return span; + } + + /** + * @return true if the query is of T9 format and the name's T9 representation belongs to the + * query; false otherwise. + */ + static boolean nameMatchesT9Query(String query, String name) { + if (!T9_PATTERN.matcher(query).matches()) { + return false; + } + + // Substring + if (indexOfQueryNonDigitsIgnored(query, getT9Representation(name)) != -1) { + return true; + } + + // Check matches initials + // TODO investigate faster implementation + query = digitsOnly(query); + int queryIndex = 0; + + String[] names = name.toLowerCase().split("\\s"); + for (int i = 0; i < names.length && queryIndex < query.length(); i++) { + if (TextUtils.isEmpty(names[i])) { + continue; + } + + if (getDigit(names[i].charAt(0)) == query.charAt(queryIndex)) { + queryIndex++; + } + } + + return queryIndex == query.length(); + } + + /** @return true if the number belongs to the query. */ + static boolean numberMatchesNumberQuery(String query, String number) { + return PhoneNumberUtils.isGlobalPhoneNumber(query) + && indexOfQueryNonDigitsIgnored(query, number) != -1; + } + + /** + * Checks if query is contained in number while ignoring all characters in both that are not + * digits (i.e. {@link Character#isDigit(char)} returns false). + * + * @return index where query is found with all non-digits removed, -1 if it's not found. + */ + private static int indexOfQueryNonDigitsIgnored(@NonNull String query, @NonNull String number) { + return digitsOnly(number).indexOf(digitsOnly(query)); + } + + // Returns string with letters replaced with their T9 representation. + private static String getT9Representation(String s) { + StringBuilder builder = new StringBuilder(s.length()); + for (char c : s.toLowerCase().toCharArray()) { + builder.append(getDigit(c)); + } + return builder.toString(); + } + + /** @return String s with only digits recognized by Character#isDigit() remaining */ + static String digitsOnly(String s) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (Character.isDigit(c)) { + sb.append(c); + } + } + return sb.toString(); + } + + // Returns the T9 representation of a lower case character, otherwise returns the character. + private static char getDigit(char c) { + switch (c) { + case 'a': + case 'b': + case 'c': + return '2'; + case 'd': + case 'e': + case 'f': + return '3'; + case 'g': + case 'h': + case 'i': + return '4'; + case 'j': + case 'k': + case 'l': + return '5'; + case 'm': + case 'n': + case 'o': + return '6'; + case 'p': + case 'q': + case 'r': + case 's': + return '7'; + case 't': + case 'u': + case 'v': + return '8'; + case 'w': + case 'x': + case 'y': + case 'z': + return '9'; + default: + return c; + } + } +} diff --git a/java/com/android/dialer/searchfragment/README.md b/java/com/android/dialer/searchfragment/README.md new file mode 100644 index 000000000..b3b9135e5 --- /dev/null +++ b/java/com/android/dialer/searchfragment/README.md @@ -0,0 +1,62 @@ +# Dialer Search Ui + +searchfragment/ contains all code relevant to loading, rendering and filtering +search results in both dialpad search and regular search. + +## Loading + +### On Device Contacts + +On device contacts loading happens in SearchContactsCursorLoader. It is used in +conjunction with NewSearchFragment and Loader Callbacks to return a cursor from +cp2 containing all of the relevant info needed to rendering. + +### Business Search + +// TODO(calderwoodra) + +### Google Directory Search + +// TODO(calderwoodra) + +## Rendering + +NewSearchFragment, SearchAdapter, SearchContactViewHolder and +SearchCursorManager are used to render contact information. The fragment's +recyclerview, adapter and viewholder work as expected like a normal recyclerview +paradigm. + +The are three things to note about rendering: + +* There are three data sources rendered: On device contacts, business search + results and google directory results. +* SearchContactsCursorLoader returns its cursor from cp2 and we filter/wrap it + with SearchContactCursor to render useful results (see below). +* SearchCursorManager is used to coalesce all three data sources to help with + determining row count, row type and returning the correct data source for + each position. + +## Filtering + +On device contacts are filtered using SearchContactCursor. We wrap the cursor +returned from SearchContactsCursorLoader in NewSearchFragment#onLoadFinished in +order to abstract away the filtering logic from the recyclerview adapter and +viewholders. + +SearchContactCursor applies filtering in SearchContactCursor#filter to remove +duplicate phone numbers returned from cp2 and phone numbers that do not match +the given search query. + +Filtering methods used are: + +* T9/dialpad search methods + * Initial match (957 matches [W]illiam [J]ohn [S]mith) + * Number + name match (1800946 matches [1800-Win]-A-Prize) +* Numeric/dialpad search methods + * Simple number match (510333 matches [510-333]-7596) + * Country-code agnostic matching for E164 normalized numbers (9177 matches + +65[9177]6930) + * Country-code agnostic matching (510333 matches 1-[510-333]-7596) + * Area-code agnostic matching (333 matches 510-[333]-7596) +* Name/keyboard search methods: + * Simple name match (564 matches [Joh]n) diff --git a/java/com/android/dialer/searchfragment/SearchAdapter.java b/java/com/android/dialer/searchfragment/SearchAdapter.java new file mode 100644 index 000000000..8f5241557 --- /dev/null +++ b/java/com/android/dialer/searchfragment/SearchAdapter.java @@ -0,0 +1,84 @@ +/* + * 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.searchfragment; + +import android.content.Context; +import android.database.Cursor; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.RecyclerView.ViewHolder; +import android.view.LayoutInflater; +import android.view.ViewGroup; +import com.android.dialer.common.Assert; +import com.android.dialer.searchfragment.SearchCursorManager.RowType; + +/** RecyclerView adapter for {@link NewSearchFragment}. */ +class SearchAdapter extends RecyclerView.Adapter<ViewHolder> { + + private final SearchCursorManager searchCursorManager; + private final Context context; + + private String query; + + SearchAdapter(Context context) { + searchCursorManager = new SearchCursorManager(); + this.context = context; + } + + // TODO: fill in the rest of the view holders. + @Override + public ViewHolder onCreateViewHolder(ViewGroup root, int position) { + @RowType int rowType = searchCursorManager.getRowType(position); + switch (rowType) { + case RowType.CONTACT_ROW: + return new SearchContactViewHolder( + LayoutInflater.from(context).inflate(R.layout.search_contact_row, root, false)); + case RowType.DIRECTORY_HEADER: + case RowType.DIRECTORY_ROW: + case RowType.INVALID: + case RowType.NEARBY_PLACES_HEADER: + case RowType.NEARBY_PLACES_ROW: + return null; + default: + throw Assert.createIllegalStateFailException("Invalid RowType: " + rowType); + } + } + + @Override + public void onBindViewHolder(ViewHolder holder, int position) { + Cursor cursor = searchCursorManager.getCursor(position); + ((SearchContactViewHolder) holder).bind(cursor, query); + } + + void setContactsCursor(Cursor cursor) { + searchCursorManager.setContactsCursor(cursor); + } + + void clear() { + searchCursorManager.clear(); + } + + @Override + public int getItemCount() { + return searchCursorManager.getCount(); + } + + public void setQuery(String query) { + this.query = query; + searchCursorManager.setQuery(query); + notifyDataSetChanged(); + } +} diff --git a/java/com/android/dialer/searchfragment/SearchContactCursor.java b/java/com/android/dialer/searchfragment/SearchContactCursor.java new file mode 100644 index 000000000..5006e1a60 --- /dev/null +++ b/java/com/android/dialer/searchfragment/SearchContactCursor.java @@ -0,0 +1,390 @@ +/* + * 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.searchfragment; + +import android.content.ContentResolver; +import android.database.CharArrayBuffer; +import android.database.ContentObserver; +import android.database.Cursor; +import android.database.DataSetObserver; +import android.net.Uri; +import android.os.Bundle; +import android.support.annotation.IntDef; +import android.support.annotation.Nullable; +import android.text.TextUtils; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.util.ArrayList; +import java.util.List; + +/** + * Wrapper for a cursor returned by {@link SearchContactsCursorLoader}. + * + * <p>This cursor removes duplicate phone numbers associated with the same contact and can filter + * contacts based on a query by calling {@link #filter(String)}. + */ +final class SearchContactCursor implements Cursor { + + private final Cursor cursor; + // List of cursor ids that are valid for displaying after filtering. + private final List<Integer> queryFilteredPositions = new ArrayList<>(); + + private int currentPosition = 0; + + @Retention(RetentionPolicy.SOURCE) + @IntDef({ + Qualification.NUMBERS_ARE_NOT_DUPLICATES, + Qualification.NEW_NUMBER_IS_MORE_QUALIFIED, + Qualification.CURRENT_MORE_QUALIFIED + }) + private @interface Qualification { + /** Numbers are not duplicates (i.e. neither is more qualified than the other). */ + int NUMBERS_ARE_NOT_DUPLICATES = 0; + /** Number are duplicates and new number is more qualified than the existing number. */ + int NEW_NUMBER_IS_MORE_QUALIFIED = 1; + /** Numbers are duplicates but current/existing number is more qualified than new number. */ + int CURRENT_MORE_QUALIFIED = 2; + } + + /** + * @param cursor with projection {@link SearchContactsCursorLoader#PHONE_PROJECTION}. + * @param query to filter cursor results. + */ + SearchContactCursor(Cursor cursor, @Nullable String query) { + // TODO investigate copying this into a MatrixCursor and holding in memory + this.cursor = cursor; + filter(query); + } + + /** + * Filters out contacts that do not match the query. + * + * <p>The query can have at least 1 of 3 forms: + * + * <ul> + * <li>A phone number + * <li>A T9 representation of a name (matches {@link QueryUtil#T9_PATTERN}). + * <li>A name + * </ul> + * + * <p>A contact is considered a match if: + * + * <ul> + * <li>Its phone number contains the phone number query + * <li>Its name represented in T9 contains the T9 query + * <li>Its name contains the query + * </ul> + */ + void filter(@Nullable String query) { + if (query == null) { + query = ""; + } + queryFilteredPositions.clear(); + + // On some devices, contacts have multiple rows with identical phone numbers. These numbers are + // considered duplicates. Since the order might not be guaranteed, we compare all of the numbers + // and hold onto the most qualified one as the one we want to display to the user. + // See #getQualification for details on how qualification is determined. + int previousMostQualifiedPosition = 0; + String previousName = ""; + String previousMostQualifiedNumber = ""; + + query = query.toLowerCase(); + cursor.moveToPosition(-1); + + while (cursor.moveToNext()) { + int position = cursor.getPosition(); + String currentNumber = cursor.getString(SearchContactsCursorLoader.PHONE_NUMBER); + String currentName = cursor.getString(SearchContactsCursorLoader.PHONE_DISPLAY_NAME); + + if (!previousName.equals(currentName)) { + previousName = currentName; + previousMostQualifiedNumber = currentNumber; + previousMostQualifiedPosition = position; + } else { + // Since the contact name is the same, check if this number is a duplicate + switch (getQualification(currentNumber, previousMostQualifiedNumber)) { + case Qualification.CURRENT_MORE_QUALIFIED: + // Number is a less qualified duplicate, ignore it. + continue; + case Qualification.NEW_NUMBER_IS_MORE_QUALIFIED: + // If number wasn't filtered out before, remove it and add it's more qualified version. + if (queryFilteredPositions.contains(previousMostQualifiedPosition)) { + queryFilteredPositions.remove(previousMostQualifiedPosition); + queryFilteredPositions.add(position); + } + previousMostQualifiedNumber = currentNumber; + previousMostQualifiedPosition = position; + continue; + case Qualification.NUMBERS_ARE_NOT_DUPLICATES: + default: + previousMostQualifiedNumber = currentNumber; + previousMostQualifiedPosition = position; + } + } + + if (TextUtils.isEmpty(query) + || QueryUtil.nameMatchesT9Query(query, previousName) + || QueryUtil.numberMatchesNumberQuery(query, previousMostQualifiedNumber) + || previousName.contains(query)) { + queryFilteredPositions.add(previousMostQualifiedPosition); + } + } + currentPosition = 0; + cursor.moveToFirst(); + } + + /** + * @param number that may or may not be more qualified than the existing most qualified number + * @param mostQualifiedNumber currently most qualified number associated with same contact + * @return {@link Qualification} where the more qualified number is the number with the most + * digits. If the digits are the same, the number with the most formatting is more qualified. + */ + private @Qualification int getQualification(String number, String mostQualifiedNumber) { + // Ignore formatting + String numberDigits = QueryUtil.digitsOnly(number); + String qualifiedNumberDigits = QueryUtil.digitsOnly(mostQualifiedNumber); + + // If the numbers are identical, return version with more formatting + if (qualifiedNumberDigits.equals(numberDigits)) { + if (mostQualifiedNumber.length() >= number.length()) { + return Qualification.CURRENT_MORE_QUALIFIED; + } else { + return Qualification.NEW_NUMBER_IS_MORE_QUALIFIED; + } + } + + // If one number is a suffix of another, then return the longer one. + // If they are equal, then return the current most qualified number. + if (qualifiedNumberDigits.endsWith(numberDigits)) { + return Qualification.CURRENT_MORE_QUALIFIED; + } + if (numberDigits.endsWith(qualifiedNumberDigits)) { + return Qualification.NEW_NUMBER_IS_MORE_QUALIFIED; + } + return Qualification.NUMBERS_ARE_NOT_DUPLICATES; + } + + @Override + public boolean moveToPosition(int position) { + currentPosition = position; + return currentPosition < getCount() + && cursor.moveToPosition(queryFilteredPositions.get(currentPosition)); + } + + @Override + public boolean move(int offset) { + currentPosition += offset; + return moveToPosition(currentPosition); + } + + @Override + public int getCount() { + return queryFilteredPositions.size(); + } + + @Override + public boolean isFirst() { + return currentPosition == 0; + } + + @Override + public boolean isLast() { + return currentPosition == getCount() - 1; + } + + @Override + public int getPosition() { + return currentPosition; + } + + @Override + public boolean moveToFirst() { + return moveToPosition(0); + } + + @Override + public boolean moveToLast() { + return moveToPosition(getCount() - 1); + } + + @Override + public boolean moveToNext() { + return moveToPosition(++currentPosition); + } + + @Override + public boolean moveToPrevious() { + return moveToPosition(--currentPosition); + } + + // Methods below simply call the corresponding method in cursor. + @Override + public boolean isBeforeFirst() { + return cursor.isBeforeFirst(); + } + + @Override + public boolean isAfterLast() { + return cursor.isAfterLast(); + } + + @Override + public int getColumnIndex(String columnName) { + return cursor.getColumnIndex(columnName); + } + + @Override + public int getColumnIndexOrThrow(String columnName) { + return cursor.getColumnIndexOrThrow(columnName); + } + + @Override + public String getColumnName(int columnIndex) { + return cursor.getColumnName(columnIndex); + } + + @Override + public String[] getColumnNames() { + return cursor.getColumnNames(); + } + + @Override + public int getColumnCount() { + return cursor.getColumnCount(); + } + + @Override + public byte[] getBlob(int columnIndex) { + return cursor.getBlob(columnIndex); + } + + @Override + public String getString(int columnIndex) { + return cursor.getString(columnIndex); + } + + @Override + public void copyStringToBuffer(int columnIndex, CharArrayBuffer buffer) { + cursor.copyStringToBuffer(columnIndex, buffer); + } + + @Override + public short getShort(int columnIndex) { + return cursor.getShort(columnIndex); + } + + @Override + public int getInt(int columnIndex) { + return cursor.getInt(columnIndex); + } + + @Override + public long getLong(int columnIndex) { + return cursor.getLong(columnIndex); + } + + @Override + public float getFloat(int columnIndex) { + return cursor.getFloat(columnIndex); + } + + @Override + public double getDouble(int columnIndex) { + return cursor.getDouble(columnIndex); + } + + @Override + public int getType(int columnIndex) { + return cursor.getType(columnIndex); + } + + @Override + public boolean isNull(int columnIndex) { + return cursor.isNull(columnIndex); + } + + @Override + public void deactivate() { + cursor.deactivate(); + } + + @Override + public boolean requery() { + return cursor.requery(); + } + + @Override + public void close() { + cursor.close(); + } + + @Override + public boolean isClosed() { + return cursor.isClosed(); + } + + @Override + public void registerContentObserver(ContentObserver observer) { + cursor.registerContentObserver(observer); + } + + @Override + public void unregisterContentObserver(ContentObserver observer) { + cursor.unregisterContentObserver(observer); + } + + @Override + public void registerDataSetObserver(DataSetObserver observer) { + cursor.registerDataSetObserver(observer); + } + + @Override + public void unregisterDataSetObserver(DataSetObserver observer) { + cursor.unregisterDataSetObserver(observer); + } + + @Override + public void setNotificationUri(ContentResolver cr, Uri uri) { + cursor.setNotificationUri(cr, uri); + } + + @Override + public Uri getNotificationUri() { + return cursor.getNotificationUri(); + } + + @Override + public boolean getWantsAllOnMoveCalls() { + return cursor.getWantsAllOnMoveCalls(); + } + + @Override + public void setExtras(Bundle extras) { + cursor.setExtras(extras); + } + + @Override + public Bundle getExtras() { + return cursor.getExtras(); + } + + @Override + public Bundle respond(Bundle extras) { + return cursor.respond(extras); + } +} diff --git a/java/com/android/dialer/searchfragment/SearchContactViewHolder.java b/java/com/android/dialer/searchfragment/SearchContactViewHolder.java new file mode 100644 index 000000000..4ac6af33e --- /dev/null +++ b/java/com/android/dialer/searchfragment/SearchContactViewHolder.java @@ -0,0 +1,203 @@ +/* + * 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.searchfragment; + +import android.content.Context; +import android.content.res.Resources; +import android.database.Cursor; +import android.net.Uri; +import android.provider.ContactsContract.CommonDataKinds.Phone; +import android.provider.ContactsContract.Contacts; +import android.support.annotation.IntDef; +import android.support.v7.widget.RecyclerView.ViewHolder; +import android.text.TextUtils; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageView; +import android.widget.QuickContactBadge; +import android.widget.TextView; +import com.android.contacts.common.ContactPhotoManager; +import com.android.contacts.common.lettertiles.LetterTileDrawable; +import com.android.dialer.callintent.CallInitiationType.Type; +import com.android.dialer.callintent.CallIntentBuilder; +import com.android.dialer.common.Assert; +import com.android.dialer.telecom.TelecomUtil; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** ViewHolder for a contact row in {@link NewSearchFragment}. */ +final class SearchContactViewHolder extends ViewHolder implements OnClickListener { + + /** IntDef for the different types of actions that can be shown. */ + @Retention(RetentionPolicy.SOURCE) + @IntDef({ + SearchContactViewHolder.CallToAction.NONE, + SearchContactViewHolder.CallToAction.VIDEO_CALL, + SearchContactViewHolder.CallToAction.SHARE_AND_CALL + }) + @interface CallToAction { + int NONE = 0; + int VIDEO_CALL = 1; + int SHARE_AND_CALL = 2; + } + + private final QuickContactBadge photo; + private final TextView nameOrNumberView; + private final TextView numberView; + private final ImageView callToActionView; + private final Context context; + + private String number; + private @CallToAction int currentAction; + + SearchContactViewHolder(View view) { + super(view); + view.setOnClickListener(this); + photo = view.findViewById(R.id.photo); + nameOrNumberView = view.findViewById(R.id.primary); + numberView = view.findViewById(R.id.secondary); + callToActionView = view.findViewById(R.id.call_to_action); + context = view.getContext(); + } + + /** + * Binds the ViewHolder with a cursor from {@link SearchContactsCursorLoader} with the data found + * at the cursors set position. + */ + void bind(Cursor cursor, String query) { + number = cursor.getString(SearchContactsCursorLoader.PHONE_NUMBER); + String name = cursor.getString(SearchContactsCursorLoader.PHONE_DISPLAY_NAME); + String label = getLabel(context.getResources(), cursor); + String secondaryInfo = + TextUtils.isEmpty(label) + ? number + : context.getString(R.string.call_subject_type_and_number, label, number); + + nameOrNumberView.setText(QueryUtil.getNameWithQueryBolded(query, name)); + numberView.setText(QueryUtil.getNumberWithQueryBolded(query, secondaryInfo)); + setCallToAction(cursor); + + if (shouldShowPhoto(cursor, name)) { + nameOrNumberView.setVisibility(View.VISIBLE); + photo.setVisibility(View.VISIBLE); + photo.setContentDescription(context.getString(R.string.description_quick_contact_for, name)); + String photoUri = cursor.getString(SearchContactsCursorLoader.PHONE_PHOTO_URI); + ContactPhotoManager.getInstance(context) + .loadDialerThumbnailOrPhoto( + photo, + getContactUri(cursor), + cursor.getLong(SearchContactsCursorLoader.PHONE_PHOTO_ID), + photoUri == null ? null : Uri.parse(photoUri), + name, + LetterTileDrawable.TYPE_DEFAULT); + } else { + nameOrNumberView.setVisibility(View.GONE); + photo.setVisibility(View.INVISIBLE); + } + } + + private boolean shouldShowPhoto(Cursor cursor, String currentName) { + int currentPosition = cursor.getPosition(); + if (currentPosition == 0) { + return true; + } else { + cursor.moveToPosition(currentPosition - 1); + String previousName = cursor.getString(SearchContactsCursorLoader.PHONE_DISPLAY_NAME); + cursor.moveToPosition(currentPosition); + return !currentName.equals(previousName); + } + } + + private static Uri getContactUri(Cursor cursor) { + long contactId = cursor.getLong(SearchContactsCursorLoader.PHONE_ID); + String lookupKey = cursor.getString(SearchContactsCursorLoader.PHONE_LOOKUP_KEY); + return Contacts.getLookupUri(contactId, lookupKey); + } + + // TODO: handle CNAP and cequint types. + // TODO: unify this into a utility method with CallLogAdapter#getNumberType + private static String getLabel(Resources resources, Cursor cursor) { + int numberType = cursor.getInt(SearchContactsCursorLoader.PHONE_TYPE); + String numberLabel = cursor.getString(SearchContactsCursorLoader.PHONE_LABEL); + + // Returns empty label instead of "custom" if the custom label is empty. + if (numberType == Phone.TYPE_CUSTOM && TextUtils.isEmpty(numberLabel)) { + return ""; + } + return (String) Phone.getTypeLabel(resources, numberType, numberLabel); + } + + private void setCallToAction(Cursor cursor) { + currentAction = getCallToAction(cursor); + switch (currentAction) { + case CallToAction.NONE: + callToActionView.setVisibility(View.GONE); + callToActionView.setOnClickListener(null); + break; + case CallToAction.SHARE_AND_CALL: + callToActionView.setVisibility(View.VISIBLE); + callToActionView.setImageDrawable(context.getDrawable(R.drawable.ic_phone_attach)); + callToActionView.setOnClickListener(this); + break; + case CallToAction.VIDEO_CALL: + callToActionView.setVisibility(View.VISIBLE); + callToActionView.setImageDrawable( + context.getDrawable(R.drawable.quantum_ic_videocam_white_24)); + callToActionView.setOnClickListener(this); + break; + default: + throw Assert.createIllegalStateFailException( + "Invalid Call to action type: " + currentAction); + } + } + + private static @CallToAction int getCallToAction(Cursor cursor) { + int carrierPresence = cursor.getInt(SearchContactsCursorLoader.PHONE_CARRIER_PRESENCE); + if ((carrierPresence & Phone.CARRIER_PRESENCE_VT_CAPABLE) == 1) { + return CallToAction.VIDEO_CALL; + } + + // TODO: enriched calling + return CallToAction.NONE; + } + + @Override + public void onClick(View view) { + if (view == callToActionView) { + switch (currentAction) { + case CallToAction.SHARE_AND_CALL: + callToActionView.setVisibility(View.VISIBLE); + callToActionView.setImageDrawable(context.getDrawable(R.drawable.ic_phone_attach)); + // TODO: open call composer. + break; + case CallToAction.VIDEO_CALL: + callToActionView.setVisibility(View.VISIBLE); + callToActionView.setImageDrawable( + context.getDrawable(R.drawable.quantum_ic_videocam_white_24)); + // TODO: place a video call + break; + case CallToAction.NONE: + default: + throw Assert.createIllegalStateFailException( + "Invalid Call to action type: " + currentAction); + } + } else { + // TODO: set the correct call initiation type. + TelecomUtil.placeCall(context, new CallIntentBuilder(number, Type.REGULAR_SEARCH).build()); + } + } +} diff --git a/java/com/android/dialer/searchfragment/SearchContactsCursorLoader.java b/java/com/android/dialer/searchfragment/SearchContactsCursorLoader.java new file mode 100644 index 000000000..309dfffd9 --- /dev/null +++ b/java/com/android/dialer/searchfragment/SearchContactsCursorLoader.java @@ -0,0 +1,57 @@ +/* + * 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.searchfragment; + +import android.content.Context; +import android.content.CursorLoader; +import android.provider.ContactsContract.CommonDataKinds.Phone; + +/** Cursor Loader for {@link NewSearchFragment}. */ +final class SearchContactsCursorLoader extends CursorLoader { + + public static final int PHONE_ID = 0; + public static final int PHONE_TYPE = 1; + public static final int PHONE_LABEL = 2; + public static final int PHONE_NUMBER = 3; + public static final int PHONE_DISPLAY_NAME = 4; + public static final int PHONE_PHOTO_ID = 5; + public static final int PHONE_PHOTO_URI = 6; + public static final int PHONE_LOOKUP_KEY = 7; + public static final int PHONE_CARRIER_PRESENCE = 8; + + @SuppressWarnings("unused") + public static final int PHONE_SOFT_KEY = 9; + + static final String[] PHONE_PROJECTION = + new String[] { + Phone._ID, // 0 + Phone.TYPE, // 1 + Phone.LABEL, // 2 + Phone.NUMBER, // 3 + Phone.DISPLAY_NAME_PRIMARY, // 4 + Phone.PHOTO_ID, // 5 + Phone.PHOTO_THUMBNAIL_URI, // 6 + Phone.LOOKUP_KEY, // 7 + Phone.CARRIER_PRESENCE, // 8 + Phone.SORT_KEY_PRIMARY // 9 + }; + + SearchContactsCursorLoader(Context context) { + super( + context, Phone.CONTENT_URI, PHONE_PROJECTION, null, null, Phone.SORT_KEY_PRIMARY + " ASC"); + } +} diff --git a/java/com/android/dialer/searchfragment/SearchCursorManager.java b/java/com/android/dialer/searchfragment/SearchCursorManager.java new file mode 100644 index 000000000..64c4fc170 --- /dev/null +++ b/java/com/android/dialer/searchfragment/SearchCursorManager.java @@ -0,0 +1,229 @@ +/* + * 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.searchfragment; + +import android.database.Cursor; +import android.support.annotation.IntDef; +import com.android.dialer.common.Assert; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * Manages all of the cursors needed for {@link SearchAdapter}. + * + * <p>This class accepts three cursors: + * + * <ul> + * <li>A contacts cursor {@link #setContactsCursor(Cursor)} + * <li>A google search results cursor {@link #setNearbyPlacesCursor(Cursor)} + * <li>A work directory cursor {@link #setCorpDirectoryCursor(Cursor)} + * </ul> + * + * <p>The key purpose of this class is to compose three aforementioned cursors together to function + * as one cursor. The key methods needed to utilize this class as a cursor are: + * + * <ul> + * <li>{@link #getCursor(int)} + * <li>{@link #getCount()} + * <li>{@link #getRowType(int)} + * </ul> + */ +final class SearchCursorManager { + + /** IntDef for the different types of rows that can be shown when searching. */ + @Retention(RetentionPolicy.SOURCE) + @IntDef({ + SearchCursorManager.RowType.INVALID, + SearchCursorManager.RowType.CONTACT_ROW, + SearchCursorManager.RowType.NEARBY_PLACES_HEADER, + SearchCursorManager.RowType.NEARBY_PLACES_ROW, + SearchCursorManager.RowType.DIRECTORY_HEADER, + SearchCursorManager.RowType.DIRECTORY_ROW + }) + @interface RowType { + int INVALID = 0; + /** A row containing contact information for contacts stored locally on device. */ + int CONTACT_ROW = 1; + /** Header to mark the end of contact rows and start of nearby places rows. */ + int NEARBY_PLACES_HEADER = 2; + /** A row containing nearby places information/search results. */ + int NEARBY_PLACES_ROW = 3; + /** Header to mark the end of the previous row set and start of directory rows. */ + int DIRECTORY_HEADER = 4; + /** A row containing contact information for contacts stored externally in corp directories. */ + int DIRECTORY_ROW = 5; + } + + private Cursor contactsCursor = null; + private Cursor nearbyPlacesCursor = null; + private Cursor corpDirectoryCursor = null; + + void setContactsCursor(Cursor cursor) { + if (cursor != null && cursor.getCount() > 0) { + contactsCursor = cursor; + } else { + contactsCursor = null; + } + } + + void setNearbyPlacesCursor(Cursor cursor) { + if (cursor != null && cursor.getCount() > 0) { + nearbyPlacesCursor = cursor; + } else { + nearbyPlacesCursor = null; + } + } + + void setCorpDirectoryCursor(Cursor cursor) { + if (cursor != null && cursor.getCount() > 0) { + corpDirectoryCursor = cursor; + } else { + corpDirectoryCursor = null; + } + } + + void setQuery(String query) { + if (contactsCursor != null) { + ((SearchContactCursor) contactsCursor).filter(query); + } + } + + /** @return the sum of counts of all cursors, including headers. */ + int getCount() { + int count = 0; + if (contactsCursor != null) { + count += contactsCursor.getCount(); + } + + if (nearbyPlacesCursor != null) { + count++; // header + count += nearbyPlacesCursor.getCount(); + } + + if (corpDirectoryCursor != null) { + count++; // header + count += corpDirectoryCursor.getCount(); + } + + return count; + } + + @RowType + int getRowType(int position) { + if (contactsCursor != null) { + position -= contactsCursor.getCount(); + + if (position < 0) { + return SearchCursorManager.RowType.CONTACT_ROW; + } + } + + if (nearbyPlacesCursor != null) { + if (position == 0) { + return SearchCursorManager.RowType.NEARBY_PLACES_HEADER; + } else { + position--; // header + } + + position -= nearbyPlacesCursor.getCount(); + + if (position < 0) { + return SearchCursorManager.RowType.NEARBY_PLACES_ROW; + } + } + + if (corpDirectoryCursor != null) { + if (position == 0) { + return SearchCursorManager.RowType.DIRECTORY_HEADER; + } else { + position--; // header + } + + position -= corpDirectoryCursor.getCount(); + + if (position < 0) { + return SearchCursorManager.RowType.DIRECTORY_ROW; + } + } + + throw Assert.createIllegalStateFailException("No valid row type."); + } + + /** + * Gets cursor corresponding to position in coelesced list of search cursors. Callers should + * ensure that {@link #getRowType(int)} doesn't correspond to header position, otherwise an + * exception will be thrown. + * + * @param position in coalecsed list of search cursors + * @return Cursor moved to position specific to passed in position. + */ + Cursor getCursor(int position) { + if (contactsCursor != null) { + int count = contactsCursor.getCount(); + + if (position - count < 0) { + contactsCursor.moveToPosition(position); + return contactsCursor; + } + position -= count; + } + + if (nearbyPlacesCursor != null) { + Assert.checkArgument(position != 0, "No valid cursor, position is nearby places header."); + position--; // header + int count = nearbyPlacesCursor.getCount(); + + if (position - count < 0) { + nearbyPlacesCursor.moveToPosition(position); + return nearbyPlacesCursor; + } + position -= count; + } + + if (corpDirectoryCursor != null) { + Assert.checkArgument(position != 0, "No valid cursor, position is directory search header."); + position--; // header + int count = corpDirectoryCursor.getCount(); + + if (position - count < 0) { + corpDirectoryCursor.moveToPosition(position); + return corpDirectoryCursor; + } + position -= count; + } + + throw Assert.createIllegalStateFailException("No valid cursor."); + } + + /** removes all cursors. */ + void clear() { + if (contactsCursor != null) { + contactsCursor.close(); + contactsCursor = null; + } + + if (nearbyPlacesCursor != null) { + nearbyPlacesCursor.close(); + nearbyPlacesCursor = null; + } + + if (corpDirectoryCursor != null) { + corpDirectoryCursor.close(); + corpDirectoryCursor = null; + } + } +} diff --git a/java/com/android/dialer/searchfragment/res/layout/fragment_search.xml b/java/com/android/dialer/searchfragment/res/layout/fragment_search.xml new file mode 100644 index 000000000..06f234889 --- /dev/null +++ b/java/com/android/dialer/searchfragment/res/layout/fragment_search.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> +<android.support.v7.widget.RecyclerView + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/recycler_view" + android:layout_width="match_parent" + android:layout_height="match_parent"/> diff --git a/java/com/android/dialer/searchfragment/res/layout/search_contact_row.xml b/java/com/android/dialer/searchfragment/res/layout/search_contact_row.xml new file mode 100644 index 000000000..efeca0e9d --- /dev/null +++ b/java/com/android/dialer/searchfragment/res/layout/search_contact_row.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> +<RelativeLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="horizontal" + android:layout_width="match_parent" + android:layout_height="@dimen/search_row_height" + android:paddingStart="16dp" + android:paddingEnd="16dp" + android:background="?android:attr/selectableItemBackground"> + + <QuickContactBadge + android:id="@+id/photo" + android:layout_width="@dimen/search_row_height" + android:layout_height="@dimen/search_row_height" + android:padding="@dimen/search_photo_padding" + android:clickable="false"/> + + <LinearLayout + android:orientation="vertical" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toEndOf="@+id/photo" + android:layout_toStartOf="@+id/call_to_action" + android:layout_centerVertical="true"> + + <TextView + android:id="@+id/primary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingStart="@dimen/search_text_padding_start" + android:gravity="center_vertical|start" + android:textSize="@dimen/new_search_text_size" + android:textColor="@color/dialer_primary_text_color" + android:maxLines="1" + android:ellipsize="end" + android:fontFamily="sans-serif"/> + + <TextView + android:id="@+id/secondary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingStart="@dimen/search_text_padding_start" + android:gravity="center_vertical|start" + android:textSize="@dimen/new_search_text_size" + android:textColor="@color/dialer_primary_text_color" + android:maxLines="1" + android:ellipsize="end" + android:fontFamily="sans-serif"/> + </LinearLayout> + + <ImageView + android:id="@+id/call_to_action" + android:layout_width="@dimen/search_row_height" + android:layout_height="@dimen/search_row_height" + android:layout_alignParentEnd="true" + android:padding="@dimen/call_to_action_padding" + android:tint="@color/secondary_text_color" + android:visibility="gone" + android:scaleType="center"/> +</RelativeLayout>
\ No newline at end of file diff --git a/java/com/android/dialer/searchfragment/res/values/dimens.xml b/java/com/android/dialer/searchfragment/res/values/dimens.xml new file mode 100644 index 000000000..d5459ddb3 --- /dev/null +++ b/java/com/android/dialer/searchfragment/res/values/dimens.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> +<resources> + <dimen name="search_row_height">56dp</dimen> + <dimen name="search_photo_padding">8dp</dimen> + <dimen name="call_to_action_padding">8dp</dimen> + <dimen name="search_text_padding_start">16dp</dimen> + <dimen name="new_search_text_size">16sp</dimen> +</resources>
\ No newline at end of file diff --git a/java/com/android/dialer/shortcuts/AndroidManifest.xml b/java/com/android/dialer/shortcuts/AndroidManifest.xml index 71320517d..15f77944e 100644 --- a/java/com/android/dialer/shortcuts/AndroidManifest.xml +++ b/java/com/android/dialer/shortcuts/AndroidManifest.xml @@ -20,7 +20,7 @@ android:minSdkVersion="23" android:targetSdkVersion="26"/> - <application> + <application android:theme="@style/Theme.AppCompat"> <service android:exported="false" diff --git a/java/com/android/dialer/telecom/TelecomUtil.java b/java/com/android/dialer/telecom/TelecomUtil.java index 87ddda58b..82b43835f 100644 --- a/java/com/android/dialer/telecom/TelecomUtil.java +++ b/java/com/android/dialer/telecom/TelecomUtil.java @@ -38,12 +38,17 @@ import java.util.List; * perform the required check and return the fallback default if the permission is missing, * otherwise return the value from TelecomManager. */ -public class TelecomUtil { +public abstract class TelecomUtil { private static final String TAG = "TelecomUtil"; private static boolean sWarningLogged = false; - private static Boolean isDefaultDialerForTesting; - private static Boolean hasPermissionForTesting; + + private static TelecomUtilImpl instance = new TelecomUtilImpl(); + + @VisibleForTesting(otherwise = VisibleForTesting.NONE) + public static void setInstanceForTesting(TelecomUtilImpl instanceForTesting) { + instance = instanceForTesting; + } public static void showInCallScreen(Context context, boolean showDialpad) { if (hasReadPhoneStatePermission(context)) { @@ -125,10 +130,7 @@ public class TelecomUtil { } public static boolean isInCall(Context context) { - if (hasReadPhoneStatePermission(context)) { - return getTelecomManager(context).isInCall(); - } - return false; + return instance.isInCall(context); } public static boolean isVoicemailNumber( @@ -189,43 +191,47 @@ public class TelecomUtil { } private static boolean hasPermission(Context context, String permission) { - if (hasPermissionForTesting != null) { - return hasPermissionForTesting; - } - return ContextCompat.checkSelfPermission(context, permission) - == PackageManager.PERMISSION_GRANTED; - } - - public static boolean isDefaultDialer(Context context) { - if (isDefaultDialerForTesting != null) { - return isDefaultDialerForTesting; - } - final boolean result = - TextUtils.equals( - context.getPackageName(), getTelecomManager(context).getDefaultDialerPackage()); - if (result) { - sWarningLogged = false; - } else { - if (!sWarningLogged) { - // Log only once to prevent spam. - LogUtil.w(TAG, "Dialer is not currently set to be default dialer"); - sWarningLogged = true; - } - } - return result; + return instance.hasPermission(context, permission); } private static TelecomManager getTelecomManager(Context context) { return (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE); } - @VisibleForTesting(otherwise = VisibleForTesting.NONE) - public static void setIsDefaultDialerForTesting(Boolean defaultDialer) { - isDefaultDialerForTesting = defaultDialer; + public static boolean isDefaultDialer(Context context) { + return instance.isDefaultDialer(context); } - @VisibleForTesting(otherwise = VisibleForTesting.NONE) - public static void setHasPermissionForTesting(Boolean hasPermission) { - hasPermissionForTesting = hasPermission; + /** Contains an implementation for {@link TelecomUtil} methods */ + @VisibleForTesting() + public static class TelecomUtilImpl { + + public boolean isInCall(Context context) { + if (hasReadPhoneStatePermission(context)) { + return getTelecomManager(context).isInCall(); + } + return false; + } + + public boolean hasPermission(Context context, String permission) { + return ContextCompat.checkSelfPermission(context, permission) + == PackageManager.PERMISSION_GRANTED; + } + + public boolean isDefaultDialer(Context context) { + final boolean result = + TextUtils.equals( + context.getPackageName(), getTelecomManager(context).getDefaultDialerPackage()); + if (result) { + sWarningLogged = false; + } else { + if (!sWarningLogged) { + // Log only once to prevent spam. + LogUtil.w(TAG, "Dialer is not currently set to be default dialer"); + sWarningLogged = true; + } + } + return result; + } } } diff --git a/java/com/android/dialer/theme/res/values-af/strings.xml b/java/com/android/dialer/theme/res/values-af/strings.xml index f263a8186..17e6ceac4 100644 --- a/java/com/android/dialer/theme/res/values-af/strings.xml +++ b/java/com/android/dialer/theme/res/values-af/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefoonhokkie"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Foon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratoestemming is geaktiveer"</string> + <string name="video_call" msgid="8914878391104612532">"Video-oproep"</string> <string name="call" msgid="3699617769606114168">"Bel"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-am/strings.xml b/java/com/android/dialer/theme/res/values-am/strings.xml index 4f3624428..5b0b2fd1f 100644 --- a/java/com/android/dialer/theme/res/values-am/strings.xml +++ b/java/com/android/dialer/theme/res/values-am/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"የሕዝብ ስልክ"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ስልክ"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"የካሜራ ፈቃድ ነቅቷል"</string> + <string name="video_call" msgid="8914878391104612532">"የቪዲዮ ጥሪ"</string> <string name="call" msgid="3699617769606114168">"ደውል"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ar/strings.xml b/java/com/android/dialer/theme/res/values-ar/strings.xml index 951bde2c0..ea3468e61 100644 --- a/java/com/android/dialer/theme/res/values-ar/strings.xml +++ b/java/com/android/dialer/theme/res/values-ar/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"هاتف يعمل بالعملة"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"الهاتف"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"تم تمكين إذن الكاميرا"</string> + <string name="video_call" msgid="8914878391104612532">"مكالمة فيديو"</string> <string name="call" msgid="3699617769606114168">"اتصال"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-az/strings.xml b/java/com/android/dialer/theme/res/values-az/strings.xml index 08eaf337b..91ead1b68 100644 --- a/java/com/android/dialer/theme/res/values-az/strings.xml +++ b/java/com/android/dialer/theme/res/values-az/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Taksofon"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kamera icazəsi aktiv edildi"</string> + <string name="video_call" msgid="8914878391104612532">"Video zəng"</string> <string name="call" msgid="3699617769606114168">"Zəng edin"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml index 01cdb4722..a1e59654f 100644 --- a/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml +++ b/java/com/android/dialer/theme/res/values-b+sr+Latn/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefonska govornica"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Omogućena je dozvola za kameru"</string> + <string name="video_call" msgid="8914878391104612532">"Uputi video poziv"</string> <string name="call" msgid="3699617769606114168">"Pozovi"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-be/strings.xml b/java/com/android/dialer/theme/res/values-be/strings.xml index 49be019bf..881aa7f20 100644 --- a/java/com/android/dialer/theme/res/values-be/strings.xml +++ b/java/com/android/dialer/theme/res/values-be/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Таксафон"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Тэлефон"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Уключаны дазвол на выкарыстанне камеры"</string> + <string name="video_call" msgid="8914878391104612532">"Відэавыклік"</string> <string name="call" msgid="3699617769606114168">"Выклікаць"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-bg/strings.xml b/java/com/android/dialer/theme/res/values-bg/strings.xml index 87af9f0fd..debc23803 100644 --- a/java/com/android/dialer/theme/res/values-bg/strings.xml +++ b/java/com/android/dialer/theme/res/values-bg/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Обществен телефон"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Активирано бе разрешението за камерата"</string> + <string name="video_call" msgid="8914878391104612532">"Видеообаждане"</string> <string name="call" msgid="3699617769606114168">"Обаждане"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-bn/strings.xml b/java/com/android/dialer/theme/res/values-bn/strings.xml index ab1c65b5d..806ee8e02 100644 --- a/java/com/android/dialer/theme/res/values-bn/strings.xml +++ b/java/com/android/dialer/theme/res/values-bn/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"পে ফোন"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ফোন"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"ক্যামেরার অনুমতি সক্ষম করা হয়েছে"</string> + <string name="video_call" msgid="8914878391104612532">"ভিডিও কল"</string> <string name="call" msgid="3699617769606114168">"কল করুন"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-bs/strings.xml b/java/com/android/dialer/theme/res/values-bs/strings.xml index 01cdb4722..bed71a230 100644 --- a/java/com/android/dialer/theme/res/values-bs/strings.xml +++ b/java/com/android/dialer/theme/res/values-bs/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefonska govornica"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Dozvola za kameru je omogućena"</string> + <string name="video_call" msgid="8914878391104612532">"Videopoziv"</string> <string name="call" msgid="3699617769606114168">"Pozovi"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ca/strings.xml b/java/com/android/dialer/theme/res/values-ca/strings.xml index 1e21a1f76..5140ca574 100644 --- a/java/com/android/dialer/theme/res/values-ca/strings.xml +++ b/java/com/android/dialer/theme/res/values-ca/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telèfon públic"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telèfon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"S\'ha activat el permís d\'accés a la càmera"</string> + <string name="video_call" msgid="8914878391104612532">"Videotrucada"</string> <string name="call" msgid="3699617769606114168">"Truca"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-cs/strings.xml b/java/com/android/dialer/theme/res/values-cs/strings.xml index ca7bad9bb..a951fe7a8 100644 --- a/java/com/android/dialer/theme/res/values-cs/strings.xml +++ b/java/com/android/dialer/theme/res/values-cs/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefonní automat"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Byl povolen přístup k fotoaparátu"</string> + <string name="video_call" msgid="8914878391104612532">"Zahájit videohovor"</string> <string name="call" msgid="3699617769606114168">"Volat"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-da/strings.xml b/java/com/android/dialer/theme/res/values-da/strings.xml index c606b281e..54f185041 100644 --- a/java/com/android/dialer/theme/res/values-da/strings.xml +++ b/java/com/android/dialer/theme/res/values-da/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Mønttelefon"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Opkald"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratilladelse er aktiveret"</string> + <string name="video_call" msgid="8914878391104612532">"Videoopkald"</string> <string name="call" msgid="3699617769606114168">"Ring op"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-de/strings.xml b/java/com/android/dialer/theme/res/values-de/strings.xml index d214287c2..0c97581cb 100644 --- a/java/com/android/dialer/theme/res/values-de/strings.xml +++ b/java/com/android/dialer/theme/res/values-de/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Münztelefon"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Berechtigung für Kamera aktiviert"</string> + <string name="video_call" msgid="8914878391104612532">"Videoanruf"</string> <string name="call" msgid="3699617769606114168">"Anrufen"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-el/strings.xml b/java/com/android/dialer/theme/res/values-el/strings.xml index abe1d3f18..1c34a69c7 100644 --- a/java/com/android/dialer/theme/res/values-el/strings.xml +++ b/java/com/android/dialer/theme/res/values-el/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Τηλέφωνο με χρέωση"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Τηλέφωνο"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Το δικαίωμα χρήσης της κάμερας έχει ενεργοποιηθεί"</string> + <string name="video_call" msgid="8914878391104612532">"Βιντεοκλήση"</string> <string name="call" msgid="3699617769606114168">"Κλήση"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-en-rAU/strings.xml b/java/com/android/dialer/theme/res/values-en-rAU/strings.xml index b086b4ca5..136d7df33 100644 --- a/java/com/android/dialer/theme/res/values-en-rAU/strings.xml +++ b/java/com/android/dialer/theme/res/values-en-rAU/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Payphone"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Phone"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Camera permission enabled"</string> + <string name="video_call" msgid="8914878391104612532">"Video call"</string> <string name="call" msgid="3699617769606114168">"Call"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-en-rGB/strings.xml b/java/com/android/dialer/theme/res/values-en-rGB/strings.xml index b086b4ca5..136d7df33 100644 --- a/java/com/android/dialer/theme/res/values-en-rGB/strings.xml +++ b/java/com/android/dialer/theme/res/values-en-rGB/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Payphone"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Phone"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Camera permission enabled"</string> + <string name="video_call" msgid="8914878391104612532">"Video call"</string> <string name="call" msgid="3699617769606114168">"Call"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-en-rIN/strings.xml b/java/com/android/dialer/theme/res/values-en-rIN/strings.xml index b086b4ca5..136d7df33 100644 --- a/java/com/android/dialer/theme/res/values-en-rIN/strings.xml +++ b/java/com/android/dialer/theme/res/values-en-rIN/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Payphone"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Phone"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Camera permission enabled"</string> + <string name="video_call" msgid="8914878391104612532">"Video call"</string> <string name="call" msgid="3699617769606114168">"Call"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-es-rUS/strings.xml b/java/com/android/dialer/theme/res/values-es-rUS/strings.xml index aee2d0a9d..90837b76a 100644 --- a/java/com/android/dialer/theme/res/values-es-rUS/strings.xml +++ b/java/com/android/dialer/theme/res/values-es-rUS/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Teléfono público"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Teléfono"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Se activó el permiso de la cámara"</string> + <string name="video_call" msgid="8914878391104612532">"Videollamada"</string> <string name="call" msgid="3699617769606114168">"Llamar"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-es/strings.xml b/java/com/android/dialer/theme/res/values-es/strings.xml index 343ac2158..c2d3ee3d4 100644 --- a/java/com/android/dialer/theme/res/values-es/strings.xml +++ b/java/com/android/dialer/theme/res/values-es/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Teléfono público"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Teléfono"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Se ha habilitado el acceso a la cámara"</string> + <string name="video_call" msgid="8914878391104612532">"Videollamada"</string> <string name="call" msgid="3699617769606114168">"Llamar"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-et/strings.xml b/java/com/android/dialer/theme/res/values-et/strings.xml index 5b1e6c044..269fa6403 100644 --- a/java/com/android/dialer/theme/res/values-et/strings.xml +++ b/java/com/android/dialer/theme/res/values-et/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefoniautomaat"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kaameraluba on antud"</string> + <string name="video_call" msgid="8914878391104612532">"Videokõne"</string> <string name="call" msgid="3699617769606114168">"Helista"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-eu/strings.xml b/java/com/android/dialer/theme/res/values-eu/strings.xml index dbb4f703c..14345f05f 100644 --- a/java/com/android/dialer/theme/res/values-eu/strings.xml +++ b/java/com/android/dialer/theme/res/values-eu/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefono publikoa"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefonoa"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kamera atzitzeko baimena eman da"</string> + <string name="video_call" msgid="8914878391104612532">"Bideo-deia"</string> <string name="call" msgid="3699617769606114168">"Deitu"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-fa/strings.xml b/java/com/android/dialer/theme/res/values-fa/strings.xml index 99bed5f22..f751f3404 100644 --- a/java/com/android/dialer/theme/res/values-fa/strings.xml +++ b/java/com/android/dialer/theme/res/values-fa/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="ID">%d</xliff:g> <xliff:g id="UNKNOWN">%s</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"تلفن عمومی"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"تلفن"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"مجوز دوربین فعال شد"</string> + <string name="video_call" msgid="8914878391104612532">"تماس ویدیویی"</string> <string name="call" msgid="3699617769606114168">"تماس"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-fi/strings.xml b/java/com/android/dialer/theme/res/values-fi/strings.xml index a180be565..0c09d7f43 100644 --- a/java/com/android/dialer/theme/res/values-fi/strings.xml +++ b/java/com/android/dialer/theme/res/values-fi/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Maksupuhelin"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Puhelin"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kameran käyttöoikeus myönnettiin"</string> + <string name="video_call" msgid="8914878391104612532">"Videopuhelu"</string> <string name="call" msgid="3699617769606114168">"Soita"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml b/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml index 18a70bbe8..7d901ca39 100644 --- a/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml +++ b/java/com/android/dialer/theme/res/values-fr-rCA/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Cabine téléphonique"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Téléphone"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Autorisation d\'accès à l\'appareil photo activée"</string> + <string name="video_call" msgid="8914878391104612532">"Appel vidéo"</string> <string name="call" msgid="3699617769606114168">"Appeler"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-fr/strings.xml b/java/com/android/dialer/theme/res/values-fr/strings.xml index 18a70bbe8..1c30ef1e7 100644 --- a/java/com/android/dialer/theme/res/values-fr/strings.xml +++ b/java/com/android/dialer/theme/res/values-fr/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Cabine téléphonique"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Téléphone"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Autorisation d\'accès à l\'appareil photo accordée"</string> + <string name="video_call" msgid="8914878391104612532">"Appel vidéo"</string> <string name="call" msgid="3699617769606114168">"Appeler"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-gl/strings.xml b/java/com/android/dialer/theme/res/values-gl/strings.xml index fbbad6c07..083d395ad 100644 --- a/java/com/android/dialer/theme/res/values-gl/strings.xml +++ b/java/com/android/dialer/theme/res/values-gl/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Teléfono público"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Teléfono"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Activouse o permiso de acceso á cámara"</string> + <string name="video_call" msgid="8914878391104612532">"Videochamada"</string> <string name="call" msgid="3699617769606114168">"Chamar"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-gu/strings.xml b/java/com/android/dialer/theme/res/values-gu/strings.xml index 9b38dcd3f..4baba6971 100644 --- a/java/com/android/dialer/theme/res/values-gu/strings.xml +++ b/java/com/android/dialer/theme/res/values-gu/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"પેફોન"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ફોન"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"કૅમેરાની પરવાનગી સક્ષમ કરી"</string> + <string name="video_call" msgid="8914878391104612532">"વિડિઓ કૉલ"</string> <string name="call" msgid="3699617769606114168">"કૉલ કરો"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-hi/strings.xml b/java/com/android/dialer/theme/res/values-hi/strings.xml index ee360b404..758be5d22 100644 --- a/java/com/android/dialer/theme/res/values-hi/strings.xml +++ b/java/com/android/dialer/theme/res/values-hi/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"पे-फ़ोन"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"फ़ोन"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"कैमरे की अनुमति सक्षम की गई"</string> + <string name="video_call" msgid="8914878391104612532">"वीडियो कॉल"</string> <string name="call" msgid="3699617769606114168">"कॉल करें"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-hr/strings.xml b/java/com/android/dialer/theme/res/values-hr/strings.xml index 92e19567d..89a5aeec2 100644 --- a/java/com/android/dialer/theme/res/values-hr/strings.xml +++ b/java/com/android/dialer/theme/res/values-hr/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Javna telefonska govornica"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Omogućen je pristup kameri"</string> + <string name="video_call" msgid="8914878391104612532">"Videopoziv"</string> <string name="call" msgid="3699617769606114168">"Pozovi"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-hu/strings.xml b/java/com/android/dialer/theme/res/values-hu/strings.xml index dfcc876e4..30051d430 100644 --- a/java/com/android/dialer/theme/res/values-hu/strings.xml +++ b/java/com/android/dialer/theme/res/values-hu/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Nyilvános telefon"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kameraengedély megadva"</string> + <string name="video_call" msgid="8914878391104612532">"Videohívás"</string> <string name="call" msgid="3699617769606114168">"Hívás"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-hy/strings.xml b/java/com/android/dialer/theme/res/values-hy/strings.xml index 3b4e862b3..6577dab16 100644 --- a/java/com/android/dialer/theme/res/values-hy/strings.xml +++ b/java/com/android/dialer/theme/res/values-hy/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Բջջային տերմինալ"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Հեռախոս"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Տեսախցիկից օգտվելու թույլտվությունը տրամադրված է"</string> + <string name="video_call" msgid="8914878391104612532">"Տեսազանգ"</string> <string name="call" msgid="3699617769606114168">"Զանգել"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-in/strings.xml b/java/com/android/dialer/theme/res/values-in/strings.xml index eda15a299..d2d72b832 100644 --- a/java/com/android/dialer/theme/res/values-in/strings.xml +++ b/java/com/android/dialer/theme/res/values-in/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telepon Umum"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telepon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Izin kamera diaktifkan"</string> + <string name="video_call" msgid="8914878391104612532">"Video call"</string> <string name="call" msgid="3699617769606114168">"Telepon"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-is/strings.xml b/java/com/android/dialer/theme/res/values-is/strings.xml index cda7fc8fe..ff3faf836 100644 --- a/java/com/android/dialer/theme/res/values-is/strings.xml +++ b/java/com/android/dialer/theme/res/values-is/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Símasjálfsali"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Sími"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Myndavélarheimild virk"</string> + <string name="video_call" msgid="8914878391104612532">"Hringja myndsímtal"</string> <string name="call" msgid="3699617769606114168">"Hringja"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-it/strings.xml b/java/com/android/dialer/theme/res/values-it/strings.xml index fa2caa6bb..4b26288ac 100644 --- a/java/com/android/dialer/theme/res/values-it/strings.xml +++ b/java/com/android/dialer/theme/res/values-it/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Cabina telefonica"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefono"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Autorizzazioni della fotocamera attivate"</string> + <string name="video_call" msgid="8914878391104612532">"Videochiamata"</string> <string name="call" msgid="3699617769606114168">"Chiama"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-iw/strings.xml b/java/com/android/dialer/theme/res/values-iw/strings.xml index 18d87eaf7..09abf2ed1 100644 --- a/java/com/android/dialer/theme/res/values-iw/strings.xml +++ b/java/com/android/dialer/theme/res/values-iw/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"טלפון ציבורי"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"טלפון"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"הרשאת הגישה למצלמה הופעלה"</string> + <string name="video_call" msgid="8914878391104612532">"שיחת וידאו"</string> <string name="call" msgid="3699617769606114168">"התקשר"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ja/strings.xml b/java/com/android/dialer/theme/res/values-ja/strings.xml index 39215598c..551d67983 100644 --- a/java/com/android/dialer/theme/res/values-ja/strings.xml +++ b/java/com/android/dialer/theme/res/values-ja/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g>(<xliff:g id="ID">%d</xliff:g>)"</string> <string name="payphone" msgid="7106361320283710387">"公衆電話"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"電話"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"カメラへのアクセスを自動で許可しました"</string> + <string name="video_call" msgid="8914878391104612532">"ビデオハングアウト"</string> <string name="call" msgid="3699617769606114168">"発信"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ka/strings.xml b/java/com/android/dialer/theme/res/values-ka/strings.xml index 18e7cb34d..ab225954e 100644 --- a/java/com/android/dialer/theme/res/values-ka/strings.xml +++ b/java/com/android/dialer/theme/res/values-ka/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"გადახდის ტელეფონი"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ტელეფონი"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"კამერაზე წვდომის ნებართვა ჩართულია"</string> + <string name="video_call" msgid="8914878391104612532">"ვიდეოზარი"</string> <string name="call" msgid="3699617769606114168">"დარეკვა"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-kk/strings.xml b/java/com/android/dialer/theme/res/values-kk/strings.xml index f9c62d32e..d3a1b7bb9 100644 --- a/java/com/android/dialer/theme/res/values-kk/strings.xml +++ b/java/com/android/dialer/theme/res/values-kk/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Автомат-телефон"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Камера рұқсаты қосылды"</string> + <string name="video_call" msgid="8914878391104612532">"Бейне қоңырау"</string> <string name="call" msgid="3699617769606114168">"Қоңырау шалу"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-km/strings.xml b/java/com/android/dialer/theme/res/values-km/strings.xml index 7e375cf99..900f1d690 100644 --- a/java/com/android/dialer/theme/res/values-km/strings.xml +++ b/java/com/android/dialer/theme/res/values-km/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"ទូរស័ព្ទសាធារណៈ"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ទូរស័ព្ទ"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"បានបើកការអនុញ្ញាតកាមេរ៉ា"</string> + <string name="video_call" msgid="8914878391104612532">"ការហៅវីដេអូ"</string> <string name="call" msgid="3699617769606114168">"ហៅទូរសព្ទ"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-kn/strings.xml b/java/com/android/dialer/theme/res/values-kn/strings.xml index 718fea0d4..ab9f816db 100644 --- a/java/com/android/dialer/theme/res/values-kn/strings.xml +++ b/java/com/android/dialer/theme/res/values-kn/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"ಪೇಫೋನ್"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ಫೋನ್"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"ಕ್ಯಾಮರಾ ಅನುಮತಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string> + <string name="video_call" msgid="8914878391104612532">"ವೀಡಿಯೊ ಕರೆ"</string> <string name="call" msgid="3699617769606114168">"ಕರೆಮಾಡಿ"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ko/strings.xml b/java/com/android/dialer/theme/res/values-ko/strings.xml index 29f608c6e..b5ac55695 100644 --- a/java/com/android/dialer/theme/res/values-ko/strings.xml +++ b/java/com/android/dialer/theme/res/values-ko/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"공중전화"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"휴대전화"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"카메라 권한 사용 가능"</string> + <string name="video_call" msgid="8914878391104612532">"화상 통화"</string> <string name="call" msgid="3699617769606114168">"전화"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ky/strings.xml b/java/com/android/dialer/theme/res/values-ky/strings.xml index 905b8c5ff..0a9bec294 100644 --- a/java/com/android/dialer/theme/res/values-ky/strings.xml +++ b/java/com/android/dialer/theme/res/values-ky/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Таксофон"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Камеранын уруксаты иштетилди"</string> + <string name="video_call" msgid="8914878391104612532">"Видео чалуу"</string> <string name="call" msgid="3699617769606114168">"Чалуу"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-lo/strings.xml b/java/com/android/dialer/theme/res/values-lo/strings.xml index 6826a753f..d33d43e5b 100644 --- a/java/com/android/dialer/theme/res/values-lo/strings.xml +++ b/java/com/android/dialer/theme/res/values-lo/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"ຕູ້ໂທລະສັບສາທາລະນະ"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ໂທລະສັບ"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"ເປີດໃຊ້ສິດອະນຸຍາດກ້ອງຖ່າຍຮູບແລ້ວ"</string> + <string name="video_call" msgid="8914878391104612532">"ໂທວິດີໂອ"</string> <string name="call" msgid="3699617769606114168">"ໂທ"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-lt/strings.xml b/java/com/android/dialer/theme/res/values-lt/strings.xml index 43469a1fd..fdf31e227 100644 --- a/java/com/android/dialer/theme/res/values-lt/strings.xml +++ b/java/com/android/dialer/theme/res/values-lt/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="ID">%d</xliff:g> <xliff:g id="UNKNOWN">%s</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Taksofonas"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefonas"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Fotoaparato leidimas įgalintas"</string> + <string name="video_call" msgid="8914878391104612532">"Vaizdo skambutis"</string> <string name="call" msgid="3699617769606114168">"Skambinti"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-lv/strings.xml b/java/com/android/dialer/theme/res/values-lv/strings.xml index f9a6deca8..031c5bdea 100644 --- a/java/com/android/dialer/theme/res/values-lv/strings.xml +++ b/java/com/android/dialer/theme/res/values-lv/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Maksas tālrunis"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Tālrunis"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kameras atļauja iespējota"</string> + <string name="video_call" msgid="8914878391104612532">"Videozvans"</string> <string name="call" msgid="3699617769606114168">"Zvanīt"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-mk/strings.xml b/java/com/android/dialer/theme/res/values-mk/strings.xml index 1328edbb2..d89d12e90 100644 --- a/java/com/android/dialer/theme/res/values-mk/strings.xml +++ b/java/com/android/dialer/theme/res/values-mk/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Говорница"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Дозволата за камера е овозможена"</string> + <string name="video_call" msgid="8914878391104612532">"Воспоставете видеоповик"</string> <string name="call" msgid="3699617769606114168">"Повикајте"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ml/strings.xml b/java/com/android/dialer/theme/res/values-ml/strings.xml index 03f9533ff..f02ceeb06 100644 --- a/java/com/android/dialer/theme/res/values-ml/strings.xml +++ b/java/com/android/dialer/theme/res/values-ml/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"പണം നൽകി ഉപയോഗിക്കുന്ന ഫോൺ"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ഫോണ്"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"ക്യാമറ അനുമതി നൽകി"</string> + <string name="video_call" msgid="8914878391104612532">"വീഡിയോ കോള്"</string> <string name="call" msgid="3699617769606114168">"വിളിക്കുക"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-mn/strings.xml b/java/com/android/dialer/theme/res/values-mn/strings.xml index c47f08324..7a07e5d4d 100644 --- a/java/com/android/dialer/theme/res/values-mn/strings.xml +++ b/java/com/android/dialer/theme/res/values-mn/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Payphone"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Утас"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Камерын зөвшөөрөл идэвхжсэн"</string> + <string name="video_call" msgid="8914878391104612532">"Видео дуудлага"</string> <string name="call" msgid="3699617769606114168">"Залгах"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-mr/strings.xml b/java/com/android/dialer/theme/res/values-mr/strings.xml index 41a9c96e0..eeb9afa1e 100644 --- a/java/com/android/dialer/theme/res/values-mr/strings.xml +++ b/java/com/android/dialer/theme/res/values-mr/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"सार्वजनिक फोन"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"फोन"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"कॅमेरा परवानगी सक्षम केली"</string> + <string name="video_call" msgid="8914878391104612532">"व्हिडिओ कॉल"</string> <string name="call" msgid="3699617769606114168">"कॉल करा"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ms/strings.xml b/java/com/android/dialer/theme/res/values-ms/strings.xml index b28fe26ac..2e424fdf7 100644 --- a/java/com/android/dialer/theme/res/values-ms/strings.xml +++ b/java/com/android/dialer/theme/res/values-ms/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefon Awam"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kebenaran kamera didayakan"</string> + <string name="video_call" msgid="8914878391104612532">"Panggilan video"</string> <string name="call" msgid="3699617769606114168">"Panggil"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-my/strings.xml b/java/com/android/dialer/theme/res/values-my/strings.xml index eb21b6ef2..97b871b30 100644 --- a/java/com/android/dialer/theme/res/values-my/strings.xml +++ b/java/com/android/dialer/theme/res/values-my/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"ငွေပေးရသည့်ဖုန်း"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ဖုန်း"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"ကင်မရာအသုံးပြုခွင့် ဖွင့်ထားပါသည်"</string> + <string name="video_call" msgid="8914878391104612532">"ဗီဒီယိုခေါ်ဆိုမှု"</string> <string name="call" msgid="3699617769606114168">"ခေါ်ဆိုရန်"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-nb/strings.xml b/java/com/android/dialer/theme/res/values-nb/strings.xml index dcd9b17ad..7587b7e30 100644 --- a/java/com/android/dialer/theme/res/values-nb/strings.xml +++ b/java/com/android/dialer/theme/res/values-nb/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefonkiosk"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratillatelsen er aktivert"</string> + <string name="video_call" msgid="8914878391104612532">"Videosamtale"</string> <string name="call" msgid="3699617769606114168">"Ring"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ne/strings.xml b/java/com/android/dialer/theme/res/values-ne/strings.xml index 383ac2c8d..af1ad5e24 100644 --- a/java/com/android/dialer/theme/res/values-ne/strings.xml +++ b/java/com/android/dialer/theme/res/values-ne/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"पेफोन"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"फोन"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"क्यामेरा सम्बन्धी अनुमतिहरूलाई सक्षम पारियो"</string> + <string name="video_call" msgid="8914878391104612532">"भिडियो कल"</string> <string name="call" msgid="3699617769606114168">"कल गर्नुहोस्"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-nl/strings.xml b/java/com/android/dialer/theme/res/values-nl/strings.xml index 96357081d..ab51c97ae 100644 --- a/java/com/android/dialer/theme/res/values-nl/strings.xml +++ b/java/com/android/dialer/theme/res/values-nl/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefooncel"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefoon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Camerarechten ingeschakeld"</string> + <string name="video_call" msgid="8914878391104612532">"Videogesprek"</string> <string name="call" msgid="3699617769606114168">"Bellen"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-no/strings.xml b/java/com/android/dialer/theme/res/values-no/strings.xml index dcd9b17ad..7587b7e30 100644 --- a/java/com/android/dialer/theme/res/values-no/strings.xml +++ b/java/com/android/dialer/theme/res/values-no/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefonkiosk"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kameratillatelsen er aktivert"</string> + <string name="video_call" msgid="8914878391104612532">"Videosamtale"</string> <string name="call" msgid="3699617769606114168">"Ring"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-pa/strings.xml b/java/com/android/dialer/theme/res/values-pa/strings.xml index dc23b7a69..8784bcae1 100644 --- a/java/com/android/dialer/theme/res/values-pa/strings.xml +++ b/java/com/android/dialer/theme/res/values-pa/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"ਪੇਫੋਨ"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ਫੋਨ"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"ਕੈਮਰਾ ਇਜਾਜ਼ਤ ਨੂੰ ਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string> + <string name="video_call" msgid="8914878391104612532">"ਵੀਡੀਓ ਕਾਲ"</string> <string name="call" msgid="3699617769606114168">"ਕਾਲ ਕਰੋ"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-pl/strings.xml b/java/com/android/dialer/theme/res/values-pl/strings.xml index 1ebaad2cc..246261e97 100644 --- a/java/com/android/dialer/theme/res/values-pl/strings.xml +++ b/java/com/android/dialer/theme/res/values-pl/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Automat telefoniczny"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Uprawnienia do korzystania z aparatu zostały włączone"</string> + <string name="video_call" msgid="8914878391104612532">"Rozmowa wideo"</string> <string name="call" msgid="3699617769606114168">"Zadzwoń"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml b/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml index 6caf87cb8..c1356d9b3 100644 --- a/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml +++ b/java/com/android/dialer/theme/res/values-pt-rBR/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefone público"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefone"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Permissão de câmera ativada"</string> + <string name="video_call" msgid="8914878391104612532">"Videochamada"</string> <string name="call" msgid="3699617769606114168">"Ligar"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml b/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml index ef7c7d6c6..2b46e44a1 100644 --- a/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml +++ b/java/com/android/dialer/theme/res/values-pt-rPT/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefone público"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefone"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Autorização da câmara ativada"</string> + <string name="video_call" msgid="8914878391104612532">"Videochamada"</string> <string name="call" msgid="3699617769606114168">"Telefonar"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-pt/strings.xml b/java/com/android/dialer/theme/res/values-pt/strings.xml index 6caf87cb8..c1356d9b3 100644 --- a/java/com/android/dialer/theme/res/values-pt/strings.xml +++ b/java/com/android/dialer/theme/res/values-pt/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefone público"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefone"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Permissão de câmera ativada"</string> + <string name="video_call" msgid="8914878391104612532">"Videochamada"</string> <string name="call" msgid="3699617769606114168">"Ligar"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ro/strings.xml b/java/com/android/dialer/theme/res/values-ro/strings.xml index 4d0c09baf..8978e9240 100644 --- a/java/com/android/dialer/theme/res/values-ro/strings.xml +++ b/java/com/android/dialer/theme/res/values-ro/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefon public"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Permisiunea pentru cameră a fost activată."</string> + <string name="video_call" msgid="8914878391104612532">"Apel video"</string> <string name="call" msgid="3699617769606114168">"Apelați"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ru/strings.xml b/java/com/android/dialer/theme/res/values-ru/strings.xml index aeab13624..a155052be 100644 --- a/java/com/android/dialer/theme/res/values-ru/strings.xml +++ b/java/com/android/dialer/theme/res/values-ru/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Телефон-автомат"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Доступ к камере разрешен"</string> + <string name="video_call" msgid="8914878391104612532">"Видеовызов"</string> <string name="call" msgid="3699617769606114168">"Позвонить"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-si/strings.xml b/java/com/android/dialer/theme/res/values-si/strings.xml index ba3bb0577..424a11255 100644 --- a/java/com/android/dialer/theme/res/values-si/strings.xml +++ b/java/com/android/dialer/theme/res/values-si/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"පේෆෝනය"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"දුරකථනය"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"කැමරා අවසර සබල කර ඇත"</string> + <string name="video_call" msgid="8914878391104612532">"වීඩියෝ ඇමතුම"</string> <string name="call" msgid="3699617769606114168">"ඇමතුම"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-sk/strings.xml b/java/com/android/dialer/theme/res/values-sk/strings.xml index 6863463ae..411b85edc 100644 --- a/java/com/android/dialer/theme/res/values-sk/strings.xml +++ b/java/com/android/dialer/theme/res/values-sk/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefónny automat"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefón"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Povolenie pre fotoaparát je aktivované"</string> + <string name="video_call" msgid="8914878391104612532">"Videohovor"</string> <string name="call" msgid="3699617769606114168">"Volať"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-sl/strings.xml b/java/com/android/dialer/theme/res/values-sl/strings.xml index 1b1776abc..85a3e2b8e 100644 --- a/java/com/android/dialer/theme/res/values-sl/strings.xml +++ b/java/com/android/dialer/theme/res/values-sl/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefonska govorilnica"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Dovoljenje za dostop do fotoaparata je omogočeno"</string> + <string name="video_call" msgid="8914878391104612532">"Videoklic"</string> <string name="call" msgid="3699617769606114168">"Pokliči"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-sq/strings.xml b/java/com/android/dialer/theme/res/values-sq/strings.xml index 0d7084af6..5cbd587d3 100644 --- a/java/com/android/dialer/theme/res/values-sq/strings.xml +++ b/java/com/android/dialer/theme/res/values-sq/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefon me pagesë"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefoni"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Leja e kamerës është aktivizuar"</string> + <string name="video_call" msgid="8914878391104612532">"Telefonatë me video"</string> <string name="call" msgid="3699617769606114168">"Telefono"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-sr/strings.xml b/java/com/android/dialer/theme/res/values-sr/strings.xml index a744e9530..310da735d 100644 --- a/java/com/android/dialer/theme/res/values-sr/strings.xml +++ b/java/com/android/dialer/theme/res/values-sr/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Телефонска говорница"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Омогућена је дозвола за камеру"</string> + <string name="video_call" msgid="8914878391104612532">"Упути видео позив"</string> <string name="call" msgid="3699617769606114168">"Позови"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-sv/strings.xml b/java/com/android/dialer/theme/res/values-sv/strings.xml index f409807ef..af8e5f7b1 100644 --- a/java/com/android/dialer/theme/res/values-sv/strings.xml +++ b/java/com/android/dialer/theme/res/values-sv/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Telefonautomat"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kamerabehörighet har aktiverats"</string> + <string name="video_call" msgid="8914878391104612532">"Videosamtal"</string> <string name="call" msgid="3699617769606114168">"Ring"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-sw/strings.xml b/java/com/android/dialer/theme/res/values-sw/strings.xml index a2f98888d..31615febb 100644 --- a/java/com/android/dialer/theme/res/values-sw/strings.xml +++ b/java/com/android/dialer/theme/res/values-sw/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Simu ya kulipia"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Simu"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Imewasha ruhusa ya kamera"</string> + <string name="video_call" msgid="8914878391104612532">"Simu ya video"</string> <string name="call" msgid="3699617769606114168">"Piga simu"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ta/strings.xml b/java/com/android/dialer/theme/res/values-ta/strings.xml index a4f55f5c7..ab15f0b0c 100644 --- a/java/com/android/dialer/theme/res/values-ta/strings.xml +++ b/java/com/android/dialer/theme/res/values-ta/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"கட்டணத் தொலைபேசி"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"மொபைல்"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"கேமராவிற்கான அனுமதி இயக்கப்பட்டது"</string> + <string name="video_call" msgid="8914878391104612532">"வீடியோ அழைப்பு"</string> <string name="call" msgid="3699617769606114168">"அழை"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-te/strings.xml b/java/com/android/dialer/theme/res/values-te/strings.xml index 59f00ca1f..4a6fca1fb 100644 --- a/java/com/android/dialer/theme/res/values-te/strings.xml +++ b/java/com/android/dialer/theme/res/values-te/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"పే ఫోన్"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"ఫోన్"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"కెమెరా అనుమతిని ప్రారంభించాము"</string> + <string name="video_call" msgid="8914878391104612532">"వీడియో కాల్"</string> <string name="call" msgid="3699617769606114168">"కాల్ చేయి"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-th/strings.xml b/java/com/android/dialer/theme/res/values-th/strings.xml index 3870b4da6..51db053fa 100644 --- a/java/com/android/dialer/theme/res/values-th/strings.xml +++ b/java/com/android/dialer/theme/res/values-th/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"โทรศัพท์สาธารณะ"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"โทรศัพท์"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"ให้สิทธิ์เข้าถึงกล้องถ่ายรูปแล้ว"</string> + <string name="video_call" msgid="8914878391104612532">"แฮงเอาท์วิดีโอ"</string> <string name="call" msgid="3699617769606114168">"โทร"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-tl/strings.xml b/java/com/android/dialer/theme/res/values-tl/strings.xml index 81692789f..97f69ec1c 100644 --- a/java/com/android/dialer/theme/res/values-tl/strings.xml +++ b/java/com/android/dialer/theme/res/values-tl/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Payphone"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telepono"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Na-enable ang pahintulot sa camera"</string> + <string name="video_call" msgid="8914878391104612532">"Mag-video call"</string> <string name="call" msgid="3699617769606114168">"Tawag"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-tr/strings.xml b/java/com/android/dialer/theme/res/values-tr/strings.xml index c11cd1375..b38f0674d 100644 --- a/java/com/android/dialer/theme/res/values-tr/strings.xml +++ b/java/com/android/dialer/theme/res/values-tr/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Ankesörlü telefon"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kamera izni etkinleştirildi"</string> + <string name="video_call" msgid="8914878391104612532">"Görüntülü görüşme"</string> <string name="call" msgid="3699617769606114168">"Telefon et"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-uk/strings.xml b/java/com/android/dialer/theme/res/values-uk/strings.xml index c87fe89b7..f0702770a 100644 --- a/java/com/android/dialer/theme/res/values-uk/strings.xml +++ b/java/com/android/dialer/theme/res/values-uk/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Таксофон"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Телефон"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Камері надано дозвіл"</string> + <string name="video_call" msgid="8914878391104612532">"Відеодзвінок"</string> <string name="call" msgid="3699617769606114168">"Виклик"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-ur/strings.xml b/java/com/android/dialer/theme/res/values-ur/strings.xml index abc0d6d6b..e9a4b44bb 100644 --- a/java/com/android/dialer/theme/res/values-ur/strings.xml +++ b/java/com/android/dialer/theme/res/values-ur/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"پے فون"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"فون"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"کیمرا کی اجازت فعال ہے"</string> + <string name="video_call" msgid="8914878391104612532">"ویڈیو کال"</string> <string name="call" msgid="3699617769606114168">"کال کریں"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-uz/strings.xml b/java/com/android/dialer/theme/res/values-uz/strings.xml index 2889f3f12..2bbaf2080 100644 --- a/java/com/android/dialer/theme/res/values-uz/strings.xml +++ b/java/com/android/dialer/theme/res/values-uz/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Taksofon"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Telefon"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Kameraga kirishga ruxsat berildi"</string> + <string name="video_call" msgid="8914878391104612532">"Video suhbat"</string> <string name="call" msgid="3699617769606114168">"Chaqirish"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-vi/strings.xml b/java/com/android/dialer/theme/res/values-vi/strings.xml index b014516be..fae318091 100644 --- a/java/com/android/dialer/theme/res/values-vi/strings.xml +++ b/java/com/android/dialer/theme/res/values-vi/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Điện thoại công cộng"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Điện thoại"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Đã bật quyền sử dụng máy ảnh"</string> + <string name="video_call" msgid="8914878391104612532">"Gọi điện video"</string> <string name="call" msgid="3699617769606114168">"Gọi"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml b/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml index baff75258..2e6096296 100644 --- a/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml +++ b/java/com/android/dialer/theme/res/values-zh-rCN/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"公用电话"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"电话"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"已启用相机使用权限"</string> + <string name="video_call" msgid="8914878391104612532">"视频通话"</string> <string name="call" msgid="3699617769606114168">"拨打电话"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml b/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml index 8b26663d1..7b08024ac 100644 --- a/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml +++ b/java/com/android/dialer/theme/res/values-zh-rHK/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"公共電話"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"電話"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"已啟用相機權限"</string> + <string name="video_call" msgid="8914878391104612532">"視像通話"</string> <string name="call" msgid="3699617769606114168">"通話"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml b/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml index 24a5c10d1..57d7fe2b1 100644 --- a/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml +++ b/java/com/android/dialer/theme/res/values-zh-rTW/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"公用電話"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"電話"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"已啟用相機權限"</string> + <string name="video_call" msgid="8914878391104612532">"視訊通話"</string> <string name="call" msgid="3699617769606114168">"撥號"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values-zu/strings.xml b/java/com/android/dialer/theme/res/values-zu/strings.xml index 96cd79873..d0dd7288b 100644 --- a/java/com/android/dialer/theme/res/values-zu/strings.xml +++ b/java/com/android/dialer/theme/res/values-zu/strings.xml @@ -21,5 +21,7 @@ <string name="unknown_counter" msgid="7452889151953704159">"<xliff:g id="UNKNOWN">%s</xliff:g> <xliff:g id="ID">%d</xliff:g>"</string> <string name="payphone" msgid="7106361320283710387">"Ucingo olufakwa imali"</string> <string name="launcherActivityLabel" msgid="9034868428899993166">"Ifoni"</string> + <string name="camera_privacy_text" msgid="1318954032109938588">"Imvume yekhamera inikwe amandla"</string> + <string name="video_call" msgid="8914878391104612532">"Ikholi yevidiyo"</string> <string name="call" msgid="3699617769606114168">"Shaya"</string> </resources> diff --git a/java/com/android/dialer/theme/res/values/strings.xml b/java/com/android/dialer/theme/res/values/strings.xml index a14693f51..af61d3596 100644 --- a/java/com/android/dialer/theme/res/values/strings.xml +++ b/java/com/android/dialer/theme/res/values/strings.xml @@ -30,6 +30,12 @@ used in the Launcher icon. --> <string name="launcherActivityLabel">Phone</string> + <!-- Text presented to the user explaining that we have enabled the camera permission automatically --> + <string name="camera_privacy_text">Camera permission enabled</string> + + <!-- text on a button, Video call, as in to place a video call. --> + <string name="video_call">Video call</string> + <!-- Label shown on the 'positive' button for the dialog. Indicates that the call will proceed --> <string name="call">Call</string> </resources> diff --git a/java/com/android/dialer/theme/res/values/themes.xml b/java/com/android/dialer/theme/res/values/themes.xml index 0d0c45f90..124682692 100644 --- a/java/com/android/dialer/theme/res/values/themes.xml +++ b/java/com/android/dialer/theme/res/values/themes.xml @@ -1,4 +1,19 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- + ~ 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 + --> <resources> <style name="DialerThemeBase" parent="@style/Theme.AppCompat.Light.DarkActionBar"> @@ -19,6 +34,20 @@ <item name="actionBarSize">@dimen/action_bar_height</item> </style> + <!-- Should be kept in sync with the theme above (minus anything related to actionbars --> + <style name="DialerThemeBase.NoActionBar" parent="@style/Theme.AppCompat.Light.NoActionBar"> + <item name="android:textColorPrimary">@color/dialer_primary_text_color</item> + <item name="android:textColorSecondary">@color/dialer_secondary_text_color</item> + <!-- This is used for title bar color in recents --> + <item name="android:colorPrimary">@color/titlebar_in_recents_background_color</item> + <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item> + <item name="android:colorControlActivated">@color/dialer_theme_color</item> + <item name="android:colorButtonNormal">@color/dialer_theme_color</item> + <item name="android:colorAccent">@color/dialtacts_theme_color</item> + <item name="android:alertDialogTheme">@style/AlertDialogTheme</item> + <item name="android:textAppearanceButton">@style/DialerButtonTextStyle</item> + </style> + <style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.NoActionBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@android:color/transparent</item> @@ -26,4 +55,18 @@ <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@android:style/Animation</item> </style> + + <style name="PrimaryText"> + <item name="android:textColor">#DE000000</item> + <item name="android:textSize">16sp</item> + <item name="android:ellipsize">end</item> + <item name="android:maxLines">1</item> + </style> + + <style name="SecondaryText"> + <item name="android:textColor">#8A000000</item> + <item name="android:textSize">14sp</item> + <item name="android:ellipsize">end</item> + <item name="android:maxLines">1</item> + </style> </resources> diff --git a/java/com/android/dialer/util/CallUtil.java b/java/com/android/dialer/util/CallUtil.java index 81a4bb21e..b6ab3b30e 100644 --- a/java/com/android/dialer/util/CallUtil.java +++ b/java/com/android/dialer/util/CallUtil.java @@ -21,6 +21,7 @@ import android.net.Uri; import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; +import com.android.dialer.common.LogUtil; import com.android.dialer.compat.CompatUtils; import com.android.dialer.phonenumberutil.PhoneNumberHelper; import java.util.List; @@ -40,6 +41,9 @@ public class CallUtil { */ public static final int VIDEO_CALLING_PRESENCE = 2; + private static boolean hasInitializedIsVideoEnabledState; + private static boolean cachedIsVideoEnabledState; + /** Return Uri with an appropriate scheme, accepting both SIP and usual phone call numbers. */ public static Uri getCallUri(String number) { if (PhoneNumberHelper.isUriNumber(number)) { @@ -102,7 +106,23 @@ public class CallUtil { * false} otherwise. */ public static boolean isVideoEnabled(Context context) { - return (getVideoCallingAvailability(context) & VIDEO_CALLING_ENABLED) != 0; + boolean isVideoEnabled = (getVideoCallingAvailability(context) & VIDEO_CALLING_ENABLED) != 0; + + // Log everytime the video enabled state changes. + if (!hasInitializedIsVideoEnabledState) { + LogUtil.i("CallUtil.isVideoEnabled", "isVideoEnabled: " + isVideoEnabled); + hasInitializedIsVideoEnabledState = true; + cachedIsVideoEnabledState = isVideoEnabled; + } else if (cachedIsVideoEnabledState != isVideoEnabled) { + LogUtil.i( + "CallUtil.isVideoEnabled", + "isVideoEnabled changed from %b to %b", + cachedIsVideoEnabledState, + isVideoEnabled); + cachedIsVideoEnabledState = isVideoEnabled; + } + + return true; } /** diff --git a/java/com/android/dialer/util/PermissionsUtil.java b/java/com/android/dialer/util/PermissionsUtil.java index 466e86204..72a59eaef 100644 --- a/java/com/android/dialer/util/PermissionsUtil.java +++ b/java/com/android/dialer/util/PermissionsUtil.java @@ -72,15 +72,15 @@ public class PermissionsUtil { return hasPermission(context, permission.WRITE_VOICEMAIL); } - public static boolean hasAddVoicemailPermissions(Context context) { - return hasPermission(context, permission.ADD_VOICEMAIL); - } - public static boolean hasPermission(Context context, String permission) { return ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED; } + public static boolean hasAddVoicemailPermissions(Context context) { + return hasPermission(context, permission.ADD_VOICEMAIL); + } + /** * Checks {@link android.content.SharedPreferences} if a permission has been requested before. * diff --git a/java/com/android/dialer/widget/DialerToolbar.java b/java/com/android/dialer/widget/DialerToolbar.java index 9e1058383..fe0e86110 100644 --- a/java/com/android/dialer/widget/DialerToolbar.java +++ b/java/com/android/dialer/widget/DialerToolbar.java @@ -41,6 +41,11 @@ public class DialerToolbar extends Toolbar { setNavigationIcon(R.drawable.quantum_ic_close_white_24); setNavigationContentDescription(R.string.toolbar_close); setNavigationOnClickListener(v -> ((Activity) context).finish()); + setPaddingRelative( + getPaddingStart(), + getPaddingTop(), + getResources().getDimensionPixelSize(R.dimen.toolbar_end_padding), + getPaddingBottom()); } @Override diff --git a/java/com/android/dialer/app/widget/EmptyContentView.java b/java/com/android/dialer/widget/EmptyContentView.java index cfc8665a2..a76ab98d6 100644 --- a/java/com/android/dialer/app/widget/EmptyContentView.java +++ b/java/com/android/dialer/widget/EmptyContentView.java @@ -14,16 +14,16 @@ * limitations under the License. */ -package com.android.dialer.app.widget; +package com.android.dialer.widget; import android.content.Context; +import android.support.annotation.StringRes; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; -import com.android.dialer.app.R; public class EmptyContentView extends LinearLayout implements View.OnClickListener { @@ -40,6 +40,8 @@ public class EmptyContentView extends LinearLayout implements View.OnClickListen private TextView mActionView; private OnEmptyViewActionButtonClickedListener mOnActionButtonClickedListener; + private @StringRes int actionLabel; + public EmptyContentView(Context context) { this(context, null); } @@ -58,9 +60,9 @@ public class EmptyContentView extends LinearLayout implements View.OnClickListen // Don't let touches fall through the empty view. setClickable(true); - mImageView = (ImageView) findViewById(R.id.emptyListViewImage); - mDescriptionView = (TextView) findViewById(R.id.emptyListViewMessage); - mActionView = (TextView) findViewById(R.id.emptyListViewAction); + mImageView = (ImageView) findViewById(R.id.empty_list_view_image); + mDescriptionView = (TextView) findViewById(R.id.empty_list_view_message); + mActionView = (TextView) findViewById(R.id.empty_list_view_action); mActionView.setOnClickListener(this); } @@ -84,7 +86,8 @@ public class EmptyContentView extends LinearLayout implements View.OnClickListen } } - public void setActionLabel(int resourceId) { + public void setActionLabel(@StringRes int resourceId) { + actionLabel = resourceId; if (resourceId == NO_LABEL) { mActionView.setText(null); mActionView.setVisibility(View.GONE); @@ -94,6 +97,10 @@ public class EmptyContentView extends LinearLayout implements View.OnClickListen } } + public @StringRes int getActionLabel() { + return actionLabel; + } + public boolean isShowingContent() { return mImageView.getVisibility() == View.VISIBLE || mDescriptionView.getVisibility() == View.VISIBLE @@ -117,5 +124,4 @@ public class EmptyContentView extends LinearLayout implements View.OnClickListen (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater.inflate(R.layout.empty_content_view, this); } - } diff --git a/java/com/android/dialer/widget/MessageFragment.java b/java/com/android/dialer/widget/MessageFragment.java index b136f47eb..615ad3b77 100644 --- a/java/com/android/dialer/widget/MessageFragment.java +++ b/java/com/android/dialer/widget/MessageFragment.java @@ -23,6 +23,7 @@ import android.text.Editable; import android.text.InputFilter; import android.text.TextUtils; import android.text.TextWatcher; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -31,11 +32,13 @@ import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import android.widget.TextView.OnEditorActionListener; import com.android.dialer.common.Assert; import com.android.dialer.common.FragmentUtils; /** Fragment used to compose call with message fragment. */ -public class MessageFragment extends Fragment implements OnClickListener, TextWatcher { +public class MessageFragment extends Fragment + implements OnClickListener, TextWatcher, OnEditorActionListener { private static final String CHAR_LIMIT_KEY = "char_limit"; private static final String SHOW_SEND_ICON_KEY = "show_send_icon"; private static final String MESSAGE_LIST_KEY = "message_list"; @@ -69,7 +72,7 @@ public class MessageFragment extends Fragment implements OnClickListener, TextWa LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_message, container, false); - sendMessage = (ImageView) view.findViewById(R.id.send_message); + sendMessage = view.findViewById(R.id.send_message); sendMessageContainer = view.findViewById(R.id.count_and_send_container); if (getArguments().getBoolean(SHOW_SEND_ICON_KEY, false)) { sendMessage.setVisibility(View.VISIBLE); @@ -77,18 +80,19 @@ public class MessageFragment extends Fragment implements OnClickListener, TextWa sendMessageContainer.setOnClickListener(this); } - customMessage = (EditText) view.findViewById(R.id.custom_message); + customMessage = view.findViewById(R.id.custom_message); customMessage.addTextChangedListener(this); + customMessage.setOnEditorActionListener(this); charLimit = getArguments().getInt(CHAR_LIMIT_KEY, NO_CHAR_LIMIT); if (charLimit != NO_CHAR_LIMIT) { - remainingChar = (TextView) view.findViewById(R.id.remaining_characters); + remainingChar = view.findViewById(R.id.remaining_characters); remainingChar.setVisibility(View.VISIBLE); - remainingChar = (TextView) view.findViewById(R.id.remaining_characters); - remainingChar.setText("" + charLimit); + remainingChar = view.findViewById(R.id.remaining_characters); + remainingChar.setText(Integer.toString(charLimit)); customMessage.setFilters(new InputFilter[] {new InputFilter.LengthFilter(charLimit)}); } - LinearLayout messageContainer = (LinearLayout) view.findViewById(R.id.message_container); + LinearLayout messageContainer = view.findViewById(R.id.message_container); for (String message : getArguments().getStringArray(MESSAGE_LIST_KEY)) { TextView textView = (TextView) inflater.inflate(R.layout.selectable_text_view, null); textView.setOnClickListener(this); @@ -123,11 +127,20 @@ public class MessageFragment extends Fragment implements OnClickListener, TextWa @Override public void afterTextChanged(Editable s) { if (charLimit != NO_CHAR_LIMIT) { - remainingChar.setText("" + (charLimit - s.length())); + remainingChar.setText(Integer.toString(charLimit - s.length())); } getListener().onMessageFragmentAfterTextChange(s.toString()); } + @Override + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + if (getMessage() == null) { + return false; + } + getListener().onMessageFragmentSendMessage(getMessage()); + return true; + } + private Listener getListener() { return FragmentUtils.getParentUnsafe(this, Listener.class); } diff --git a/java/com/android/dialer/app/res/drawable-hdpi/empty_contacts.png b/java/com/android/dialer/widget/res/drawable-hdpi/empty_contacts.png Binary files differindex d3c0378f5..d3c0378f5 100644 --- a/java/com/android/dialer/app/res/drawable-hdpi/empty_contacts.png +++ b/java/com/android/dialer/widget/res/drawable-hdpi/empty_contacts.png diff --git a/java/com/android/dialer/app/res/drawable-mdpi/empty_contacts.png b/java/com/android/dialer/widget/res/drawable-mdpi/empty_contacts.png Binary files differindex 2ce7eae37..2ce7eae37 100644 --- a/java/com/android/dialer/app/res/drawable-mdpi/empty_contacts.png +++ b/java/com/android/dialer/widget/res/drawable-mdpi/empty_contacts.png diff --git a/java/com/android/dialer/app/res/drawable-xhdpi/empty_contacts.png b/java/com/android/dialer/widget/res/drawable-xhdpi/empty_contacts.png Binary files differindex 65b1de333..65b1de333 100644 --- a/java/com/android/dialer/app/res/drawable-xhdpi/empty_contacts.png +++ b/java/com/android/dialer/widget/res/drawable-xhdpi/empty_contacts.png diff --git a/java/com/android/dialer/app/res/drawable-xxhdpi/empty_contacts.png b/java/com/android/dialer/widget/res/drawable-xxhdpi/empty_contacts.png Binary files differindex 407d78c9c..407d78c9c 100644 --- a/java/com/android/dialer/app/res/drawable-xxhdpi/empty_contacts.png +++ b/java/com/android/dialer/widget/res/drawable-xxhdpi/empty_contacts.png diff --git a/java/com/android/dialer/app/res/drawable-xxxhdpi/empty_contacts.png b/java/com/android/dialer/widget/res/drawable-xxxhdpi/empty_contacts.png Binary files differindex 5893965e9..5893965e9 100644 --- a/java/com/android/dialer/app/res/drawable-xxxhdpi/empty_contacts.png +++ b/java/com/android/dialer/widget/res/drawable-xxxhdpi/empty_contacts.png diff --git a/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml b/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml index c4aac65fb..023b0ffe2 100644 --- a/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml +++ b/java/com/android/dialer/widget/res/layout/dialer_toolbar.xml @@ -29,7 +29,9 @@ android:gravity="top" android:textSize="@dimen/toolbar_title_text_size" android:textColor="@color/background_dialer_white" - android:fontFamily="sans-serif-medium"/> + android:fontFamily="sans-serif-medium" + android:maxLines="1" + android:ellipsize="end"/> <TextView android:id="@+id/subtitle" @@ -37,6 +39,8 @@ android:layout_height="wrap_content" android:textSize="@dimen/toolbar_subtitle_text_size" android:textColor="@color/background_dialer_white" - android:visibility="gone"/> + android:visibility="gone" + android:maxLines="1" + android:ellipsize="end"/> </LinearLayout> </merge>
\ No newline at end of file diff --git a/java/com/android/dialer/app/res/layout/empty_content_view.xml b/java/com/android/dialer/widget/res/layout/empty_content_view.xml index 96a6a0262..177744385 100644 --- a/java/com/android/dialer/app/res/layout/empty_content_view.xml +++ b/java/com/android/dialer/widget/res/layout/empty_content_view.xml @@ -16,13 +16,13 @@ <merge xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView - android:id="@+id/emptyListViewImage" + android:id="@+id/empty_list_view_image" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal"/> <TextView - android:id="@+id/emptyListViewMessage" + android:id="@+id/empty_list_view_message" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="8dp" @@ -34,7 +34,7 @@ android:textSize="@dimen/empty_list_message_text_size"/> <TextView - android:id="@+id/emptyListViewAction" + android:id="@+id/empty_list_view_action" style="@style/TextActionStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/java/com/android/dialer/widget/res/layout/fragment_message.xml b/java/com/android/dialer/widget/res/layout/fragment_message.xml index e39e03aee..5b0bab536 100644 --- a/java/com/android/dialer/widget/res/layout/fragment_message.xml +++ b/java/com/android/dialer/widget/res/layout/fragment_message.xml @@ -48,7 +48,9 @@ android:textColorHint="@color/dialer_edit_text_hint_color" android:background="@color/background_dialer_white" android:textCursorDrawable="@drawable/searchedittext_custom_cursor" - android:layout_toStartOf="@+id/count_and_send_container"/> + android:layout_toStartOf="@+id/count_and_send_container" + android:inputType="textShortMessage|textCapSentences" + android:imeOptions="actionSend"/> <LinearLayout android:id="@+id/count_and_send_container" diff --git a/java/com/android/dialer/widget/res/values-af/strings.xml b/java/com/android/dialer/widget/res/values-af/strings.xml index 7c5e83a93..122c84328 100644 --- a/java/com/android/dialer/widget/res/values-af/strings.xml +++ b/java/com/android/dialer/widget/res/values-af/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Skryf \'n gepasmaakte boodskap"</string> <string name="toolbar_close" msgid="1081308076149879833">"Maak toe"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Jy het nog nie enige kontakte nie"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Voeg \'n kontak by"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Skakel aan"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Skakel die kontaktetoestemming aan om jou kontakte te sien."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Geen kontakte-program beskikbaar nie"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-am/strings.xml b/java/com/android/dialer/widget/res/values-am/strings.xml index f11b46835..8a5353e18 100644 --- a/java/com/android/dialer/widget/res/values-am/strings.xml +++ b/java/com/android/dialer/widget/res/values-am/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"ብጁ መልዕክት ይጻፉ"</string> <string name="toolbar_close" msgid="1081308076149879833">"ዝጋ"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"ገና ምንም እውቂያዎች የሉዎትም"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"እውቂያ ያክሉ"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"አብራ"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"የእርስዎን እውቂያዎች ለማየት፣ የእውቂያዎች ፍቃዱን ያብሩ።"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"ምንም የእውቂያዎች መተግበሪያ አይገኝም"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ar/strings.xml b/java/com/android/dialer/widget/res/values-ar/strings.xml index cb2e73378..7947903ce 100644 --- a/java/com/android/dialer/widget/res/values-ar/strings.xml +++ b/java/com/android/dialer/widget/res/values-ar/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"كتابة رسالة مخصصة"</string> <string name="toolbar_close" msgid="1081308076149879833">"إغلاق"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"ليست لديك أية جهات اتصال حتى الآن"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"إضافة جهة اتصال"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"تشغيل"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"للاطلاع على جهات الاتصال، شغِّل إذن جهات الاتصال."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"لا يتوفر تطبيق لجهات الاتصال"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-az/strings.xml b/java/com/android/dialer/widget/res/values-az/strings.xml index 3860a5846..7a1389a1a 100644 --- a/java/com/android/dialer/widget/res/values-az/strings.xml +++ b/java/com/android/dialer/widget/res/values-az/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Fərdi mesaj yazın"</string> <string name="toolbar_close" msgid="1081308076149879833">"Bağlayın"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Hələ heç bir kontakt yoxdur"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Kontakt əlavə edin"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktiv edin"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Kontaktları görmək üçün Kontakt icazəsini aktiv edin."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Kontakt tətbiqi əlçatan deyil"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-b+sr+Latn/strings.xml b/java/com/android/dialer/widget/res/values-b+sr+Latn/strings.xml index daefd9020..46b29d27c 100644 --- a/java/com/android/dialer/widget/res/values-b+sr+Latn/strings.xml +++ b/java/com/android/dialer/widget/res/values-b+sr+Latn/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Napišite prilagođenu poruku"</string> <string name="toolbar_close" msgid="1081308076149879833">"Zatvorite"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Još uvek nemate nijedan kontakt"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Dodaj kontakt"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Uključi"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Da biste videli kontakte, uključite dozvolu za Kontakte."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nema dostupne aplikacije za kontakte"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-be/strings.xml b/java/com/android/dialer/widget/res/values-be/strings.xml index 87861321f..38c8a80ca 100644 --- a/java/com/android/dialer/widget/res/values-be/strings.xml +++ b/java/com/android/dialer/widget/res/values-be/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Напісаць карыстальніцкае паведамленне"</string> <string name="toolbar_close" msgid="1081308076149879833">"Закрыць"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"У вас пакуль няма ніякіх кантактаў"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Дадаць кантакт"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Уключыць"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Каб бачыць свае кантакты, уключыце дазвол для Кантактаў."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Праграмы для аперацый з кантактамі няма"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-bg/strings.xml b/java/com/android/dialer/widget/res/values-bg/strings.xml index 35e980c5f..00ce56454 100644 --- a/java/com/android/dialer/widget/res/values-bg/strings.xml +++ b/java/com/android/dialer/widget/res/values-bg/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Напишете свое съобщение"</string> <string name="toolbar_close" msgid="1081308076149879833">"Затваряне"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Още нямате контакти"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Добавяне на контакт"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Включване"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"За да видите контактите си, включете разрешението за Контакти."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Няма налично приложение за контакти"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-bn/strings.xml b/java/com/android/dialer/widget/res/values-bn/strings.xml index 9e1707114..96b75db59 100644 --- a/java/com/android/dialer/widget/res/values-bn/strings.xml +++ b/java/com/android/dialer/widget/res/values-bn/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"একটি কাস্টম বার্তা লিখুন"</string> <string name="toolbar_close" msgid="1081308076149879833">"বন্ধ করুন"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"আপনার এখনও পর্যন্ত কোনো পরিচিতি নেই"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"একটি পরিচিতি যোগ করুন"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"চালু করুন"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"আপনার পরিচিতিগুলি দেখতে, পরিচিতিগুলির অনুমতি চালু করুন।"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"কোনো পরিচিতি অ্যাপ্লিকেশান উপলব্ধ নয়"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-bs/strings.xml b/java/com/android/dialer/widget/res/values-bs/strings.xml index 0bc1a9c15..df24ee16b 100644 --- a/java/com/android/dialer/widget/res/values-bs/strings.xml +++ b/java/com/android/dialer/widget/res/values-bs/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Napišite prilagođenu poruku"</string> <string name="toolbar_close" msgid="1081308076149879833">"Zatvori"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Još nemate nijedan kontakt"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Dodajte kontakt"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Uključi"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Da vidite kontakte, uključite dozvolu za Kontakte."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nije dostupna nijedna aplikacija za kontakte"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ca/strings.xml b/java/com/android/dialer/widget/res/values-ca/strings.xml index 863930039..f7bbaa746 100644 --- a/java/com/android/dialer/widget/res/values-ca/strings.xml +++ b/java/com/android/dialer/widget/res/values-ca/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Escriu un miss. personalitzat"</string> <string name="toolbar_close" msgid="1081308076149879833">"Tanca"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Encara no tens cap contacte"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Afegeix un contacte"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Activa"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Activa el permís Contactes per veure els teus contactes."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"No hi ha cap contacte disponible"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-cs/strings.xml b/java/com/android/dialer/widget/res/values-cs/strings.xml index 829aab8dd..19e5d17da 100644 --- a/java/com/android/dialer/widget/res/values-cs/strings.xml +++ b/java/com/android/dialer/widget/res/values-cs/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Napište vlastní zprávu"</string> <string name="toolbar_close" msgid="1081308076149879833">"Zavřít"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Zatím nemáte žádné kontakty"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Přidat kontakt"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Povolit"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Pokud chcete zobrazit kontakty, povolte aplikaci přístup ke Kontaktům."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Není k dispozici žádná aplikace pro práci s kontakty"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-da/strings.xml b/java/com/android/dialer/widget/res/values-da/strings.xml index 9381f36f5..67fb244c4 100644 --- a/java/com/android/dialer/widget/res/values-da/strings.xml +++ b/java/com/android/dialer/widget/res/values-da/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Skriv en tilpasset besked"</string> <string name="toolbar_close" msgid="1081308076149879833">"Luk"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Du har endnu ikke nogen kontaktpersoner"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Tilføj en kontaktperson"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Slå til"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Slå tilladelsen Kontaktpersoner til for at se dine kontaktpersoner."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Der er ingen tilgængelig app til kontaktpersoner"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-de/strings.xml b/java/com/android/dialer/widget/res/values-de/strings.xml index 949fe9e49..14146d65f 100644 --- a/java/com/android/dialer/widget/res/values-de/strings.xml +++ b/java/com/android/dialer/widget/res/values-de/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Eigene Nachricht schreiben"</string> <string name="toolbar_close" msgid="1081308076149879833">"Schließen"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Du hast noch keine Kontakte"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Kontakt hinzufügen"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktivieren"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Aktiviere die Berechtigung \"Kontakte\", um deine Kontakte abzurufen."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Keine Kontakte-App verfügbar"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-el/strings.xml b/java/com/android/dialer/widget/res/values-el/strings.xml index 21e049bf7..0db6b2694 100644 --- a/java/com/android/dialer/widget/res/values-el/strings.xml +++ b/java/com/android/dialer/widget/res/values-el/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Γράψτε ένα προσαρμ. μήνυμα"</string> <string name="toolbar_close" msgid="1081308076149879833">"Κλείσιμο"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Δεν έχετε επαφές ακόμη"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Προσθήκη επαφής"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Ενεργοποίηση"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Για να δείτε τις επαφές σας, ενεργοποιήστε την άδεια πρόσβασης στις Επαφές."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Δεν υπάρχει διαθέσιμη εφαρμογή επαφών"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-en-rAU/strings.xml b/java/com/android/dialer/widget/res/values-en-rAU/strings.xml index 7f22b46da..a87cd28ff 100644 --- a/java/com/android/dialer/widget/res/values-en-rAU/strings.xml +++ b/java/com/android/dialer/widget/res/values-en-rAU/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Write a custom message"</string> <string name="toolbar_close" msgid="1081308076149879833">"Close"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"You don\'t have any contacts yet"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Add a contact"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Turn on"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"To see your contacts, turn on the Contacts permission."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"No contacts app available"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-en-rGB/strings.xml b/java/com/android/dialer/widget/res/values-en-rGB/strings.xml index 7f22b46da..a87cd28ff 100644 --- a/java/com/android/dialer/widget/res/values-en-rGB/strings.xml +++ b/java/com/android/dialer/widget/res/values-en-rGB/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Write a custom message"</string> <string name="toolbar_close" msgid="1081308076149879833">"Close"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"You don\'t have any contacts yet"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Add a contact"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Turn on"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"To see your contacts, turn on the Contacts permission."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"No contacts app available"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-en-rIN/strings.xml b/java/com/android/dialer/widget/res/values-en-rIN/strings.xml index 7f22b46da..a87cd28ff 100644 --- a/java/com/android/dialer/widget/res/values-en-rIN/strings.xml +++ b/java/com/android/dialer/widget/res/values-en-rIN/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Write a custom message"</string> <string name="toolbar_close" msgid="1081308076149879833">"Close"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"You don\'t have any contacts yet"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Add a contact"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Turn on"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"To see your contacts, turn on the Contacts permission."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"No contacts app available"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-es-rUS/strings.xml b/java/com/android/dialer/widget/res/values-es-rUS/strings.xml index c7fbdaa58..5ecc22b3d 100644 --- a/java/com/android/dialer/widget/res/values-es-rUS/strings.xml +++ b/java/com/android/dialer/widget/res/values-es-rUS/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Escribe tu propio mensaje"</string> <string name="toolbar_close" msgid="1081308076149879833">"Cerrar"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Aún no tienes contactos"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Agregar un contacto"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Activar"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver los contactos, activa el permiso Contactos."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"No hay ninguna app de contactos disponible"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-es/strings.xml b/java/com/android/dialer/widget/res/values-es/strings.xml index 507e8af0d..e561d06f7 100644 --- a/java/com/android/dialer/widget/res/values-es/strings.xml +++ b/java/com/android/dialer/widget/res/values-es/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Mensaje personalizado"</string> <string name="toolbar_close" msgid="1081308076149879833">"Cerrar"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Aún no tienes contactos"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Añadir un contacto"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Activar"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver tus contactos, activa el permiso de Contactos."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"No hay aplicaciones de contactos disponibles"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-et/strings.xml b/java/com/android/dialer/widget/res/values-et/strings.xml index 71dab4276..054b42281 100644 --- a/java/com/android/dialer/widget/res/values-et/strings.xml +++ b/java/com/android/dialer/widget/res/values-et/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Kirjutage kohandatud sõnum"</string> <string name="toolbar_close" msgid="1081308076149879833">"Sule"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Teil pole veel kontakte"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Kontakti lisamine"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Lülita sisse"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Kontaktide vaatamiseks lülitage sisse kontaktide luba."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Kontaktide rakendus pole saadaval"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-eu/strings.xml b/java/com/android/dialer/widget/res/values-eu/strings.xml index b8e4085a0..7d191925e 100644 --- a/java/com/android/dialer/widget/res/values-eu/strings.xml +++ b/java/com/android/dialer/widget/res/values-eu/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Idatzi mezu bat"</string> <string name="toolbar_close" msgid="1081308076149879833">"Itxi"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Oraindik ez duzu kontakturik"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Gehitu kontaktu bat"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktibatu"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Kontaktuak ikusteko, aktibatu Kontaktuak atzitzeko baimena."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Ez dago kontaktu-aplikaziorik erabilgarri"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-fa/strings.xml b/java/com/android/dialer/widget/res/values-fa/strings.xml index 0c3b1d4f5..5ed23131a 100644 --- a/java/com/android/dialer/widget/res/values-fa/strings.xml +++ b/java/com/android/dialer/widget/res/values-fa/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"پیام سفارشی بنویسید"</string> <string name="toolbar_close" msgid="1081308076149879833">"بستن"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"هنوز هیچ مخاطبی ندارید"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"افزودن مخاطب"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"فعالسازی"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"برای دیدن مخاطبینتان، مجوز «مخاطبین» را روشن کنید."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"هیچ برنامه مخاطبی در دسترس نیست"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-fi/strings.xml b/java/com/android/dialer/widget/res/values-fi/strings.xml index e0e971cd8..1a153072c 100644 --- a/java/com/android/dialer/widget/res/values-fi/strings.xml +++ b/java/com/android/dialer/widget/res/values-fi/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Kirjoita oma viesti"</string> <string name="toolbar_close" msgid="1081308076149879833">"Sulje"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Sinulla ei ole vielä yhteystietoja."</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Lisää yhteystieto."</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Ota käyttöön"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Jos haluat katsella yhteystietojasi, ota Yhteystiedot-käyttöoikeus käyttöön."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Yhteystietosovellusta ei ole käytettävissä."</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-fr-rCA/strings.xml b/java/com/android/dialer/widget/res/values-fr-rCA/strings.xml index 9776385b4..62e1f37fb 100644 --- a/java/com/android/dialer/widget/res/values-fr-rCA/strings.xml +++ b/java/com/android/dialer/widget/res/values-fr-rCA/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Rédiger message personnalisé"</string> <string name="toolbar_close" msgid="1081308076149879833">"Fermer"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Vous n\'avez pas encore de contacts"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Ajouter un contact"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Activer"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Pour consulter vos contacts, activez l\'autorisation Contacts."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Aucune application Contacts n\'est disponible"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-fr/strings.xml b/java/com/android/dialer/widget/res/values-fr/strings.xml index fececd84a..85a32b875 100644 --- a/java/com/android/dialer/widget/res/values-fr/strings.xml +++ b/java/com/android/dialer/widget/res/values-fr/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Écrire mon propre message"</string> <string name="toolbar_close" msgid="1081308076149879833">"Fermer"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Vous n\'avez pas encore de contacts."</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Ajouter un contact"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Activer"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Pour consulter vos contacts, activez l\'autorisation Contacts."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Aucune application de gestion des contacts n\'est disponible"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-gl/strings.xml b/java/com/android/dialer/widget/res/values-gl/strings.xml index 6a756810b..8a9089fdb 100644 --- a/java/com/android/dialer/widget/res/values-gl/strings.xml +++ b/java/com/android/dialer/widget/res/values-gl/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Escribe unha mensaxe personalizada"</string> <string name="toolbar_close" msgid="1081308076149879833">"Pechar"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Aínda non tes ningún contacto"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Engadir un contacto"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Activar"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver os teus contactos, activa o permiso de Contactos."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Non hai ningunha aplicación de contactos dispoñible"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-gu/strings.xml b/java/com/android/dialer/widget/res/values-gu/strings.xml index c2f8cf0e1..794245d3d 100644 --- a/java/com/android/dialer/widget/res/values-gu/strings.xml +++ b/java/com/android/dialer/widget/res/values-gu/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"એક કસ્ટમ સંદેશ લખો"</string> <string name="toolbar_close" msgid="1081308076149879833">"બંધ કરો"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"તમે હજી સુધી કોઇપણ સંપર્કો ધરાવતાં નથી"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"સંપર્ક ઉમેરો"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"ચાલુ કરો"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"તમારા સંપર્કો જોવા માટે, સંપર્કોની પરવાનગી ચાલુ કરો."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"કોઈ સંપર્કો ઍપ્લિકેશન ઉપલબ્ધ નથી"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-hi/strings.xml b/java/com/android/dialer/widget/res/values-hi/strings.xml index 63c94e7f6..5cdb8bbfc 100644 --- a/java/com/android/dialer/widget/res/values-hi/strings.xml +++ b/java/com/android/dialer/widget/res/values-hi/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"कोई कस्टम संदेश लिखें"</string> <string name="toolbar_close" msgid="1081308076149879833">"बंद करें"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"आपके पास अभी कोई भी संपर्क नहीं है"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"कोई संपर्क जोड़ें"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"चालू करें"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"अपने संपर्क देखने के लिए, संपर्क अनुमति चालू करें."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"कोई भी संपर्क ऐप उपलब्ध नहीं है"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-hr/strings.xml b/java/com/android/dialer/widget/res/values-hr/strings.xml index 28a58d453..9ded4d4a7 100644 --- a/java/com/android/dialer/widget/res/values-hr/strings.xml +++ b/java/com/android/dialer/widget/res/values-hr/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Napišite prilagođenu poruku"</string> <string name="toolbar_close" msgid="1081308076149879833">"Zatvaranje"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Još nemate nijedan kontakt"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Dodavanje kontakta"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Uključi"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Da biste vidjeli svoje kontakte, uključite dopuštenje za kontakte."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nije dostupna nijedna aplikacija za kontakte"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-hu/strings.xml b/java/com/android/dialer/widget/res/values-hu/strings.xml index dcd2b36ea..92ae71de8 100644 --- a/java/com/android/dialer/widget/res/values-hu/strings.xml +++ b/java/com/android/dialer/widget/res/values-hu/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Egyéni üzenet írása"</string> <string name="toolbar_close" msgid="1081308076149879833">"Bezárás"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Még nem rendelkezik egyetlen névjeggyel sem"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Névjegy hozzáadása"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Bekapcsolás"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"A névjegyek megtekintéséhez kapcsolja be a Névjegyek engedélyt."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nincs elérhető névjegykezelő alkalmazás"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-hy/strings.xml b/java/com/android/dialer/widget/res/values-hy/strings.xml index 7b78bb23e..ffa7132c5 100644 --- a/java/com/android/dialer/widget/res/values-hy/strings.xml +++ b/java/com/android/dialer/widget/res/values-hy/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Գրել տեքստն ինքնուրույն"</string> <string name="toolbar_close" msgid="1081308076149879833">"Փակել"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Դեռ կոնտակտներ չունեք"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Ավելացնել կոնտակտ"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Միացնել"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Ձեր կոնտակտները տեսնելու համար միացրեք Կոնտակտների թույլտվությունը:"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Կոնտակտների հավելված չկա"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-in/strings.xml b/java/com/android/dialer/widget/res/values-in/strings.xml index b4b65504b..69849ae02 100644 --- a/java/com/android/dialer/widget/res/values-in/strings.xml +++ b/java/com/android/dialer/widget/res/values-in/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Tulis pesan khusus"</string> <string name="toolbar_close" msgid="1081308076149879833">"Tutup"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Anda belum memiliki kontak"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Tambahkan kontak"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktifkan"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Untuk melihat kontak, aktifkan izin Kontak."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Aplikasi kontak tidak tersedia"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-is/strings.xml b/java/com/android/dialer/widget/res/values-is/strings.xml index fd844197e..98a172904 100644 --- a/java/com/android/dialer/widget/res/values-is/strings.xml +++ b/java/com/android/dialer/widget/res/values-is/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Skrifa sérsniðin skilaboð"</string> <string name="toolbar_close" msgid="1081308076149879833">"Loka"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Þú ert ekki með neina tengiliði enn sem komið er"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Bæta tengilið við"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Kveikja"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Kveiktu á tengiliðaheimildinni til að sjá tengiliðina þína."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Ekkert tengiliðaforrit í boði"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-it/strings.xml b/java/com/android/dialer/widget/res/values-it/strings.xml index 0af3fd2eb..1a6e6c135 100644 --- a/java/com/android/dialer/widget/res/values-it/strings.xml +++ b/java/com/android/dialer/widget/res/values-it/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Scrivi un messaggio personalizzato"</string> <string name="toolbar_close" msgid="1081308076149879833">"Chiudi"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Nessun contatto disponibile"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Aggiungi un contatto"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Attiva"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Per accedere ai tuoi contatti, attiva l\'autorizzazione Contatti."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nessuna app di contatti disponibile"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-iw/strings.xml b/java/com/android/dialer/widget/res/values-iw/strings.xml index a485888ae..f2a732a67 100644 --- a/java/com/android/dialer/widget/res/values-iw/strings.xml +++ b/java/com/android/dialer/widget/res/values-iw/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"כתוב הודעה מותאמת אישית"</string> <string name="toolbar_close" msgid="1081308076149879833">"סגירה"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"עדיין אין לך אנשי קשר"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"הוספה של איש קשר"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"הפעלה"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"עליך להפעיל את ההרשאה \'אנשי קשר\' כדי להציג את אנשי הקשר שלך."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"אין אף אפליקציה לניהול אנשי קשר"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ja/strings.xml b/java/com/android/dialer/widget/res/values-ja/strings.xml index 9fd65a806..7994c6262 100644 --- a/java/com/android/dialer/widget/res/values-ja/strings.xml +++ b/java/com/android/dialer/widget/res/values-ja/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"カスタム メッセージを入力"</string> <string name="toolbar_close" msgid="1081308076149879833">"閉じる"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"連絡先はまだありません"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"連絡先を追加"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"ON にする"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"連絡先を表示するには、連絡先へのアクセスを許可する設定を ON にしてください。"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"利用できる連絡先アプリがありません"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ka/strings.xml b/java/com/android/dialer/widget/res/values-ka/strings.xml index 6dde04430..865a66b45 100644 --- a/java/com/android/dialer/widget/res/values-ka/strings.xml +++ b/java/com/android/dialer/widget/res/values-ka/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"დაწერეთ მორგებ. შეტყობინება"</string> <string name="toolbar_close" msgid="1081308076149879833">"დახურვა"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"კონტაქტები ჯერ არ გაქვთ"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"კონტაქტის დამატება"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"ჩართვა"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"კონტაქტების სანახავად ჩართეთ კონტაქტების ნებართვა."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"კონტაქტების აპი მიუწვდომელია"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-kk/strings.xml b/java/com/android/dialer/widget/res/values-kk/strings.xml index 334d915e2..08856aaec 100644 --- a/java/com/android/dialer/widget/res/values-kk/strings.xml +++ b/java/com/android/dialer/widget/res/values-kk/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Арнаулы хабар жазу"</string> <string name="toolbar_close" msgid="1081308076149879833">"Жабу"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Әлі ешқандай контактілер жоқ"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Контакт қосу"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Қосу"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Контактілерді көру үшін \"Контактілер\" рұқсатын қосыңыз."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Контактілер қолданбасы қолжетімді емес"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-km/strings.xml b/java/com/android/dialer/widget/res/values-km/strings.xml index d0f5633e4..c09233253 100644 --- a/java/com/android/dialer/widget/res/values-km/strings.xml +++ b/java/com/android/dialer/widget/res/values-km/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"សរសេរសារផ្ទាល់ខ្លួន"</string> <string name="toolbar_close" msgid="1081308076149879833">"បិទ"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"អ្នកមិនទាន់មានទំនាក់ទំនងនៅឡើយទេ"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"បញ្ចូលទំនាក់ទំនង"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"បើក"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"ដើម្បីមើលទំនាក់ទំនងរបស់អ្នក សូមបើកការអនុញ្ញាតកម្មវិធីទំនាក់ទំនង។"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"មិនមានកម្មវិធីទំនាក់ទំនងទេ"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-kn/strings.xml b/java/com/android/dialer/widget/res/values-kn/strings.xml index 3535bfcb7..a502d087e 100644 --- a/java/com/android/dialer/widget/res/values-kn/strings.xml +++ b/java/com/android/dialer/widget/res/values-kn/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"ಕಸ್ಟಮ್ ಸಂದೇಶವನ್ನು ಬರೆಯಿರಿ"</string> <string name="toolbar_close" msgid="1081308076149879833">"ಮುಚ್ಚಿ"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"ನಿಮ್ಮ ಬಳಿ ಇನ್ನೂ ಯಾವುದೇ ಸಂಪರ್ಕಗಳಿಲ್ಲ"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"ಸಂಪರ್ಕ ಸೇರಿಸಿ"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"ಆನ್ ಮಾಡಿ"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ವೀಕ್ಷಿಸಲು, ಸಂಪರ್ಕಗಳ ಅನುಮತಿಯನ್ನು ಆನ್ ಮಾಡಿ."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"ಯಾವುದೇ ಸಂಪರ್ಕಗಳ ಅಪ್ಲಿಕೇಶನ್ ಲಭ್ಯವಿಲ್ಲ"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ko/strings.xml b/java/com/android/dialer/widget/res/values-ko/strings.xml index 8c00cea8b..045dc54dc 100644 --- a/java/com/android/dialer/widget/res/values-ko/strings.xml +++ b/java/com/android/dialer/widget/res/values-ko/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"맞춤 메시지를 작성하세요."</string> <string name="toolbar_close" msgid="1081308076149879833">"닫기"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"아직 연락처가 없습니다."</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"연락처 추가"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"사용"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"연락처를 보려면 연락처에 액세스할 권한을 부여하세요."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"사용할 수 있는 연락처 앱이 없습니다."</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ky/strings.xml b/java/com/android/dialer/widget/res/values-ky/strings.xml index 46ea8514c..7ef10e707 100644 --- a/java/com/android/dialer/widget/res/values-ky/strings.xml +++ b/java/com/android/dialer/widget/res/values-ky/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Башка билдирүүнү жазыңыз"</string> <string name="toolbar_close" msgid="1081308076149879833">"Жабуу"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Азырынча эч байланышыңыз жок"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Байланыш кошуу"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Күйгүзүү"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Байланыштарыңызды көрүү үчүн, \"Байланыштар\" уруксатын күйгүзүңүз."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Жеткиликтүү байланыштар колдонмосу жок"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-lo/strings.xml b/java/com/android/dialer/widget/res/values-lo/strings.xml index 0db64a78a..dc7ba44c1 100644 --- a/java/com/android/dialer/widget/res/values-lo/strings.xml +++ b/java/com/android/dialer/widget/res/values-lo/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"ຂຽນຂໍ້ຄວາມດ້ວຍຕົນເອງ"</string> <string name="toolbar_close" msgid="1081308076149879833">"ປິດ"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"ທ່ານຍັງບໍ່ມີລາຍຊື່ຜູ້ຕິດຕໍ່ເທື່ອ"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"ເພີ່ມລາຍຊື່"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"ເປີດໃຊ້"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"ເພື່ອເບິ່ງລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານ, ໃຫ້ເປີດການອະນຸຍາດລາຍຊື່ຜູ້ຕິດຕໍ່ກ່ອນ"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"ບໍ່ມີແອັບລາຍຊື່ຜູ້ຕິດຕໍ່ທີ່ສາມາດໃຊ້ໄດ້"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-lt/strings.xml b/java/com/android/dialer/widget/res/values-lt/strings.xml index a10b91ef6..be12520f8 100644 --- a/java/com/android/dialer/widget/res/values-lt/strings.xml +++ b/java/com/android/dialer/widget/res/values-lt/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Parašykite tinkintą praneš."</string> <string name="toolbar_close" msgid="1081308076149879833">"Uždaryti"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Dar neturite jokių kontaktų"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Pridėkite kontaktą"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Įjungti"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Jei norite peržiūrėti kontaktus, įjunkite Kontaktų leidimą."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nepasiekiama jokia kontaktų programa"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-lv/strings.xml b/java/com/android/dialer/widget/res/values-lv/strings.xml index 8ff079390..acefbaea4 100644 --- a/java/com/android/dialer/widget/res/values-lv/strings.xml +++ b/java/com/android/dialer/widget/res/values-lv/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Rakstīt pielāgotu ziņojumu"</string> <string name="toolbar_close" msgid="1081308076149879833">"Aizvērt"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Jums vēl nav nevienas kontaktpersonas."</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Pievienot kontaktpersonu"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Ieslēgt"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Lai skatītu savas kontaktpersonas, ieslēdziet atļauju Kontaktpersonas."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nav pieejama neviena kontaktpersonu lietotne."</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-mk/strings.xml b/java/com/android/dialer/widget/res/values-mk/strings.xml index aa9be3055..20b18e8d9 100644 --- a/java/com/android/dialer/widget/res/values-mk/strings.xml +++ b/java/com/android/dialer/widget/res/values-mk/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Напиши приспособена порака"</string> <string name="toolbar_close" msgid="1081308076149879833">"Затвори"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Сè уште немате контакти"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Додајте контакт"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Вклучи"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"За да ги видите контактите, вклучете ја дозволата за контакти."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Нема достапна апликација за контакти"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ml/strings.xml b/java/com/android/dialer/widget/res/values-ml/strings.xml index b52ee401c..a97a7d862 100644 --- a/java/com/android/dialer/widget/res/values-ml/strings.xml +++ b/java/com/android/dialer/widget/res/values-ml/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"ഒരു ഇഷ്ടാനുസൃത സന്ദേശം രചിക്കൂ"</string> <string name="toolbar_close" msgid="1081308076149879833">"അടയ്ക്കുക"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"നിങ്ങൾക്ക് ഇതുവരെയും കോൺടാക്റ്റുകൾ ഒന്നുമില്ല."</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"ഒരു കോണ്ടാക്റ്റ് ചേര്ക്കുക"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"ഓൺ ചെയ്യുക"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"നിങ്ങളുടെ കോൺടാക്റ്റുകൾ കാണുന്നതിന്, \'കോൺടാക്റ്റുകൾ\' അനുമതി ഓണാക്കുക."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"കോൺടാക്റ്റ് അപ്ലിക്കേഷനൊന്നും ലഭ്യമല്ല"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-mn/strings.xml b/java/com/android/dialer/widget/res/values-mn/strings.xml index 6bdad8983..bbcfc7cf6 100644 --- a/java/com/android/dialer/widget/res/values-mn/strings.xml +++ b/java/com/android/dialer/widget/res/values-mn/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Тусгай зурвас бичих"</string> <string name="toolbar_close" msgid="1081308076149879833">"Хаах"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Танд одоогоор харилцагч байхгүй байна"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Харилцагч нэмэх"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Асаах"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Харилцагчдаа харахын тулд Харилцагчдын зөвшөөрлийг идэвхжүүлнэ үү."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Ямар ч харилцагчдын апликейшн байхгүй байна"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-mr/strings.xml b/java/com/android/dialer/widget/res/values-mr/strings.xml index 5661fa8b9..38d913a85 100644 --- a/java/com/android/dialer/widget/res/values-mr/strings.xml +++ b/java/com/android/dialer/widget/res/values-mr/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"एक सानुकूल संदेश लिहा"</string> <string name="toolbar_close" msgid="1081308076149879833">"बंद करा"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"आपल्याकडे अद्याप कोणतेही संपर्क नाहीत"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"एक संपर्क जोडा"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"चालू करा"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"आपले संपर्क पाहण्यासाठी, संपर्क परवानगी चालू करा."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"कोणताही संपर्क अॅप उपलब्ध नाही"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ms/strings.xml b/java/com/android/dialer/widget/res/values-ms/strings.xml index 8889ccc8d..bc67c6764 100644 --- a/java/com/android/dialer/widget/res/values-ms/strings.xml +++ b/java/com/android/dialer/widget/res/values-ms/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Tulis mesej tersuai"</string> <string name="toolbar_close" msgid="1081308076149879833">"Tutup"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Anda belum mempunyai sebarang kenalan"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Tambahkan kenalan"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Hidupkan"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Untuk melihat kenalan anda, hidupkan kebenaran Kenalan."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Tiada apl kenalan yang tersedia"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-my/strings.xml b/java/com/android/dialer/widget/res/values-my/strings.xml index 9a69f29eb..c8e783bf4 100644 --- a/java/com/android/dialer/widget/res/values-my/strings.xml +++ b/java/com/android/dialer/widget/res/values-my/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"စိတ်ကြိုက် မက်ဆေ့ဂျ်တစ်ခု ရေးပါ"</string> <string name="toolbar_close" msgid="1081308076149879833">"ပိတ်ရန်"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"သင့်တွင် မည်သည့်အဆက်အသွယ်မျှ မရှိသေးပါ"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"အဆက်အသွယ်တစ်ယောက် ထည့်မည်"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"ဖွင့်ရန်"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"အဆက်အသွယ်များကိုကြည့်ရန်၊ အဆက်အသွယ်ခွင့်ပြုချက်ကို ဖွင့်ပါ။"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"အဆက်အသွယ်များ app မရှိပါ"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-nb/strings.xml b/java/com/android/dialer/widget/res/values-nb/strings.xml index 100156bd1..822f07ed1 100644 --- a/java/com/android/dialer/widget/res/values-nb/strings.xml +++ b/java/com/android/dialer/widget/res/values-nb/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Skriv egendefinert melding"</string> <string name="toolbar_close" msgid="1081308076149879833">"Lukk"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Du har ingen kontakter ennå"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Legg til en kontakt"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Slå på"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"For å se kontaktene dine må du slå på Kontakter-tillatelsen."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Ingen kontaktapper er tilgjengelige"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ne/strings.xml b/java/com/android/dialer/widget/res/values-ne/strings.xml index abb8bb04b..ebb31d579 100644 --- a/java/com/android/dialer/widget/res/values-ne/strings.xml +++ b/java/com/android/dialer/widget/res/values-ne/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"आफू अनुकूल सन्देश लेख्ने"</string> <string name="toolbar_close" msgid="1081308076149879833">"बन्द गर्नुहोस्"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"अहिलेसम्म तपाईंसँग कुनै सम्पर्कहरू छैनन्"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"कुनै सम्पर्क थप्नुहोस्"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"सक्रिय गर्नुहोस्"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"आफ्ना सम्पर्कहरू हेर्न सम्पर्क सम्बन्धी अनुमतिलाई सक्रिय गर्नुहोस्।"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"सम्पर्क सम्बन्धी कुनै अनुप्रयोग उपलब्ध छैन"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-nl/strings.xml b/java/com/android/dialer/widget/res/values-nl/strings.xml index 556028893..cbc286ba3 100644 --- a/java/com/android/dialer/widget/res/values-nl/strings.xml +++ b/java/com/android/dialer/widget/res/values-nl/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Schrijf zelf een bericht"</string> <string name="toolbar_close" msgid="1081308076149879833">"Sluiten"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Je hebt nog geen contacten"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Een contact toevoegen"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Inschakelen"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Als je je contacten wilt bekijken, schakel je de machtiging voor Contacten in."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Geen app voor contacten beschikbaar"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-no/strings.xml b/java/com/android/dialer/widget/res/values-no/strings.xml index 100156bd1..822f07ed1 100644 --- a/java/com/android/dialer/widget/res/values-no/strings.xml +++ b/java/com/android/dialer/widget/res/values-no/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Skriv egendefinert melding"</string> <string name="toolbar_close" msgid="1081308076149879833">"Lukk"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Du har ingen kontakter ennå"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Legg til en kontakt"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Slå på"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"For å se kontaktene dine må du slå på Kontakter-tillatelsen."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Ingen kontaktapper er tilgjengelige"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-pa/strings.xml b/java/com/android/dialer/widget/res/values-pa/strings.xml index 4c69c2c6e..06f191e50 100644 --- a/java/com/android/dialer/widget/res/values-pa/strings.xml +++ b/java/com/android/dialer/widget/res/values-pa/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ ਸੰਦੇਸ਼ ਲਿਖੋ"</string> <string name="toolbar_close" msgid="1081308076149879833">"ਬੰਦ ਕਰੋ"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"ਤੁਹਾਡੇ ਕੋਲ ਹਾਲੇ ਕੋਈ ਸੰਪਰਕ ਨਹੀਂ ਹਨ"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"ਕੋਈ ਸੰਪਰਕ ਸ਼ਾਮਲ ਕਰੋ"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"ਚਾਲੂ ਕਰੋ"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਨੂੰ ਵੇਖਣ ਲਈ, ਸੰਪਰਕ ਇਜਾਜ਼ਤ ਚਾਲੂ ਕਰੋ।"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"ਕੋਈ ਸੰਪਰਕ ਐਪ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-pl/strings.xml b/java/com/android/dialer/widget/res/values-pl/strings.xml index cec7a4045..5d62a07f1 100644 --- a/java/com/android/dialer/widget/res/values-pl/strings.xml +++ b/java/com/android/dialer/widget/res/values-pl/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Wpisz wiadomość"</string> <string name="toolbar_close" msgid="1081308076149879833">"Zamknij"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Nie masz jeszcze żadnych kontaktów"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Dodaj kontakt"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Włącz"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Aby zobaczyć swoje kontakty, włącz uprawnienia Kontakty."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nie jest dostępna żadna aplikacja do obsługi kontaktów"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-pt-rBR/strings.xml b/java/com/android/dialer/widget/res/values-pt-rBR/strings.xml index b15bfac8d..0afc0f1d6 100644 --- a/java/com/android/dialer/widget/res/values-pt-rBR/strings.xml +++ b/java/com/android/dialer/widget/res/values-pt-rBR/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Escreva sua mensagem"</string> <string name="toolbar_close" msgid="1081308076149879833">"Fechar"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Você ainda não tem contatos"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Adicionar um contato"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Ativar"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver seus contatos, ative a permissão para o app Contatos."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nenhum app de contatos disponível"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-pt-rPT/strings.xml b/java/com/android/dialer/widget/res/values-pt-rPT/strings.xml index ece2ef2c3..35f71a371 100644 --- a/java/com/android/dialer/widget/res/values-pt-rPT/strings.xml +++ b/java/com/android/dialer/widget/res/values-pt-rPT/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Escreva uma mensagem"</string> <string name="toolbar_close" msgid="1081308076149879833">"Fechar"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Ainda não tem nenhum contacto"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Adicionar um contacto"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Ativar"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver os seus contactos, ative a autorização Contactos."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Não existe nenhuma aplicação de contactos disponível"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-pt/strings.xml b/java/com/android/dialer/widget/res/values-pt/strings.xml index b15bfac8d..0afc0f1d6 100644 --- a/java/com/android/dialer/widget/res/values-pt/strings.xml +++ b/java/com/android/dialer/widget/res/values-pt/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Escreva sua mensagem"</string> <string name="toolbar_close" msgid="1081308076149879833">"Fechar"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Você ainda não tem contatos"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Adicionar um contato"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Ativar"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Para ver seus contatos, ative a permissão para o app Contatos."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nenhum app de contatos disponível"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ro/strings.xml b/java/com/android/dialer/widget/res/values-ro/strings.xml index 753b920b4..6c51d23ac 100644 --- a/java/com/android/dialer/widget/res/values-ro/strings.xml +++ b/java/com/android/dialer/widget/res/values-ro/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Scrieți mesaj personalizat"</string> <string name="toolbar_close" msgid="1081308076149879833">"Închideți"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Nu aveți încă persoane de contact."</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Adăugați o persoană de contact"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Activați"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Pentru a vedea persoanele de contact, activați permisiunea pentru Agendă."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nu este disponibilă nicio aplicație pentru agendă"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ru/strings.xml b/java/com/android/dialer/widget/res/values-ru/strings.xml index bdebd3ce4..c36874de5 100644 --- a/java/com/android/dialer/widget/res/values-ru/strings.xml +++ b/java/com/android/dialer/widget/res/values-ru/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Добавьте свой текст"</string> <string name="toolbar_close" msgid="1081308076149879833">"Закрыть"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Контактов нет"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Добавить контакт"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Предоставить разрешение"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Чтобы открыть список контактов, предоставьте приложению разрешение \"Контакты\"."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Нет приложения для работы с контактами"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-si/strings.xml b/java/com/android/dialer/widget/res/values-si/strings.xml index 4988259d4..10eb7b5b5 100644 --- a/java/com/android/dialer/widget/res/values-si/strings.xml +++ b/java/com/android/dialer/widget/res/values-si/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"අභිරුචි පණිවිඩයක් ලියන්න"</string> <string name="toolbar_close" msgid="1081308076149879833">"වසන්න"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"ඔබට තවම කිසිදු සම්බන්ධතාවක් නැත"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"සම්බන්ධතාවක් එක් කරන්න"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"ක්රියාත්මක කරන්න"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"ඔබේ සම්බන්ධතා බැලීමට, සම්බන්ධතා අවසරය ක්රියාත්මක කරන්න."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"සබඳතා යෙදුම ලබා ගැනීමට නොහැකිය"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-sk/strings.xml b/java/com/android/dialer/widget/res/values-sk/strings.xml index 5dc1bd505..56f7ceb97 100644 --- a/java/com/android/dialer/widget/res/values-sk/strings.xml +++ b/java/com/android/dialer/widget/res/values-sk/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Napíšte vlastnú správu"</string> <string name="toolbar_close" msgid="1081308076149879833">"Zavrieť"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Zatiaľ nemáte žiadne kontakty"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Pridať kontakt"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Zapnúť"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Ak si chcete zobraziť kontakty, zapnite povolenie Kontakty."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nie je k dispozícii žiadna aplikácia na prácu s kontaktmi"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-sl/strings.xml b/java/com/android/dialer/widget/res/values-sl/strings.xml index 0ba965b2e..52f029377 100644 --- a/java/com/android/dialer/widget/res/values-sl/strings.xml +++ b/java/com/android/dialer/widget/res/values-sl/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Napišite sporočilo po meri"</string> <string name="toolbar_close" msgid="1081308076149879833">"Zapri"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Nimate še nobenega stika"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Dodaj stik"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Vklopi"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Če si želite ogledati stike, vklopite dovoljenje za stike."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Na voljo ni nobene aplikacije za stike"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-sq/strings.xml b/java/com/android/dialer/widget/res/values-sq/strings.xml index 7f5e0f285..c7943dfd3 100644 --- a/java/com/android/dialer/widget/res/values-sq/strings.xml +++ b/java/com/android/dialer/widget/res/values-sq/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Shkruaj mesazh të person."</string> <string name="toolbar_close" msgid="1081308076149879833">"Mbyll"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Nuk ke ende kontakte"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Shto një kontakt"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktivizo"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Për të parë kontaktet, aktivizo lejen e Kontakteve."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Nuk ka asnjë aplikacion për kontaktet"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-sr/strings.xml b/java/com/android/dialer/widget/res/values-sr/strings.xml index 446c27363..00b9b4f6c 100644 --- a/java/com/android/dialer/widget/res/values-sr/strings.xml +++ b/java/com/android/dialer/widget/res/values-sr/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Напишите прилагођену поруку"</string> <string name="toolbar_close" msgid="1081308076149879833">"Затворите"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Још увек немате ниједан контакт"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Додај контакт"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Укључи"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Да бисте видели контакте, укључите дозволу за Контакте."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Нема доступне апликације за контакте"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-sv/strings.xml b/java/com/android/dialer/widget/res/values-sv/strings.xml index 7d2f44c45..359397026 100644 --- a/java/com/android/dialer/widget/res/values-sv/strings.xml +++ b/java/com/android/dialer/widget/res/values-sv/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Skriv anpassat meddelande"</string> <string name="toolbar_close" msgid="1081308076149879833">"Stäng"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Du har inga kontakter ännu"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Lägg till en kontakt"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Aktivera"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Du måste aktivera behörigheten Kontakter för att visa kontakterna."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Det finns inga appar för kontakter"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-sw/strings.xml b/java/com/android/dialer/widget/res/values-sw/strings.xml index d2c2a9721..b0892108b 100644 --- a/java/com/android/dialer/widget/res/values-sw/strings.xml +++ b/java/com/android/dialer/widget/res/values-sw/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Andika ujumbe maalum"</string> <string name="toolbar_close" msgid="1081308076149879833">"Funga"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Bado huna anwani zozote"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Ongeza anwani"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Washa"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Ili uone anwani zako, washa ruhusa ya Anwani."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Hakuna programu ya anwani iliyopatikana"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ta/strings.xml b/java/com/android/dialer/widget/res/values-ta/strings.xml index 4061c169f..83ca080e5 100644 --- a/java/com/android/dialer/widget/res/values-ta/strings.xml +++ b/java/com/android/dialer/widget/res/values-ta/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"தனிப்பயன் செய்தியை எழுதவும்"</string> <string name="toolbar_close" msgid="1081308076149879833">"மூடு"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"இதுவரை தொடர்புகள் எதுவுமில்லை"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"தொடர்பைச் சேர்"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"இயக்கு"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"தொடர்புகளைப் பார்க்க, தொடர்புகள் அனுமதியை இயக்கவும்."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"தொடர்புகள் பயன்பாடு எதுவுமில்லை"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-te/strings.xml b/java/com/android/dialer/widget/res/values-te/strings.xml index c2474b7ce..418cc3d0b 100644 --- a/java/com/android/dialer/widget/res/values-te/strings.xml +++ b/java/com/android/dialer/widget/res/values-te/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"అనుకూల సందేశాన్ని వ్రాయండి"</string> <string name="toolbar_close" msgid="1081308076149879833">"మూసివేయి"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"మీకు ఇప్పటికీ పరిచయాలేవీ లేవు"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"పరిచయాన్ని జోడించండి"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"ఆన్ చేయి"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"మీ పరిచయాలను చూడటానికి, పరిచయాల అనుమతిని ఆన్ చేయండి."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"పరిచయాల అనువర్తనం ఏదీ అందుబాటులో లేదు"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-th/strings.xml b/java/com/android/dialer/widget/res/values-th/strings.xml index d450b4b13..c556d1c37 100644 --- a/java/com/android/dialer/widget/res/values-th/strings.xml +++ b/java/com/android/dialer/widget/res/values-th/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"เขียนข้อความที่กำหนดเอง"</string> <string name="toolbar_close" msgid="1081308076149879833">"ปิด"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"คุณยังไม่มีรายชื่อติดต่อ"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"เพิ่มรายชื่อติดต่อ"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"เปิด"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"หากต้องการดูรายชื่อติดต่อ ให้เปิดสิทธิ์เข้าถึงรายชื่อติดต่อ"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"ไม่มีแอปรายชื่อติดต่อที่พร้อมใช้งาน"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-tl/strings.xml b/java/com/android/dialer/widget/res/values-tl/strings.xml index ee7c52f7b..be02d1989 100644 --- a/java/com/android/dialer/widget/res/values-tl/strings.xml +++ b/java/com/android/dialer/widget/res/values-tl/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Sumulat ng custom na mensahe"</string> <string name="toolbar_close" msgid="1081308076149879833">"Isara"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Wala ka pang sinumang contact"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Magdagdag ng contact"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"I-on"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Upang makita ang iyong mga contact, i-on ang pahintulot ng Mga Contact."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Walang available na app ng mga contact"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-tr/strings.xml b/java/com/android/dialer/widget/res/values-tr/strings.xml index 64e2ea535..90d5db649 100644 --- a/java/com/android/dialer/widget/res/values-tr/strings.xml +++ b/java/com/android/dialer/widget/res/values-tr/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Özel bir mesaj yazın"</string> <string name="toolbar_close" msgid="1081308076149879833">"Kapat"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Henüz hiç kişiniz yok"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Kişi ekleyin"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Etkinleştir"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Kişilerinizi görmek için Kişiler iznini etkinleştirin."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Kullanılabilir kişi uygulaması yok"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-uk/strings.xml b/java/com/android/dialer/widget/res/values-uk/strings.xml index f8d9bb871..cf5a7d1db 100644 --- a/java/com/android/dialer/widget/res/values-uk/strings.xml +++ b/java/com/android/dialer/widget/res/values-uk/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Ваше власне повідомлення"</string> <string name="toolbar_close" msgid="1081308076149879833">"Закрити"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Ще немає контактів"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Додати контакт"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Увімкнути"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Щоб переглянути контакти, увімкніть дозвіл \"Контакти\"."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Немає додатка з контактами"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-ur/strings.xml b/java/com/android/dialer/widget/res/values-ur/strings.xml index 6edeb5c95..e5199afe4 100644 --- a/java/com/android/dialer/widget/res/values-ur/strings.xml +++ b/java/com/android/dialer/widget/res/values-ur/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"ایک حسب ضرورت پیغام لکھیں"</string> <string name="toolbar_close" msgid="1081308076149879833">"بند کریں"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"آپ کے پاس ابھی تک کوئی رابطے نہیں ہیں"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"ایک رابطہ شامل کریں"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"آن کریں"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"اپنے رابطے دیکھنے کیلئے رابطوں کی اجازت آن کریں۔"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"رابطوں کی کوئی ایپ دستیاب نہیں ہے"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-uz/strings.xml b/java/com/android/dialer/widget/res/values-uz/strings.xml index 434464aef..eb0e0adae 100644 --- a/java/com/android/dialer/widget/res/values-uz/strings.xml +++ b/java/com/android/dialer/widget/res/values-uz/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Boshqa xabar yozing"</string> <string name="toolbar_close" msgid="1081308076149879833">"Yopish"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Kontaktlar yo‘q"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Kontakt qo‘shish"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Ruxsat berish"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Kontaktlar ro‘yxatini ko‘rish uchun ilovaga Kontaktlarga kirishga ruxsat bering."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Kontaktlarni ochadigan ilova yo‘q"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-vi/strings.xml b/java/com/android/dialer/widget/res/values-vi/strings.xml index 1a30f7c96..62e94b82e 100644 --- a/java/com/android/dialer/widget/res/values-vi/strings.xml +++ b/java/com/android/dialer/widget/res/values-vi/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Viết tin nhắn tùy chỉnh"</string> <string name="toolbar_close" msgid="1081308076149879833">"Đóng"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Bạn chưa có bất kỳ liên hệ nào"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Thêm liên hệ"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Bật"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Để xem danh bạ của bạn, bật quyền đối với Danh bạ."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Không có ứng dụng danh bạ"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-zh-rCN/strings.xml b/java/com/android/dialer/widget/res/values-zh-rCN/strings.xml index 799972393..063301ae0 100644 --- a/java/com/android/dialer/widget/res/values-zh-rCN/strings.xml +++ b/java/com/android/dialer/widget/res/values-zh-rCN/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"自行撰写信息"</string> <string name="toolbar_close" msgid="1081308076149879833">"关闭"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"您还没有任何联系人"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"添加联系人"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"开启"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"要查看您的联系人,请开启“通讯录”权限。"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"没有可用的通讯录应用"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-zh-rHK/strings.xml b/java/com/android/dialer/widget/res/values-zh-rHK/strings.xml index b0bfcc8d9..e2e69b75b 100644 --- a/java/com/android/dialer/widget/res/values-zh-rHK/strings.xml +++ b/java/com/android/dialer/widget/res/values-zh-rHK/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"撰寫自訂訊息"</string> <string name="toolbar_close" msgid="1081308076149879833">"關閉"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"您尚無任何聯絡人"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"新增聯絡人"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"開放"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"如要查看聯絡人,請開放「通訊錄」權限。"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"沒有可用的聯絡人應用程式"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-zh-rTW/strings.xml b/java/com/android/dialer/widget/res/values-zh-rTW/strings.xml index b0bfcc8d9..85768af8f 100644 --- a/java/com/android/dialer/widget/res/values-zh-rTW/strings.xml +++ b/java/com/android/dialer/widget/res/values-zh-rTW/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"撰寫自訂訊息"</string> <string name="toolbar_close" msgid="1081308076149879833">"關閉"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"你還沒有任何聯絡人"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"新增聯絡人"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"開啟"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"如要查看你的聯絡人,請開啟「聯絡人」存取權限。"</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"沒有可用的聯絡人應用程式"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values-zu/strings.xml b/java/com/android/dialer/widget/res/values-zu/strings.xml index 074aa5822..a3ba84a9a 100644 --- a/java/com/android/dialer/widget/res/values-zu/strings.xml +++ b/java/com/android/dialer/widget/res/values-zu/strings.xml @@ -3,4 +3,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="custom_message_hint" msgid="2179012696339457461">"Bhala umlayezo wangokwezifiso"</string> <string name="toolbar_close" msgid="1081308076149879833">"Vala"</string> + <string name="all_contacts_empty" msgid="4260556610403994011">"Awunabo oxhumana nabo okwamanje"</string> + <string name="all_contacts_empty_add_contact_action" msgid="69234925354938480">"Engeza oxhumana naye"</string> + <string name="permission_single_turn_on" msgid="1306416016676232584">"Vula"</string> + <string name="permission_no_contacts" msgid="2388204904477299207">"Ukuze ubone oxhumana nabo, vula imvume yoxhumana nabo."</string> + <string name="add_contact_not_available" msgid="3083256438899321502">"Alukho uhlelo lokusebenza loxhumana nabo olutholakalayo"</string> </resources> diff --git a/java/com/android/dialer/widget/res/values/colors.xml b/java/com/android/dialer/widget/res/values/colors.xml new file mode 100644 index 000000000..c974609ef --- /dev/null +++ b/java/com/android/dialer/widget/res/values/colors.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <color name="empty_list_text_color">#b2b2b2</color> +</resources>
\ No newline at end of file diff --git a/java/com/android/dialer/widget/res/values/dimens.xml b/java/com/android/dialer/widget/res/values/dimens.xml index 20393a842..537ad7bd7 100644 --- a/java/com/android/dialer/widget/res/values/dimens.xml +++ b/java/com/android/dialer/widget/res/values/dimens.xml @@ -26,4 +26,9 @@ <dimen name="toolbar_title_small_text_size">14sp</dimen> <dimen name="toolbar_subtitle_text_size">12sp</dimen> <dimen name="toolbar_elevation">4dp</dimen> + <dimen name="toolbar_end_padding">4dp</dimen> + + <!-- Empty List --> + <dimen name="empty_list_message_top_padding">20dp</dimen> + <dimen name="empty_list_message_text_size">16sp</dimen> </resources>
\ No newline at end of file diff --git a/java/com/android/dialer/widget/res/values/strings.xml b/java/com/android/dialer/widget/res/values/strings.xml index a5829bb0b..d6ea2e7cd 100644 --- a/java/com/android/dialer/widget/res/values/strings.xml +++ b/java/com/android/dialer/widget/res/values/strings.xml @@ -5,4 +5,19 @@ <!-- Accessibility string for close/navigation icon in DialerToolbar --> <string name="toolbar_close">Close</string> + + <!-- [CHAR LIMIT=NONE] Shown when there are no contacts in the all contacts list. --> + <string name="all_contacts_empty">You don\'t have any contacts yet</string> + + <!-- [CHAR LIMIT=NONE] Shown as an action when the all contacts list is empty --> + <string name="all_contacts_empty_add_contact_action">Add a contact</string> + + <!-- The label of the button used to turn on a single permission [CHAR LIMIT=30]--> + <string name="permission_single_turn_on">Turn on</string> + + <!-- Shown as a prompt to turn on the contacts permission to show all contacts [CHAR LIMIT=NONE]--> + <string name="permission_no_contacts">To see your contacts, turn on the Contacts permission.</string> + + <!-- Message displayed when there is no application available to handle the add contact menu option. [CHAR LIMIT=NONE] --> + <string name="add_contact_not_available">No contacts app available</string> </resources>
\ No newline at end of file |