From 922cbed7a9ea329c3d1f89f64de14e35a26b96ea Mon Sep 17 00:00:00 2001 From: Zachary Heidepriem Date: Sat, 11 Nov 2017 18:49:27 -0800 Subject: Add UiThreadExecutor This CL adds an executor which runs tasks on the Ui thread, using the existing ThreadUtil class. Bug: 67752611 Test: UiThreadExecutorTest PiperOrigin-RevId: 175046280 Change-Id: Iff15e216be0e91891a9d63fddf1288ecbec41f83 --- Android.mk | 11 ++++ .../dialer/common/concurrent/Annotations.java | 4 ++ .../common/concurrent/DialerExecutorModule.java | 9 +++ .../dialer/common/concurrent/UiThreadExecutor.java | 77 ++++++++++++++++++++++ 4 files changed, 101 insertions(+) create mode 100644 java/com/android/dialer/common/concurrent/UiThreadExecutor.java diff --git a/Android.mk b/Android.mk index e9841d9dc..3c0b34c13 100644 --- a/Android.mk +++ b/Android.mk @@ -189,6 +189,7 @@ LOCAL_STATIC_JAVA_LIBRARIES := \ dialer-libshortcutbadger-target \ dialer-mime4j-core-target \ dialer-mime4j-dom-target \ + dialer-error-prone-target \ dialer-guava-target \ jsr305 \ libbackup \ @@ -292,6 +293,16 @@ include $(BUILD_PREBUILT) include $(CLEAR_VARS) +LOCAL_MODULE_CLASS := JAVA_LIBRARIES +LOCAL_MODULE := dialer-error-prone-target +LOCAL_SDK_VERSION := current +LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18$(COMMON_JAVA_PACKAGE_SUFFIX) +LOCAL_UNINSTALLABLE_MODULE := true + +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) + LOCAL_MODULE_CLASS := JAVA_LIBRARIES LOCAL_MODULE := dialer-dagger2-target LOCAL_SDK_VERSION := current diff --git a/java/com/android/dialer/common/concurrent/Annotations.java b/java/com/android/dialer/common/concurrent/Annotations.java index eb956c31e..5e3954cf9 100644 --- a/java/com/android/dialer/common/concurrent/Annotations.java +++ b/java/com/android/dialer/common/concurrent/Annotations.java @@ -20,6 +20,10 @@ import javax.inject.Qualifier; /** Annotations for dagger concurrency bindings. */ public class Annotations { + /** Annotation for retrieving the UI thread. */ + @Qualifier + public @interface Ui {} + /** Annotation for retrieving the non-UI thread pool. */ @Qualifier public @interface NonUiParallel {} diff --git a/java/com/android/dialer/common/concurrent/DialerExecutorModule.java b/java/com/android/dialer/common/concurrent/DialerExecutorModule.java index 68910fb7a..5e0190e8d 100644 --- a/java/com/android/dialer/common/concurrent/DialerExecutorModule.java +++ b/java/com/android/dialer/common/concurrent/DialerExecutorModule.java @@ -19,8 +19,10 @@ import android.os.AsyncTask; import com.android.dialer.common.LogUtil; import com.android.dialer.common.concurrent.Annotations.NonUiParallel; import com.android.dialer.common.concurrent.Annotations.NonUiSerial; +import com.android.dialer.common.concurrent.Annotations.Ui; import com.android.dialer.common.concurrent.Annotations.UiParallel; import com.android.dialer.common.concurrent.Annotations.UiSerial; +import com.google.common.util.concurrent.ListeningExecutorService; import dagger.Binds; import dagger.Module; import dagger.Provides; @@ -39,6 +41,13 @@ public abstract class DialerExecutorModule { abstract DialerExecutorFactory bindDialerExecutorFactory( DefaultDialerExecutorFactory defaultDialerExecutorFactory); + @Provides + @Singleton + @Ui + static ListeningExecutorService provideUiThreadExecutorService() { + return new UiThreadExecutor(); + } + @Provides @Singleton @NonUiParallel diff --git a/java/com/android/dialer/common/concurrent/UiThreadExecutor.java b/java/com/android/dialer/common/concurrent/UiThreadExecutor.java new file mode 100644 index 000000000..7b95d70ea --- /dev/null +++ b/java/com/android/dialer/common/concurrent/UiThreadExecutor.java @@ -0,0 +1,77 @@ +/* + * 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 com.google.common.util.concurrent.AbstractListeningExecutorService; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.SettableFuture; +import java.util.List; +import java.util.concurrent.Callable; +import java.util.concurrent.TimeUnit; + +/** + * An ExecutorService that delegates to the UI thread. Rejects attempts to shut down, and all + * shutdown related APIs are unimplemented. + * + */ +public class UiThreadExecutor extends AbstractListeningExecutorService { + + @Override + public void shutdown() { + throw new UnsupportedOperationException(); + } + + @Override + public List shutdownNow() { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isShutdown() { + return false; + } + + @Override + public boolean isTerminated() { + return false; + } + + @Override + public boolean awaitTermination(long l, TimeUnit timeUnit) throws InterruptedException { + throw new UnsupportedOperationException(); + } + + @Override + public ListenableFuture submit(final Callable task) { + final SettableFuture resultFuture = SettableFuture.create(); + ThreadUtil.postOnUiThread( + () -> { + try { + resultFuture.set(task.call()); + } catch (Exception e) { + // uncaught exceptions on the UI thread should crash the app + resultFuture.setException(e); + throw new RuntimeException(e); + } + }); + return resultFuture; + } + + @Override + public void execute(final Runnable runnable) { + ThreadUtil.postOnUiThread(runnable); + } +} -- cgit v1.2.3 From aceaed335f7beb25c340b14a8960a60337dadd8d Mon Sep 17 00:00:00 2001 From: roldenburg Date: Wed, 8 Nov 2017 19:29:20 -0800 Subject: Renamed string.xml to strings.xml to match Android convention Bug: 68844134 Test: n/a PiperOrigin-RevId: 175102999 Change-Id: I63e930809d4bb96669062f724fb9cab90d675afa --- .../assisteddialing/ui/res/values/string.xml | 534 --------------------- .../assisteddialing/ui/res/values/strings.xml | 534 +++++++++++++++++++++ 2 files changed, 534 insertions(+), 534 deletions(-) delete mode 100644 java/com/android/dialer/assisteddialing/ui/res/values/string.xml create mode 100644 java/com/android/dialer/assisteddialing/ui/res/values/strings.xml diff --git a/java/com/android/dialer/assisteddialing/ui/res/values/string.xml b/java/com/android/dialer/assisteddialing/ui/res/values/string.xml deleted file mode 100644 index 3b40817ed..000000000 --- a/java/com/android/dialer/assisteddialing/ui/res/values/string.xml +++ /dev/null @@ -1,534 +0,0 @@ - - - - - - Assisted dialing - - - Automatically correct the phone number prefix when traveling and calling international numbers - - - assisted_dialing_setting_toggle_key - - - assisted_dialing_setting_cc_key - - - Automatically detected - - - Home country - - - Default home country - - - - - - @string/assisted_dialing_setting_cc_default_summary - Afghanistan (+93) - Åland Islands (+358) - Albania (+355) - Algeria (+213) - American Samoa (+1) - Andorra (+376) - Angola (+244) - Anguilla (+1) - Antigua and Barbuda (+1) - Argentina (+54) - Armenia (+374) - Aruba (+297) - Australia (+61) - Austria (+43) - Azerbaijan (+994) - Bahamas (+1) - Bahrain (+973) - Bangladesh (+880) - Barbados (+1) - Belarus (+375) - Belgium (+32) - Belize (+501) - Benin (+229) - Bermuda (+1) - Bhutan (+975) - Bolivia (+591) - Caribbean Netherlands (+599) - Bosnia and Herzegovina (+387) - Botswana (+267) - Brazil (+55) - British Indian Ocean Territory (+246) - Brunei (+673) - Bulgaria (+359) - Burkina Faso (+226) - Burundi (+257) - Cabo Verde (+238) - Cambodia (+855) - Cameroon (+237) - Canada (+1) - Cayman Islands (+1) - Central African Republic (+236) - Chad (+235) - Chile (+56) - China (+86) - Christmas Island (+61) - Cocos (Keeling) Islands (+61) - Colombia (+57) - Comoros (+269) - Democratic Republic of the Congo (+243) - Congo (+242) - Cook Islands (+682) - Costa Rica (+506) - Côte d\'Ivoire (+225) - Croatia (+385) - Cuba (+53) - Curaçao (+599) - Cyprus (+357) - Czechia (+420) - Denmark (+45) - Djibouti (+253) - Dominica (+1) - Dominican Republic (+1) - Ecuador (+593) - Egypt (+20) - El Salvador (+503) - Equatorial Guinea (+240) - Eritrea (+291) - Estonia (+372) - Ethiopia (+251) - Falkland Islands (Islas Malvinas) (+500) - Faroe Islands (+298) - Fiji (+679) - Finland (+358) - France (+33) - French Guiana (+594) - French Polynesia (+689) - Gabon (+241) - Gambia (+220) - Georgia (+995) - Germany (+49) - Ghana (+233) - Gibraltar (+350) - Greece (+30) - Greenland (+299) - Grenada (+1) - Guadeloupe (+590) - Guam (+1) - Guatemala (+502) - Guernsey (+44) - Guinea (+224) - Guinea-Bissau (+245) - Guyana (+592) - Haiti (+509) - Holy See (+39) - Honduras (+504) - Hong Kong (+852) - Hungary (+36) - Iceland (+354) - India (+91) - Indonesia (+62) - Iran (+98) - Iraq (+964) - Ireland (+353) - Isle of Man (+44) - Israel (+972) - Italy (+39) - Jamaica (+1) - Japan (+81) - Jersey (+44) - Jordan (+962) - Kazakhstan (+7) - Kenya (+254) - Kiribati (+686) - North Korea (+850) - South Korea (+82) - Kuwait (+965) - Kyrgyzstan (+996) - Laos (+856) - Latvia (+371) - Lebanon (+961) - Lesotho (+266) - Liberia (+231) - Libya (+218) - Liechtenstein (+423) - Lithuania (+370) - Luxembourg (+352) - Macao (+853) - Macedonia (FYROM) (+389) - Madagascar (+261) - Malawi (+265) - Malaysia (+60) - Maldives (+960) - Mali (+223) - Malta (+356) - Marshall Islands (+692) - Martinique (+596) - Mauritania (+222) - Mauritius (+230) - Mayotte (+262) - Mexico (+52) - Micronesia (+691) - Moldova (+373) - Monaco (+377) - Mongolia (+976) - Montenegro (+382) - Montserrat (+1) - Morocco (+212) - Mozambique (+258) - Myanmar (+95) - Namibia (+264) - Nauru (+674) - Nepal (+977) - Netherlands (+31) - New Caledonia (+687) - New Zealand (+64) - Nicaragua (+505) - Niger (+227) - Nigeria (+234) - Niue (+683) - Norfolk Island (+672) - Northern Mariana Islands (+1) - Norway (+47) - Oman (+968) - Pakistan (+92) - Palau (+680) - Palestine (+970) - Panama (+507) - Papua New Guinea (+675) - Paraguay (+595) - Peru (+51) - Philippines (+63) - Poland (+48) - Portugal (+351) - Puerto Rico (+1) - Qatar (+974) - Réunion (+262) - Romania (+40) - Russian (+7) - Rwanda (+250) - St. Barthélemy (+590) - St. Helena (+290) - St. Kitts and Nevis (+1) - St. Lucia (+1) - St. Martin (+590) - St. Pierre and Miquelon (+508) - St. Vincent and the Grenadines (+1) - Samoa (+685) - San Marino (+378) - Sao Tome and Principe (+239) - Saudi Arabia (+966) - Senegal (+221) - Serbia (+381) - Seychelles (+248) - Sierra Leone (+232) - Singapore (+65) - Sint Maarten (+1) - Slovakia (+421) - Slovenia (+386) - Solomon Islands (+677) - Somalia (+252) - South Africa (+27) - South Sudan (+211) - Spain (+34) - Sri Lanka (+94) - Sudan (+249) - Suriname (+597) - Svalbard and Jan Mayen (+47) - Swaziland (+268) - Sweden (+46) - Switzerland (+41) - Syria (+963) - Taiwan (+886) - Tajikistan (+992) - Tanzania (+255) - Thailand (+66) - Timor-Leste (+670) - Togo (+228) - Tokelau (+690) - Tonga (+676) - Trinidad and Tobago (+1) - Tunisia (+216) - Turkey (+90) - Turkmenistan (+993) - Turks and Caicos Islands (+1) - Tuvalu (+688) - Uganda (+256) - Ukraine (+380) - United Arab Emirates (+971) - United Kingdom (+44) - United States (+1) - Uruguay (+598) - Uzbekistan (+998) - Vanuatu (+678) - Venezuela (+58) - Viet Nam (+84) - Virgin Islands (British) (+1) - Virgin Islands (U.S.) (+1) - Wallis and Futuna (+681) - Western Sahara (+212) - Yemen (+967) - Zambia (+260) - Zimbabwe (+263) - - - - AF - AX - AL - DZ - AS - AD - AO - AI - AG - AR - AM - AW - AU - AT - AZ - BS - BH - BD - BB - BY - BE - BZ - BJ - BM - BT - BO - BQ - BA - BW - BR - IO - BN - BG - BF - BI - CV - KH - CM - CA - KY - CF - TD - CL - CN - CX - CC - CO - KM - CD - CG - CK - CR - CI - HR - CU - CW - CY - CZ - DK - DJ - DM - DO - EC - EG - SV - GQ - ER - EE - ET - FK - FO - FJ - FI - FR - GF - PF - GA - GM - GE - DE - GH - GI - GR - GL - GD - GP - GU - GT - GG - GN - GW - GY - HT - VA - HN - HK - HU - IS - IN - ID - IR - IQ - IE - IM - IL - IT - JM - JP - JE - JO - KZ - KE - KI - KP - KR - KW - KG - LA - LV - LB - LS - LR - LY - LI - LT - LU - MO - MK - MG - MW - MY - MV - ML - MT - MH - MQ - MR - MU - YT - MX - FM - MD - MC - MN - ME - MS - MA - MZ - MM - NA - NR - NP - NL - NC - NZ - NI - NE - NG - NU - NF - MP - NO - OM - PK - PW - PS - PA - PG - PY - PE - PH - PL - PT - PR - QA - RE - RO - RU - RW - BL - SH - KN - LC - MF - PM - VC - WS - SM - ST - SA - SN - RS - SC - SL - SG - SX - SK - SI - SB - SO - ZA - SS - ES - LK - SD - SR - SJ - SZ - SE - CH - SY - TW - TJ - TZ - TH - TL - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - GB - US - UY - UZ - VU - VE - VN - VG - VI - WF - EH - YE - ZM - ZW - - \ No newline at end of file diff --git a/java/com/android/dialer/assisteddialing/ui/res/values/strings.xml b/java/com/android/dialer/assisteddialing/ui/res/values/strings.xml new file mode 100644 index 000000000..3b40817ed --- /dev/null +++ b/java/com/android/dialer/assisteddialing/ui/res/values/strings.xml @@ -0,0 +1,534 @@ + + + + + + Assisted dialing + + + Automatically correct the phone number prefix when traveling and calling international numbers + + + assisted_dialing_setting_toggle_key + + + assisted_dialing_setting_cc_key + + + Automatically detected + + + Home country + + + Default home country + + + + + + @string/assisted_dialing_setting_cc_default_summary + Afghanistan (+93) + Åland Islands (+358) + Albania (+355) + Algeria (+213) + American Samoa (+1) + Andorra (+376) + Angola (+244) + Anguilla (+1) + Antigua and Barbuda (+1) + Argentina (+54) + Armenia (+374) + Aruba (+297) + Australia (+61) + Austria (+43) + Azerbaijan (+994) + Bahamas (+1) + Bahrain (+973) + Bangladesh (+880) + Barbados (+1) + Belarus (+375) + Belgium (+32) + Belize (+501) + Benin (+229) + Bermuda (+1) + Bhutan (+975) + Bolivia (+591) + Caribbean Netherlands (+599) + Bosnia and Herzegovina (+387) + Botswana (+267) + Brazil (+55) + British Indian Ocean Territory (+246) + Brunei (+673) + Bulgaria (+359) + Burkina Faso (+226) + Burundi (+257) + Cabo Verde (+238) + Cambodia (+855) + Cameroon (+237) + Canada (+1) + Cayman Islands (+1) + Central African Republic (+236) + Chad (+235) + Chile (+56) + China (+86) + Christmas Island (+61) + Cocos (Keeling) Islands (+61) + Colombia (+57) + Comoros (+269) + Democratic Republic of the Congo (+243) + Congo (+242) + Cook Islands (+682) + Costa Rica (+506) + Côte d\'Ivoire (+225) + Croatia (+385) + Cuba (+53) + Curaçao (+599) + Cyprus (+357) + Czechia (+420) + Denmark (+45) + Djibouti (+253) + Dominica (+1) + Dominican Republic (+1) + Ecuador (+593) + Egypt (+20) + El Salvador (+503) + Equatorial Guinea (+240) + Eritrea (+291) + Estonia (+372) + Ethiopia (+251) + Falkland Islands (Islas Malvinas) (+500) + Faroe Islands (+298) + Fiji (+679) + Finland (+358) + France (+33) + French Guiana (+594) + French Polynesia (+689) + Gabon (+241) + Gambia (+220) + Georgia (+995) + Germany (+49) + Ghana (+233) + Gibraltar (+350) + Greece (+30) + Greenland (+299) + Grenada (+1) + Guadeloupe (+590) + Guam (+1) + Guatemala (+502) + Guernsey (+44) + Guinea (+224) + Guinea-Bissau (+245) + Guyana (+592) + Haiti (+509) + Holy See (+39) + Honduras (+504) + Hong Kong (+852) + Hungary (+36) + Iceland (+354) + India (+91) + Indonesia (+62) + Iran (+98) + Iraq (+964) + Ireland (+353) + Isle of Man (+44) + Israel (+972) + Italy (+39) + Jamaica (+1) + Japan (+81) + Jersey (+44) + Jordan (+962) + Kazakhstan (+7) + Kenya (+254) + Kiribati (+686) + North Korea (+850) + South Korea (+82) + Kuwait (+965) + Kyrgyzstan (+996) + Laos (+856) + Latvia (+371) + Lebanon (+961) + Lesotho (+266) + Liberia (+231) + Libya (+218) + Liechtenstein (+423) + Lithuania (+370) + Luxembourg (+352) + Macao (+853) + Macedonia (FYROM) (+389) + Madagascar (+261) + Malawi (+265) + Malaysia (+60) + Maldives (+960) + Mali (+223) + Malta (+356) + Marshall Islands (+692) + Martinique (+596) + Mauritania (+222) + Mauritius (+230) + Mayotte (+262) + Mexico (+52) + Micronesia (+691) + Moldova (+373) + Monaco (+377) + Mongolia (+976) + Montenegro (+382) + Montserrat (+1) + Morocco (+212) + Mozambique (+258) + Myanmar (+95) + Namibia (+264) + Nauru (+674) + Nepal (+977) + Netherlands (+31) + New Caledonia (+687) + New Zealand (+64) + Nicaragua (+505) + Niger (+227) + Nigeria (+234) + Niue (+683) + Norfolk Island (+672) + Northern Mariana Islands (+1) + Norway (+47) + Oman (+968) + Pakistan (+92) + Palau (+680) + Palestine (+970) + Panama (+507) + Papua New Guinea (+675) + Paraguay (+595) + Peru (+51) + Philippines (+63) + Poland (+48) + Portugal (+351) + Puerto Rico (+1) + Qatar (+974) + Réunion (+262) + Romania (+40) + Russian (+7) + Rwanda (+250) + St. Barthélemy (+590) + St. Helena (+290) + St. Kitts and Nevis (+1) + St. Lucia (+1) + St. Martin (+590) + St. Pierre and Miquelon (+508) + St. Vincent and the Grenadines (+1) + Samoa (+685) + San Marino (+378) + Sao Tome and Principe (+239) + Saudi Arabia (+966) + Senegal (+221) + Serbia (+381) + Seychelles (+248) + Sierra Leone (+232) + Singapore (+65) + Sint Maarten (+1) + Slovakia (+421) + Slovenia (+386) + Solomon Islands (+677) + Somalia (+252) + South Africa (+27) + South Sudan (+211) + Spain (+34) + Sri Lanka (+94) + Sudan (+249) + Suriname (+597) + Svalbard and Jan Mayen (+47) + Swaziland (+268) + Sweden (+46) + Switzerland (+41) + Syria (+963) + Taiwan (+886) + Tajikistan (+992) + Tanzania (+255) + Thailand (+66) + Timor-Leste (+670) + Togo (+228) + Tokelau (+690) + Tonga (+676) + Trinidad and Tobago (+1) + Tunisia (+216) + Turkey (+90) + Turkmenistan (+993) + Turks and Caicos Islands (+1) + Tuvalu (+688) + Uganda (+256) + Ukraine (+380) + United Arab Emirates (+971) + United Kingdom (+44) + United States (+1) + Uruguay (+598) + Uzbekistan (+998) + Vanuatu (+678) + Venezuela (+58) + Viet Nam (+84) + Virgin Islands (British) (+1) + Virgin Islands (U.S.) (+1) + Wallis and Futuna (+681) + Western Sahara (+212) + Yemen (+967) + Zambia (+260) + Zimbabwe (+263) + + + + AF + AX + AL + DZ + AS + AD + AO + AI + AG + AR + AM + AW + AU + AT + AZ + BS + BH + BD + BB + BY + BE + BZ + BJ + BM + BT + BO + BQ + BA + BW + BR + IO + BN + BG + BF + BI + CV + KH + CM + CA + KY + CF + TD + CL + CN + CX + CC + CO + KM + CD + CG + CK + CR + CI + HR + CU + CW + CY + CZ + DK + DJ + DM + DO + EC + EG + SV + GQ + ER + EE + ET + FK + FO + FJ + FI + FR + GF + PF + GA + GM + GE + DE + GH + GI + GR + GL + GD + GP + GU + GT + GG + GN + GW + GY + HT + VA + HN + HK + HU + IS + IN + ID + IR + IQ + IE + IM + IL + IT + JM + JP + JE + JO + KZ + KE + KI + KP + KR + KW + KG + LA + LV + LB + LS + LR + LY + LI + LT + LU + MO + MK + MG + MW + MY + MV + ML + MT + MH + MQ + MR + MU + YT + MX + FM + MD + MC + MN + ME + MS + MA + MZ + MM + NA + NR + NP + NL + NC + NZ + NI + NE + NG + NU + NF + MP + NO + OM + PK + PW + PS + PA + PG + PY + PE + PH + PL + PT + PR + QA + RE + RO + RU + RW + BL + SH + KN + LC + MF + PM + VC + WS + SM + ST + SA + SN + RS + SC + SL + SG + SX + SK + SI + SB + SO + ZA + SS + ES + LK + SD + SR + SJ + SZ + SE + CH + SY + TW + TJ + TZ + TH + TL + TG + TK + TO + TT + TN + TR + TM + TC + TV + UG + UA + AE + GB + US + UY + UZ + VU + VE + VN + VG + VI + WF + EH + YE + ZM + ZW + + \ No newline at end of file -- cgit v1.2.3