diff options
| author | android-build-team Robot <android-build-team-robot@google.com> | 2021-05-04 17:52:44 +0000 |
|---|---|---|
| committer | android-build-team Robot <android-build-team-robot@google.com> | 2021-05-04 17:52:44 +0000 |
| commit | 3974d0024e372d88aa79a0db3f50bc52b31f7179 (patch) | |
| tree | e281af59687b360932fe7a1608fd7d48455e2253 | |
| parent | 3329ad0cc32976c107d69384b1de478057d5d9f7 (diff) | |
| parent | 2f8abe30e39f8efd0c4ac7f58c2aff76422e553c (diff) | |
| download | platform_packages_apps_CertInstaller-android11-platform-release.tar.gz platform_packages_apps_CertInstaller-android11-platform-release.tar.bz2 platform_packages_apps_CertInstaller-android11-platform-release.zip | |
Snap for 7316203 from 2f8abe30e39f8efd0c4ac7f58c2aff76422e553c to rvc-platform-releaseandroid-platform-11.0.0_r9android-platform-11.0.0_r8android-platform-11.0.0_r7android-platform-11.0.0_r10android11-platform-release
Change-Id: I400581f40610426d6a6025ce276311d754b99904
| -rw-r--r-- | res/values-iw/strings.xml | 28 | ||||
| -rw-r--r-- | res/values-mn/strings.xml | 2 | ||||
| -rw-r--r-- | res/values-nl/strings.xml | 2 | ||||
| -rw-r--r-- | res/values-or/strings.xml | 2 | ||||
| -rw-r--r-- | res/values-te/strings.xml | 2 | ||||
| -rw-r--r-- | src/com/android/certinstaller/WiFiInstaller.java | 76 |
6 files changed, 71 insertions, 41 deletions
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index c9a7604..9f7927f 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -17,30 +17,30 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_name" msgid="9095072584761066851">"מתקין אישורים"</string> - <string name="pick_file_title" msgid="4481949485108233297">"בחר אישור"</string> + <string name="pick_file_title" msgid="4481949485108233297">"בחירת אישור"</string> <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"חילוץ אישור"</string> - <string name="extracting_pkcs12" msgid="1881267738821799771">"מחלץ..."</string> - <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"חלץ מתוך %s"</string> + <string name="extracting_pkcs12" msgid="1881267738821799771">"מתבצע חילוץ..."</string> + <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"חילוץ מתוך %s"</string> <string name="name_credential_dialog_title" msgid="1481964824549786927">"מה שם האישור הזה?"</string> <string name="certificate_name" msgid="8415893401368824792">"שם אישור"</string> - <string name="credential_password" msgid="3520176519550993326">"הזן את הסיסמה כדי לחלץ את האישורים."</string> + <string name="credential_password" msgid="3520176519550993326">"יש להזין את הסיסמה כדי לחלץ את האישורים."</string> <string name="credential_info" msgid="2436768402308470397">"החבילה מכילה:"</string> <string name="p12_description" msgid="4128352087331630024">"אישורים במאגר המפתחות PKCS12."</string> <string name="one_userkey" msgid="3500697912370644881">"מקש משתמש אחד"</string> <string name="userkey_type" msgid="6214833257030657106">"אלגוריתם:"</string> <string name="one_usercrt" msgid="7690798336332403106">"אישור למשתמש אחד"</string> - <string name="one_cacrt" msgid="2667950425420663146">"אישור אחד מרשות אישורים"</string> - <string name="n_cacrts" msgid="2141498640685639208">"אישורים של רשות האישורים %d"</string> - <string name="password_error" msgid="2042471639556516356">"הקלד את הסיסמה הנכונה."</string> + <string name="one_cacrt" msgid="2667950425420663146">"אישור CA אחד"</string> + <string name="n_cacrts" msgid="2141498640685639208">"אישורי CA %d"</string> + <string name="password_error" msgid="2042471639556516356">"יש להקליד את הסיסמה הנכונה."</string> <string name="password_empty_error" msgid="591713406761723025">"הקלד את הסיסמה."</string> <string name="name_empty_error" msgid="3808800768660110354">"הקלד שם."</string> <string name="name_char_error" msgid="3176618568784938968">"הקלד שם שמכיל רק אותיות ומספרים."</string> - <string name="unable_to_save_cert" msgid="9178604087335389686">"לא ניתן לשמור את האישור. אחסון האישורים לא מאופשר או שלא אותחל כראוי."</string> + <string name="unable_to_save_cert" msgid="9178604087335389686">"לא ניתן לשמור את האישור. אחסון האישורים לא הופעל או שלא אותחל כראוי."</string> <string name="cert_not_saved" msgid="4037698479662830270">"האישור לא מותקן."</string> <string name="no_cert_to_saved" msgid="5708884372817309068">"אין אישור להתקנה."</string> <string name="invalid_cert" msgid="7704228670980743590">"האישור אינו חוקי."</string> - <string name="action_missing_private_key" msgid="7543470057312920042">"מפתח פרטי נדרש כדי להתקין אישור"</string> - <string name="action_missing_user_cert" msgid="3727411730202316771">"אישור נדרש כדי להתקין מפתח פרטי"</string> + <string name="action_missing_private_key" msgid="7543470057312920042">"נדרש מפתח פרטי כדי להתקין אישור"</string> + <string name="action_missing_user_cert" msgid="3727411730202316771">"נדרש אישור כדי להתקין מפתח פרטי"</string> <string name="select_certificate_usage_title" msgid="8853023485944920851">"יש לבחור את סוג האישור"</string> <string name="redirect_ca_certificate_title" msgid="3457516863949244510">"התקנת אישורי CA ב\'הגדרות\'"</string> <string name="redirect_ca_certificate_with_app_info_message" msgid="934477720755323579">"את האישור הזה מהאפליקציה <xliff:g id="REQUESTING_APP">%1$s</xliff:g> חובה להתקין בהגדרות. יש להתקין אישורי CA רק מארגונים מהימנים."</string> @@ -65,7 +65,7 @@ <item msgid="375085478373011304">"VPN ואפליקציות"</item> <item msgid="692322974985472861">"Wi-Fi"</item> </string-array> - <string name="certificate_capabilities_warning" msgid="4158609401937799110">"הערה: המנפיק של אישור זה עשוי לבדוק את כל התנועה אל המכשיר וממנו."</string> + <string name="certificate_capabilities_warning" msgid="4158609401937799110">"הערה: המנפיק של האישור הזה עשוי לבדוק את כל התנועה אל המכשיר וממנו."</string> <string name="wifi_title" msgid="8475811746333426489">"פרופיל Wi-Fi"</string> <string name="wifi_detail_title" msgid="3627332137252994395">"פרטים עבור %s"</string> <string name="wifi_detail_label" msgid="3032151019356747583">"פרטים"</string> @@ -81,10 +81,10 @@ <string name="wifi_trust_config_text" msgid="5916047381475747783">"תעודת אמון:\n%s\n"</string> <string name="install_done_title" msgid="4822989918460334497">"פרטי כניסה הותקנו"</string> <string name="install_done" msgid="1522718684172097080">"פרטי כניסה של <xliff:g id="NAME">%1$s</xliff:g> נוספו אל רשתות Wi-Fi שנשמרו."</string> - <string name="done_label" msgid="5597425930652904250">"בוצע"</string> - <string name="wifi_installer_detail" msgid="63879632832701669">"התקן פרטי כניסה של Wi-Fi כדי להתחבר לרשתות שזמינות באמצעות <xliff:g id="NAME">%1$s</xliff:g>."</string> + <string name="done_label" msgid="5597425930652904250">"סיום"</string> + <string name="wifi_installer_detail" msgid="63879632832701669">"יש להתקין פרטי כניסה של Wi-Fi כדי להתחבר לרשתות שזמינות דרך <xliff:g id="NAME">%1$s</xliff:g>."</string> <string name="wifi_installer_download_error" msgid="5429453090956277692">"יש בעיות בקובץ שהורדת ולא ניתן להתקינו. ודא שהורדת את הקובץ מהמקור המתאים."</string> - <string name="wifi_installer_fail" msgid="894483173306576331">"לא ניתן להתקין פרטי כניסה של Wi-Fi. נסה להוריד שוב את הקובץ."</string> + <string name="wifi_installer_fail" msgid="894483173306576331">"לא ניתן להתקין פרטי כניסה של Wi-Fi. יש לנסות שוב להוריד את הקובץ."</string> <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"ההתקנה בוטלה"</string> <string name="wifi_installer_fail_title" msgid="5547079779067835479">"לא ניתן להתקין"</string> <string name="wifi_installer_fail_no_wifi" msgid="2044576439984209921">"הפעל את ה-Wi-Fi ונסה שוב."</string> diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index b15985e..03dd4c7 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -77,7 +77,7 @@ <string name="wifi_config_text" msgid="8259587306773310314">"Нэр: %1$s\nFQDN: %2$s\nRoaming Consortiums: %3$s\nRealm: %4$s\nAuth method: EAP-%5$s\n"</string> <string name="wifi_ttls_config_text" msgid="2002413183253872168">"Хэрэглэгчийн нэр: %s\n"</string> <string name="wifi_tls_config_text" msgid="9062328536640168510">"Клинетийн сертификат:\n%1$s\nТүлхүүр: %2$s\n"</string> - <string name="wifi_sim_config_text" msgid="1666019954520831840">"СИМ: %s\n"</string> + <string name="wifi_sim_config_text" msgid="1666019954520831840">"SIM: %s\n"</string> <string name="wifi_trust_config_text" msgid="5916047381475747783">"Итгэлцлийн сертификат:\n%s\n"</string> <string name="install_done_title" msgid="4822989918460334497">"Итгэмжлэлийг суулгасан"</string> <string name="install_done" msgid="1522718684172097080">"<xliff:g id="NAME">%1$s</xliff:g> итгэмжлэлийг Wi-Fi-ийн хадгалсан сүлжээнд нэмлээ."</string> diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 21298a2..9d1d6bd 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -35,7 +35,7 @@ <string name="password_empty_error" msgid="591713406761723025">"Typ het wachtwoord."</string> <string name="name_empty_error" msgid="3808800768660110354">"Typ een naam."</string> <string name="name_char_error" msgid="3176618568784938968">"Typ een naam die alleen letters en cijfers bevat."</string> - <string name="unable_to_save_cert" msgid="9178604087335389686">"Kan het certificaat niet opslaan. Opslag van certificaatgegevens is niet ingeschakeld of niet correct geïnitialiseerd."</string> + <string name="unable_to_save_cert" msgid="9178604087335389686">"Kan het certificaat niet opslaan. Opslag van certificaatgegevens staat niet aan of is niet correct geïnitialiseerd."</string> <string name="cert_not_saved" msgid="4037698479662830270">"Het certificaat is niet geïnstalleerd."</string> <string name="no_cert_to_saved" msgid="5708884372817309068">"Er is geen certificaat dat kan worden geïnstalleerd."</string> <string name="invalid_cert" msgid="7704228670980743590">"Het certificaat is ongeldig."</string> diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 8599747..238623c 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -71,7 +71,7 @@ <string name="wifi_detail_label" msgid="3032151019356747583">"ବିବରଣୀ"</string> <string name="wifi_install_label" msgid="1449629407724323233">"ଇନଷ୍ଟଲ୍"</string> <string name="wifi_installing_label" msgid="8387393993627129025">"ଇନଷ୍ଟଲ୍ କରାଯାଉଛି"</string> - <string name="wifi_cancel_label" msgid="1328748037608392134">"କ୍ୟାନ୍ସଲ୍ କରନ୍ତୁ"</string> + <string name="wifi_cancel_label" msgid="1328748037608392134">"ବାତିଲ୍ କରନ୍ତୁ"</string> <string name="wifi_dismiss_label" msgid="1916684434873972698">"ଖାରଜ"</string> <string name="wifi_no_config" msgid="1835743123288916755">"କିଛି ନାହିଁ"</string> <string name="wifi_config_text" msgid="8259587306773310314">"ନାମ: %1$s\nFQDN: %2$s\nରୋମିଙ୍ଗ କନ୍ସୋଟିୟମ୍ସ: %3$s\nରେଲାମ୍: %4$s\nସ୍ୱୀକୃତି ପଦ୍ଧତି: EAP-%5$s\n"</string> diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 49ff4be..0a48003 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -62,7 +62,7 @@ <string name="only_primary_user_allowed" msgid="4005084935023047716">"ఈ పరికర యజమాని మాత్రమే ప్రమాణపత్రాలను ఇన్స్టాల్ చేయవచ్చు."</string> <string name="credential_usage_label" msgid="1513892208033156805">"ఆధారాల వినియోగం:"</string> <string-array name="credential_usage"> - <item msgid="375085478373011304">"VPN మరియు అనువర్తనాలు"</item> + <item msgid="375085478373011304">"VPN మరియు యాప్లు"</item> <item msgid="692322974985472861">"Wi-Fi"</item> </string-array> <string name="certificate_capabilities_warning" msgid="4158609401937799110">"గమనిక: ఈ ప్రమాణపత్రాన్ని జారీ చేసిన వారు పరికరానికి సంబంధించిన మొత్తం రాకపోకల ట్రాఫిక్ని పరిశీలించవచ్చు."</string> diff --git a/src/com/android/certinstaller/WiFiInstaller.java b/src/com/android/certinstaller/WiFiInstaller.java index 41827f6..ad03eca 100644 --- a/src/com/android/certinstaller/WiFiInstaller.java +++ b/src/com/android/certinstaller/WiFiInstaller.java @@ -1,5 +1,7 @@ package com.android.certinstaller; +import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; + import android.app.Activity; import android.app.AlertDialog; import android.content.Context; @@ -13,6 +15,8 @@ import android.net.wifi.hotspot2.PasspointConfiguration; import android.os.AsyncTask; import android.os.Bundle; import android.provider.DocumentsContract; +import android.text.TextUtils; +import android.util.EventLog; import android.util.Log; import android.view.View; import android.widget.TextView; @@ -26,18 +30,24 @@ public class WiFiInstaller extends Activity { private static final String TAG = "WifiInstaller"; private static final String NETWORK_NAME = "network_name"; private static final String INSTALL_STATE = "install_state"; + private static final String TYPE_WIFI_CONFIG = "application/x-wifi-config"; public static final int INSTALL_SUCCESS = 2; public static final int INSTALL_FAIL = 1; public static final int INSTALL_FAIL_NO_WIFI = 0; - PasspointConfiguration mPasspointConfig; - WifiManager mWifiManager; - boolean doNotInstall; + private PasspointConfiguration mPasspointConfig; + private boolean mIsPasspointConfigurationValid; @Override protected void onCreate(Bundle savedStates) { super.onCreate(savedStates); + getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); + mIsPasspointConfigurationValid = false; Bundle bundle = getIntent().getExtras(); + if (bundle == null) { + Log.e(TAG, "Invalid inputs"); + return; + } String uriString = bundle.getString(CertInstallerMain.WIFI_CONFIG_FILE); String mimeType = bundle.getString(CertInstallerMain.WIFI_CONFIG); byte[] data = bundle.getByteArray(CertInstallerMain.WIFI_CONFIG_DATA); @@ -45,17 +55,34 @@ public class WiFiInstaller extends Activity { Log.d(TAG, "WiFi data for " + CertInstallerMain.WIFI_CONFIG + ": " + mimeType + " is " + (data != null ? data.length : "-")); - mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); - mPasspointConfig = ConfigParser.parsePasspointConfig(mimeType, data); - dropFile(Uri.parse(uriString), getApplicationContext()); + // Make sure that the input is valid + if (data == null || data.length == 0 || TextUtils.isEmpty(uriString)) { + Log.e(TAG, "Invalid inputs"); + return; + } + + // Verify MIME type before parsing + if (!TextUtils.equals(mimeType, TYPE_WIFI_CONFIG)) { + Log.e(TAG, "Unexpected MIME type: " + mimeType); + EventLog.writeEvent(0x534e4554, "176756691", -1, "Invalid mime-type"); + return; + } + mPasspointConfig = ConfigParser.parsePasspointConfig(mimeType, data); if (mPasspointConfig == null) { - Log.w(TAG, "failed to build passpoint configuration"); - doNotInstall = true; - } else if (mPasspointConfig.getHomeSp() == null) { - Log.w(TAG, "Passpoint profile missing HomeSP information"); - doNotInstall = true; + Log.e(TAG, "Failed to build Passpoint configuration"); + EventLog.writeEvent(0x534e4554, "176756691", -1, "Invalid data in file " + + uriString); + return; + } + if (mPasspointConfig.getHomeSp() == null) { + Log.e(TAG, "Passpoint profile missing HomeSP information"); + } else { + // Passpoint configuration parsed successfully and valid. Mark to be installed. + mIsPasspointConfigurationValid = true; } + // Delete the file only if the Passpoint configuration was parsed successfully + dropFile(Uri.parse(uriString), getApplicationContext()); } @Override @@ -75,7 +102,8 @@ public class WiFiInstaller extends Activity { builder.setView(layout); TextView text = (TextView) layout.findViewById(R.id.wifi_info); - if (!doNotInstall) { + if (mIsPasspointConfigurationValid) { + WifiManager wifiManager = getSystemService(WifiManager.class); text.setText(String.format(getResources().getString(R.string.wifi_installer_detail), mPasspointConfig.getHomeSp().getFriendlyName())); @@ -93,14 +121,14 @@ public class WiFiInstaller extends Activity { public void run() { boolean success = true; try { - mWifiManager.removePasspointConfiguration( + wifiManager.removePasspointConfiguration( mPasspointConfig.getHomeSp().getFqdn()); } catch (IllegalArgumentException e) { // Do nothing. This is expected if a profile with this FQDN does not // exist. } try { - mWifiManager.addOrUpdatePasspointConfiguration(mPasspointConfig); + wifiManager.addOrUpdatePasspointConfiguration(mPasspointConfig); } catch (RuntimeException rte) { Log.w(TAG, "Caught exception while installing wifi config: " + rte, rte); @@ -144,7 +172,9 @@ public class WiFiInstaller extends Activity { } }); } - builder.create().show(); + final AlertDialog alertDialog = builder.create(); + alertDialog.show(); + alertDialog.getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); } /** @@ -154,14 +184,14 @@ public class WiFiInstaller extends Activity { * @param context The context of the current application */ private static void dropFile(Uri uri, Context context) { - try { - if (DocumentsContract.isDocumentUri(context, uri)) { - DocumentsContract.deleteDocument(context.getContentResolver(), uri); - } else { - context.getContentResolver().delete(uri, null, null); + try { + if (DocumentsContract.isDocumentUri(context, uri)) { + DocumentsContract.deleteDocument(context.getContentResolver(), uri); + } else { + context.getContentResolver().delete(uri, null, null); + } + } catch (Exception e) { + Log.e(TAG, "could not delete document " + uri); } - } catch (Exception e) { - Log.e(TAG, "could not delete document " + uri); - } } } |
