[automerger skipped] Import translations. DO NOT MERGE ANYWHERE am: a7caa5885a -s ours
am skip reason: subject contains skip directive
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Contacts/+/20739431
Change-Id: Icb05a84cbb018e66d40de6a39e1822ce40160cac
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index e974863..0e59458 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -45,7 +45,6 @@
<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.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<!-- Following used for Contact metadata syncing -->
@@ -55,7 +54,7 @@
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<!-- Required in P to run Service.startForeground() -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
- <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
+ <uses-permission android:name="android.permission.HIDE_OVERLAY_WINDOWS" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-feature
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 2c12133..4563946 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -457,7 +457,7 @@
<string name="about_build_version" msgid="5870642814752351712">"Жинақ нұсқасы"</string>
<string name="about_open_source_licenses" msgid="1617836621315557445">"Ашық кодты бағдарлама лицензиялары"</string>
<string name="about_open_source_licenses_summary" msgid="4843627659117423491">"Ашық бастапқы код бағдарламасына арналған лицензия туралы мәліметтер"</string>
- <string name="about_privacy_policy" msgid="4581488375200402678">"Құпиялылық саясаты"</string>
+ <string name="about_privacy_policy" msgid="4581488375200402678">"Құпиялық саясаты"</string>
<string name="about_terms_of_service" msgid="7419670771785057738">"Қызмет көрсету шарттары"</string>
<string name="activity_title_licenses" msgid="6434398894019119709">"Ашық кодты бағдарлама лицензиялары"</string>
<string name="url_open_error_toast" msgid="4885855620824048385">"Url ашылған жоқ."</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 11b01e8..f7d8535 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -33,13 +33,13 @@
<string name="description_action_menu_remove_star" msgid="4044390281910122890">"ఇష్టమైనవి నుండి తీసివేయబడింది"</string>
<string name="description_action_menu_add_star" msgid="7316521132809388851">"ఇష్టమైనవికి జోడించబడింది"</string>
<string name="menu_editContact" msgid="5039663761025630208">"ఎడిట్"</string>
- <string name="menu_deleteContact" msgid="15161764025276217">"తొలగించు"</string>
+ <string name="menu_deleteContact" msgid="15161764025276217">"తొలగించండి"</string>
<string name="menu_change_photo" msgid="4911246106907208055">"ఫోటోను మార్చు"</string>
<string name="menu_create_contact_shortcut" msgid="8983436328557825860">"షార్ట్కట్ను క్రియేట్ చేయండి"</string>
<string name="menu_splitAggregate" msgid="2062290275288905833">"వేరు చేయి"</string>
<string name="menu_editGroup" msgid="8706562583754054622">"కాంటాక్ట్లను తీసివేయండి"</string>
<string name="menu_renameGroup" msgid="2685886609399776475">"లేబుల్ పేరును మార్చు"</string>
- <string name="menu_deleteGroup" msgid="1180215594530228294">"లేబుల్ను తొలగించు"</string>
+ <string name="menu_deleteGroup" msgid="1180215594530228294">"లేబుల్ను తొలగించండి"</string>
<string name="menu_addToGroup" msgid="5034813446697655310">"కాంటాక్ట్ను జోడించండి"</string>
<string name="menu_selectForGroup" msgid="6386553337569514850">"కాంటాక్ట్లను ఎంచుకోండి"</string>
<string name="menu_addContactsToGroup" msgid="4549318978482280577">"కాంటాక్ట్లను జోడించండి"</string>
@@ -55,7 +55,7 @@
<string name="contacts_unlinking_progress_bar" msgid="5696679068872394167">"అన్లింక్ చేస్తున్నాము"</string>
<string name="menu_joinAggregate" msgid="3116395302755287038">"లింక్ చేయి"</string>
<string name="menu_linkedContacts" msgid="6363718333551613063">"లింక్ చేసిన కాంటాక్ట్లను చూడండి"</string>
- <string name="menu_save" msgid="7204524700499687371">"సేవ్ చేయి"</string>
+ <string name="menu_save" msgid="7204524700499687371">"సేవ్ చేయండి"</string>
<string name="titleJoinContactDataWith" msgid="7342386037654890242">"కాంటాక్ట్లను లింక్ చేయండి"</string>
<string name="blurbJoinContactDataWith" msgid="132105056919797709">"మీరు <xliff:g id="NAME">%s</xliff:g>తో లింక్ చేయాలనుకునే కాంటాక్ట్ను ఎంచుకోండి:"</string>
<string name="separatorJoinAggregateSuggestions" msgid="8347769365870796983">"సూచిత కాంటాక్ట్లు"</string>
@@ -82,7 +82,7 @@
<string name="batch_delete_multiple_accounts_confirmation" msgid="4547718538924570984">"తొలగించాల్సిన కాంటాక్ట్లు పలు ఖాతాల నుండి వివరాలను కలిగి ఉన్నాయి. చదవడానికి మాత్రమే ఖాతాల నుండి వివరాలు దాచబడతాయి, తొలగించబడవు."</string>
<string name="multipleContactDeleteConfirmation" msgid="2970218685653877287">"ఈ కాంటాక్ట్ను తొలగించడం వలన పలు ఖాతాల నుండి వివరాలు తొలగించబడతాయి."</string>
<string name="deleteConfirmation" msgid="3727809366015979585">"ఈ కాంటాక్ట్ను తొలగించాలా?"</string>
- <string name="deleteConfirmation_positive_button" msgid="1604511403421785160">"తొలగించు"</string>
+ <string name="deleteConfirmation_positive_button" msgid="1604511403421785160">"తొలగించండి"</string>
<string name="invalidContactMessage" msgid="6204402264821083362">"కాంటాక్ట్ ఉనికిలో లేదు."</string>
<string name="createContactShortcutSuccessful_NoName" msgid="532242135930208299">"కాంటాక్ట్ హోమ్ స్క్రీన్కు జోడించబడింది."</string>
<string name="createContactShortcutSuccessful" msgid="6980032407920515698">"<xliff:g id="NAME">%s</xliff:g> హోమ్ స్క్రీన్కు జోడించబడింది."</string>
@@ -169,7 +169,7 @@
<string name="toast_text_copied" msgid="845906090076228771">"వచనం కాపీ చేయబడింది"</string>
<string name="cancel_confirmation_dialog_message" msgid="7486892574762212762">"మార్పులను విస్మరించాలా?"</string>
<string name="cancel_confirmation_dialog_cancel_editing_button" msgid="8280294641821133477">"విస్మరించు"</string>
- <string name="cancel_confirmation_dialog_keep_editing_button" msgid="7117943783437253341">"రద్దు చేయి"</string>
+ <string name="cancel_confirmation_dialog_keep_editing_button" msgid="7117943783437253341">"రద్దు చేయండి"</string>
<string name="leave_customize_confirmation_dialog_message" msgid="5330853530872707231">"అనుకూలీకరణలను విస్మరించాలా?"</string>
<string name="enter_contact_name" msgid="521859148893732679">"కాంటాక్ట్లను సెర్చ్ చేయండి"</string>
<string name="title_edit_group" msgid="4246193439931854759">"కాంటాక్ట్లను తీసివేయండి"</string>
@@ -213,7 +213,7 @@
<string name="editor_account_selector_title" msgid="3190515989740696043">"దీనికి సేవ్ చేయబడుతోంది"</string>
<string name="editor_account_selector_read_only_title" msgid="4870485850053962114">"<xliff:g id="ACCOUNT">%s</xliff:g>లోని సంప్రదింపు సమాచారం సవరించగలిగే విధంగా లేదు"</string>
<string name="quickcontact_suggestion_link_button" msgid="3485212664301802371">"కాంటాక్ట్లను లింక్ చేయండి"</string>
- <string name="quickcontact_suggestion_cancel_button" msgid="8851156850681440055">"రద్దు చేయి"</string>
+ <string name="quickcontact_suggestion_cancel_button" msgid="8851156850681440055">"రద్దు చేయండి"</string>
<string name="suggestion_card_this_contact_title" msgid="8851257599121989253">"ఈ కాంటాక్ట్"</string>
<string name="suggestion_card_duplicates_title" msgid="2623890874933696454">"సంభావ్య నకిలీలు"</string>
<string name="suggestion_card_help_message" msgid="8367379652312412794">"ఈ కాంటాక్ట్లు ఒకే వ్యక్తికి సంబంధించినవి అయ్యి ఉండవచ్చు. మీరు వాటిని ఒకే కాంటాక్ట్గా లింక్ చేయవచ్చు."</string>
@@ -228,7 +228,7 @@
<string name="menu_title_filters" msgid="349866121417914494">"ఖాతాలు"</string>
<string name="hamburger_feature_highlight_header" msgid="1786641424099282909">"సూచనలు"</string>
<string name="hamburger_feature_highlight_body" msgid="782935036630531528">"మీ కాంటాక్ట్లను ఉత్తమంగా నిర్వహించండి మరియు ఉపయోగించండి"</string>
- <string name="undo" msgid="2446931036220975026">"చర్య రద్దు చేయి"</string>
+ <string name="undo" msgid="2446931036220975026">"చర్య రద్దు చేయండి"</string>
<string name="call_custom" msgid="2844900154492073207">"<xliff:g id="CUSTOM_LABEL">%s</xliff:g>కి కాల్ చేయి"</string>
<string name="call_home" msgid="2443904771140750492">"ఇంటికి కాల్ చేయండి"</string>
<string name="call_mobile" msgid="6504312789160309832">"మొబైల్కు కాల్ చేయండి"</string>
@@ -344,7 +344,7 @@
<string name="chat_icq" msgid="4289041376069626281">"ICQని ఉపయోగించి చాట్ చేయండి"</string>
<string name="chat_jabber" msgid="1097960594943864847">"Jabberని ఉపయోగించి చాట్ చేయండి"</string>
<string name="chat" msgid="8390862712584830532">"చాట్ చేయండి"</string>
- <string name="description_minus_button" msgid="1305985971158054217">"తొలగించు"</string>
+ <string name="description_minus_button" msgid="1305985971158054217">"తొలగించండి"</string>
<string name="expand_name_fields_description" msgid="6059558159338959487">"మరిన్ని పేరు ఫీల్డ్లను చూపుతుంది"</string>
<string name="collapse_name_fields_description" msgid="7950435675716414477">"పేరు ఫీల్డ్లను కుదిస్తుంది"</string>
<string name="expand_phonetic_name_fields_description" msgid="7414340689396399173">"మరిన్ని ఉచ్ఛారణ ఆధారిత పేరు ఫీల్డ్లను చూపుతుంది"</string>
@@ -365,7 +365,7 @@
<string name="display_warn_remove_ungrouped" msgid="522866344738506017">"సింక్ నుండి \"<xliff:g id="GROUP">%s</xliff:g>\"ని తీసివేయడం వలన సింక్ నుండి గ్రూప్ చేయబడని కాంటాక్ట్లు కూడా తీసివేయబడతాయి."</string>
<string name="savingDisplayGroups" msgid="6779839417901711381">"ప్రదర్శన ఎంపికలను సేవ్ చేస్తోంది…"</string>
<string name="listCustomView" msgid="5782275477737032610">"అనుకూలీకృత వీక్షణ"</string>
- <string name="dialog_new_contact_account" msgid="5652018124788855057">"దిగుమతి చేసిన కాంటాక్ట్లను దీనిలో సేవ్ చేయి:"</string>
+ <string name="dialog_new_contact_account" msgid="5652018124788855057">"దిగుమతి చేసిన కాంటాక్ట్లను దీనిలో సేవ్ చేయండి:"</string>
<string name="import_from_sim" msgid="7825280799813847991">"SIM కార్డ్"</string>
<string name="import_from_sim_summary_fmt" msgid="4234771828377985321">"SIM <xliff:g id="SIM_NAME">%1$s</xliff:g>"</string>
<string name="import_from_sim_secondary_contact_count_fmt" msgid="4406774701661271748">"{count,plural, =1{# కాంటాక్ట్}other{# కాంటాక్ట్లు}}"</string>
@@ -437,7 +437,7 @@
<string name="menu_contacts_filter" msgid="5854584270038139275">"డిస్ప్లే చేయాల్సిన కాంటాక్ట్లు"</string>
<string name="activity_title_contacts_filter" msgid="6340531582631006680">"డిస్ప్లే చేయాల్సిన కాంటాక్ట్లు"</string>
<string name="custom_list_filter" msgid="2544327670202891979">"అనుకూలంగా మార్చిన వీక్షణ"</string>
- <string name="menu_custom_filter_save" msgid="2412959737200856930">"సేవ్ చేయి"</string>
+ <string name="menu_custom_filter_save" msgid="2412959737200856930">"సేవ్ చేయండి"</string>
<string name="hint_findContacts" msgid="5554298639062659655">"కాంటాక్ట్లను సెర్చ్ చేయండి"</string>
<string name="contactsFavoritesLabel" msgid="8339645684721732714">"ఇష్టమైనవి"</string>
<string name="menu_import" msgid="2206768098740726906">"దిగుమతి చేయండి"</string>
@@ -448,7 +448,7 @@
<string name="action_menu_back_from_search" msgid="683765774264585732">"సెర్చ్ చేయడం ఆపివేస్తుంది"</string>
<string name="description_clear_search" msgid="1852934085825794095">"సెర్చ్ను క్లియర్ చేయండి"</string>
<string name="select_account_dialog_title" msgid="5047523441152129207">"ఖాతా"</string>
- <string name="set_default_account" msgid="9194321110211682396">"కాల్స్ల కోసం ఎప్పుడూ ఇది ఉపయోగించు"</string>
+ <string name="set_default_account" msgid="9194321110211682396">"కాల్స్ల కోసం ఎప్పుడూ ఇది ఉపయోగించండి"</string>
<string name="call_with_a_note" msgid="2463785820399287281">"గమనికతో కాల్ చేయి"</string>
<string name="call_subject_hint" msgid="7056652101889538157">"కాల్తో పాటు పంపడానికి గమనికను టైప్ చేయండి…"</string>
<string name="send_and_call_button" msgid="4851257959568592699">"పంపు & కాల్ చేయి"</string>
diff --git a/src/com/android/contacts/NfcHandler.java b/src/com/android/contacts/NfcHandler.java
deleted file mode 100644
index 07b3f06..0000000
--- a/src/com/android/contacts/NfcHandler.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2011 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.contacts;
-
-import android.app.Activity;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.net.Uri;
-import android.nfc.NdefMessage;
-import android.nfc.NdefRecord;
-import android.nfc.NfcAdapter;
-import android.nfc.NfcEvent;
-import android.provider.ContactsContract.Contacts;
-import android.provider.ContactsContract.Profile;
-import android.util.Log;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * This class implements sharing the currently displayed
- * contact to another device using NFC. NFC sharing is only
- * enabled when the activity is in the foreground and resumed.
- * When an NFC link is established, {@link #createMessage}
- * will be called to create the data to be sent over the link,
- * which is a vCard in this case.
- */
-public class NfcHandler implements NfcAdapter.CreateNdefMessageCallback {
-
- private static final String TAG = "ContactNfcHandler";
- private static final String PROFILE_LOOKUP_KEY = "profile";
- private final Context mContext;
- private final Uri mContactUri;
-
- /* Register NFC handler. This should be called in activities' onCreate(), or similar methods */
- public static void register(Activity activity, Uri contactUri) {
- NfcAdapter adapter = NfcAdapter.getDefaultAdapter(activity.getApplicationContext());
- if (adapter == null) {
- return; // NFC not available on this device
- }
- adapter.setNdefPushMessageCallback(new NfcHandler(activity, contactUri), activity);
- }
-
- public NfcHandler(Context context, Uri contactUri) {
- mContext = context;
- mContactUri = contactUri;
- }
-
- @Override
- public NdefMessage createNdefMessage(NfcEvent event) {
- ContentResolver resolver = mContext.getContentResolver();
- if (mContactUri != null) {
- final String lookupKey = Uri.encode(mContactUri.getPathSegments().get(2));
- final Uri shareUri;
- // TODO find out where to get this constant from, or find another way
- // of determining this.
- if (lookupKey.equals(PROFILE_LOOKUP_KEY)) {
- shareUri = Profile.CONTENT_VCARD_URI.buildUpon().
- appendQueryParameter(Contacts.QUERY_PARAMETER_VCARD_NO_PHOTO, "true").
- build();
- } else {
- shareUri = Contacts.CONTENT_VCARD_URI.buildUpon().
- appendPath(lookupKey).
- appendQueryParameter(Contacts.QUERY_PARAMETER_VCARD_NO_PHOTO, "true").
- build();
- }
- ByteArrayOutputStream ndefBytes = new ByteArrayOutputStream();
- byte[] buffer = new byte[1024];
- int r;
- try {
- InputStream vcardInputStream = resolver.openInputStream(shareUri);
- while ((r = vcardInputStream.read(buffer)) > 0) {
- ndefBytes.write(buffer, 0, r);
- }
-
- NdefRecord record = NdefRecord.createMime("text/x-vcard", ndefBytes.toByteArray());
- return new NdefMessage(record);
- } catch (IOException e) {
- Log.e(TAG, "IOException creating vcard.");
- return null;
- }
- } else {
- Log.w(TAG, "No contact URI to share.");
- return null;
- }
- }
-}
diff --git a/src/com/android/contacts/activities/ContactEditorActivity.java b/src/com/android/contacts/activities/ContactEditorActivity.java
index 74a0df6..2af25f8 100644
--- a/src/com/android/contacts/activities/ContactEditorActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorActivity.java
@@ -314,6 +314,8 @@
public void onCreate(Bundle savedState) {
super.onCreate(savedState);
+ getWindow().setHideOverlayWindows(true);
+
RequestPermissionsActivity.startPermissionActivityIfNeeded(this);
final Intent intent = getIntent();
diff --git a/src/com/android/contacts/activities/ContactEditorSpringBoardActivity.java b/src/com/android/contacts/activities/ContactEditorSpringBoardActivity.java
index cf2ce9c..64283d2 100644
--- a/src/com/android/contacts/activities/ContactEditorSpringBoardActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorSpringBoardActivity.java
@@ -242,6 +242,7 @@
finish();
}
+ @SuppressWarnings("MissingSuperCall") // TODO: Fix me
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Ignore failed requests
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index 2057c9d..9273c61 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -107,8 +107,7 @@
protected void onCreate(Bundle savedState) {
super.onCreate(savedState);
- getWindow().addSystemFlags(android.view.WindowManager.LayoutParams
- .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+ getWindow().setHideOverlayWindows(true);
RequestPermissionsActivity.startPermissionActivityIfNeeded(this);
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 412c067..ceb3d59 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -421,6 +421,7 @@
getWindow().setBackgroundDrawable(null);
}
+ @SuppressWarnings("MissingSuperCall") // TODO: Fix me
@Override
protected void onNewIntent(Intent intent) {
final String action = intent.getAction();
@@ -603,6 +604,7 @@
onSyncStateUpdated();
}
+ @SuppressWarnings("MissingSuperCall") // TODO: Fix me
@Override
public void onMultiWindowModeChanged(boolean entering) {
initializeHomeVisibility();
diff --git a/src/com/android/contacts/activities/RequestImportVCardPermissionsActivity.java b/src/com/android/contacts/activities/RequestImportVCardPermissionsActivity.java
index 224339a..2f17fe7 100644
--- a/src/com/android/contacts/activities/RequestImportVCardPermissionsActivity.java
+++ b/src/com/android/contacts/activities/RequestImportVCardPermissionsActivity.java
@@ -28,9 +28,7 @@
// Contacts group
permission.GET_ACCOUNTS,
permission.READ_CONTACTS,
- permission.WRITE_CONTACTS,
- // Storage group
- permission.READ_EXTERNAL_STORAGE,
+ permission.WRITE_CONTACTS
};
@Override
diff --git a/src/com/android/contacts/dialog/CallSubjectDialog.java b/src/com/android/contacts/dialog/CallSubjectDialog.java
index 036a0f3..ffce0f5 100644
--- a/src/com/android/contacts/dialog/CallSubjectDialog.java
+++ b/src/com/android/contacts/dialog/CallSubjectDialog.java
@@ -274,6 +274,7 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ getWindow().setHideOverlayWindows(true);
mAnimationDuration = getResources().getInteger(R.integer.call_subject_animation_duration);
mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
mPhotoSize = getResources().getDimensionPixelSize(
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index ce4b9bc..52c20e6 100755
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -98,6 +98,7 @@
import com.google.common.collect.Lists;
import java.io.FileNotFoundException;
+import java.util.Arrays;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
@@ -132,11 +133,10 @@
private static final String KEY_PHOTO_RAW_CONTACT_ID = "photo_raw_contact_id";
private static final String KEY_UPDATED_PHOTOS = "updated_photos";
- private static final List<String> VALID_INTENT_ACTIONS = new ArrayList<String>() {{
- add(Intent.ACTION_EDIT);
- add(Intent.ACTION_INSERT);
- add(ContactEditorActivity.ACTION_SAVE_COMPLETED);
- }};
+ private static final List<String> VALID_INTENT_ACTIONS = Arrays.asList(
+ Intent.ACTION_EDIT,
+ Intent.ACTION_INSERT,
+ ContactEditorActivity.ACTION_SAVE_COMPLETED);
private static final String KEY_ACTION = "action";
private static final String KEY_URI = "uri";
diff --git a/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java b/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java
index df22773..461a752 100644
--- a/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java
+++ b/src/com/android/contacts/editor/SuggestionEditConfirmationDialogFragment.java
@@ -47,7 +47,7 @@
return new AlertDialog.Builder(getActivity())
.setIconAttribute(android.R.attr.alertDialogIcon)
.setMessage(R.string.aggregation_suggestion_edit_dialog_message)
- .setPositiveButton(android.R.string.yes,
+ .setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
@@ -61,7 +61,7 @@
}
}
)
- .setNegativeButton(android.R.string.no, null)
+ .setNegativeButton(android.R.string.cancel, null)
.create();
}
}
diff --git a/src/com/android/contacts/group/GroupMembersFragment.java b/src/com/android/contacts/group/GroupMembersFragment.java
index 3b66739..b0369c7 100644
--- a/src/com/android/contacts/group/GroupMembersFragment.java
+++ b/src/com/android/contacts/group/GroupMembersFragment.java
@@ -90,7 +90,6 @@
private static final int LOADER_GROUP_METADATA = 100;
private static final int MSG_FAIL_TO_LOAD = 1;
- private static final int RESULT_GROUP_ADD_MEMBER = 100;
/** Filters out duplicate contacts. */
private class FilterCursorWrapper extends CursorWrapper {
@@ -448,7 +447,7 @@
private void startGroupAddMemberActivity() {
startActivityForResult(GroupUtil.createPickMemberIntent(getContext(), mGroupMetaData,
- getMemberContactIds()), RESULT_GROUP_ADD_MEMBER);
+ getMemberContactIds()), GroupUtil.RESULT_GROUP_ADD_MEMBER);
}
@Override
@@ -504,7 +503,7 @@
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK || data == null
- || requestCode != RESULT_GROUP_ADD_MEMBER) {
+ || requestCode != GroupUtil.RESULT_GROUP_ADD_MEMBER) {
return;
}
@@ -776,7 +775,7 @@
@Override
public void onClick(View v) {
startActivityForResult(GroupUtil.createPickMemberIntent(getContext(),
- mGroupMetaData, getMemberContactIds()), RESULT_GROUP_ADD_MEMBER);
+ mGroupMetaData, getMemberContactIds()), GroupUtil.RESULT_GROUP_ADD_MEMBER);
}
});
return view;
diff --git a/src/com/android/contacts/group/GroupUtil.java b/src/com/android/contacts/group/GroupUtil.java
index dae4f4e..17998f8 100644
--- a/src/com/android/contacts/group/GroupUtil.java
+++ b/src/com/android/contacts/group/GroupUtil.java
@@ -58,7 +58,8 @@
public static final String ACTION_SWITCH_GROUP = "switchGroup";
public static final String ACTION_UPDATE_GROUP = "updateGroup";
- public static final int RESULT_SEND_TO_SELECTION = 100;
+ public static final int RESULT_GROUP_ADD_MEMBER = 100;
+ public static final int RESULT_SEND_TO_SELECTION = 200;
// System IDs of FFC groups in Google accounts
private static final Set<String> FFC_GROUPS =
diff --git a/src/com/android/contacts/list/CustomContactListFilterActivity.java b/src/com/android/contacts/list/CustomContactListFilterActivity.java
index 425ee7e..5bc3c35 100644
--- a/src/com/android/contacts/list/CustomContactListFilterActivity.java
+++ b/src/com/android/contacts/list/CustomContactListFilterActivity.java
@@ -982,8 +982,8 @@
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity(), getTheme())
.setMessage(R.string.leave_customize_confirmation_dialog_message)
- .setNegativeButton(android.R.string.no, null)
- .setPositiveButton(android.R.string.yes, this)
+ .setNegativeButton(android.R.string.cancel, null)
+ .setPositiveButton(android.R.string.ok, this)
.create();
}
diff --git a/src/com/android/contacts/model/SimContact.java b/src/com/android/contacts/model/SimContact.java
index 820e346..ee0e6dc 100644
--- a/src/com/android/contacts/model/SimContact.java
+++ b/src/com/android/contacts/model/SimContact.java
@@ -172,11 +172,7 @@
@Override
public int hashCode() {
- int result = (int) (mRecordNumber ^ (mRecordNumber >>> 32));
- result = 31 * result + (mName != null ? mName.hashCode() : 0);
- result = 31 * result + (mPhone != null ? mPhone.hashCode() : 0);
- result = 31 * result + Arrays.hashCode(mEmails);
- return result;
+ return Objects.hash(mRecordNumber, mName, mPhone, Arrays.hashCode(mEmails));
}
@Override
diff --git a/src/com/android/contacts/model/dataitem/ImDataItem.java b/src/com/android/contacts/model/dataitem/ImDataItem.java
index a0e087c..a142585 100644
--- a/src/com/android/contacts/model/dataitem/ImDataItem.java
+++ b/src/com/android/contacts/model/dataitem/ImDataItem.java
@@ -23,6 +23,8 @@
import android.provider.ContactsContract.CommonDataKinds.Im;
import android.text.TextUtils;
+import java.util.Objects;
+
/**
* Represents an IM data item, wrapping the columns in
* {@link ContactsContract.CommonDataKinds.Im}.
@@ -101,7 +103,7 @@
return that.getProtocol() == Im.PROTOCOL_CUSTOM;
}
return true;
- } else if (getProtocol() != that.getProtocol()) {
+ } else if (!Objects.equals(getProtocol(), that.getProtocol())) {
return false;
} else if (getProtocol() == Im.PROTOCOL_CUSTOM &&
!TextUtils.equals(getCustomProtocol(), that.getCustomProtocol())) {
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 5b144e1..35fc2cc 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -104,7 +104,6 @@
import com.android.contacts.ContactsActivity;
import com.android.contacts.ContactsUtils;
import com.android.contacts.DynamicShortcuts;
-import com.android.contacts.NfcHandler;
import com.android.contacts.R;
import com.android.contacts.ShortcutIntentBuilder;
import com.android.contacts.ShortcutIntentBuilder.OnShortcutIntentCreatedListener;
@@ -990,7 +989,6 @@
}
};
mEntriesAndActionsTask.execute();
- NfcHandler.register(this, mContactData.getLookupUri());
}
private void bindDataToCards(Cp2DataCardModel cp2DataCardModel) {
@@ -1486,6 +1484,11 @@
final String dataString = event.buildDataStringForDisplay(context, kind);
final Calendar cal = DateUtils.parseDate(dataString, false);
if (cal != null) {
+ final int eventType = event.getContentValues().getAsInteger(Event.TYPE);
+ if (eventType == Event.TYPE_ANNIVERSARY || eventType == Event.TYPE_BIRTHDAY) {
+ // setting the year to 0 makes a click open the coming birthday
+ cal.set(Calendar.YEAR, 0);
+ }
final Date nextAnniversary =
DateUtils.getNextAnnualDate(cal);
final Uri.Builder builder = CalendarContract.CONTENT_URI.buildUpon();
diff --git a/src/com/android/contacts/vcard/ImportVCardActivity.java b/src/com/android/contacts/vcard/ImportVCardActivity.java
index 38367c4..6ddb8fa 100644
--- a/src/com/android/contacts/vcard/ImportVCardActivity.java
+++ b/src/com/android/contacts/vcard/ImportVCardActivity.java
@@ -546,8 +546,7 @@
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
- getWindow().addSystemFlags(android.view.WindowManager.LayoutParams
- .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+ getWindow().setHideOverlayWindows(true);
Uri sourceUri = getIntent().getData();
diff --git a/src/com/android/contacts/vcard/ImportVCardDialogFragment.java b/src/com/android/contacts/vcard/ImportVCardDialogFragment.java
index 521a610..7ad67d1 100644
--- a/src/com/android/contacts/vcard/ImportVCardDialogFragment.java
+++ b/src/com/android/contacts/vcard/ImportVCardDialogFragment.java
@@ -68,7 +68,7 @@
return new AlertDialog.Builder(getActivity())
.setIconAttribute(android.R.attr.alertDialogIcon)
.setMessage(R.string.import_from_vcf_file_confirmation_message)
- .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+ .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
final Listener listener = (Listener) getActivity();
@@ -77,7 +77,7 @@
}
}
})
- .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
+ .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
final Listener listener = (Listener) getActivity();
diff --git a/src/com/android/contacts/vcard/SelectAccountActivity.java b/src/com/android/contacts/vcard/SelectAccountActivity.java
index eb13e50..8ead5fa 100644
--- a/src/com/android/contacts/vcard/SelectAccountActivity.java
+++ b/src/com/android/contacts/vcard/SelectAccountActivity.java
@@ -52,8 +52,7 @@
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
- getWindow().addSystemFlags(android.view.WindowManager.LayoutParams
- .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+ getWindow().setHideOverlayWindows(true);
// There's three possibilities:
// - more than one accounts -> ask the user
diff --git a/src/com/android/contacts/vcard/VCardService.java b/src/com/android/contacts/vcard/VCardService.java
index 075d6bb..5e647c4 100644
--- a/src/com/android/contacts/vcard/VCardService.java
+++ b/src/com/android/contacts/vcard/VCardService.java
@@ -16,6 +16,7 @@
package com.android.contacts.vcard;
import android.app.Notification;
+import android.app.NotificationManager;
import android.app.Service;
import android.content.Intent;
import android.media.MediaScannerConnection;
@@ -129,6 +130,10 @@
VCardCommonArguments.ARG_CALLING_ACTIVITY);
} else {
mCallingActivity = null;
+ // The intent will be null if the service is restarted after the app
+ // is killed but the notification may still exist so remove it.
+ NotificationManager nm = getSystemService(NotificationManager.class);
+ nm.cancelAll();
}
return START_STICKY;
}
@@ -255,6 +260,9 @@
}
}
} else {
+ // In case notification of import is still present and app is killed remove it
+ NotificationManager nm = getSystemService(NotificationManager.class);
+ nm.cancel(NotificationImportExportListener.DEFAULT_NOTIFICATION_TAG, jobId);
Log.w(LOG_TAG, String.format("Tried to remove unknown job (id: %d)", jobId));
}
stopServiceIfAppropriate();