| Offset 1, 17 lines modified | Offset 1, 17 lines modified | ||
| 1 | apex_manifest.pb | 1 | apex_manifest.pb |
| 2 | app | 2 | app |
| 3 | app/OsuLogin | 3 | app/OsuLogin |
| 4 | app/OsuLogin | 4 | app/OsuLogin/OsuLogin.apk |
| 5 | etc | 5 | etc |
| 6 | etc/security | 6 | etc/security |
| 7 | etc/security/cacerts_wfa | 7 | etc/security/cacerts_wfa |
| 8 | etc/security/cacerts_wfa/21125ccd.0 | 8 | etc/security/cacerts_wfa/21125ccd.0 |
| 9 | etc/security/cacerts_wfa/674b5f5b.0 | 9 | etc/security/cacerts_wfa/674b5f5b.0 |
| 10 | etc/security/cacerts_wfa/ea93cb5b.0 | 10 | etc/security/cacerts_wfa/ea93cb5b.0 |
| 11 | javalib | 11 | javalib |
| 12 | javalib/framework-wifi.jar | 12 | javalib/framework-wifi.jar |
| 13 | javalib/service-wifi.jar | 13 | javalib/service-wifi.jar |
| 14 | lost+found | 14 | lost+found |
| 15 | priv-app | 15 | priv-app |
| 16 | priv-app/ServiceWifiResources | 16 | priv-app/ServiceWifiResources |
| 17 | priv-app/ServiceWifiResources | 17 | priv-app/ServiceWifiResources/ServiceWifiResources.apk |
| Offset 1, 2 lines modified | Offset 1, 2 lines modified | ||
| 00000000:·0a10·636f·6d2e·616e·6472·6f69·642e·7769··..com.android.wi | 00000000:·0a10·636f·6d2e·616e·6472·6f69·642e·7769··..com.android.wi | ||
| 00000010:·6669·10 | 00000010:·6669·1080·c686·8f01······················fi...... |
| Offset 1, 2 lines modified | Offset 1, 2 lines modified | ||
| 1 | OsuLogin | 1 | OsuLogin |
| 2 | OsuLogin | 2 | OsuLogin/OsuLogin.apk |
| Offset 1, 1 lines modified | Offset 1, 1 lines modified | ||
| 1 | OsuLogin | 1 | OsuLogin.apk |
| Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
| 1 | Zip·file·size:· | 1 | Zip·file·size:·236890·bytes,·number·of·entries:·78 |
| 2 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.activity_activity.version | 2 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.activity_activity.version |
| 3 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.arch.core_core-runtime.version | 3 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.arch.core_core-runtime.version |
| 4 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.asynclayoutinflater_asynclayoutinflater.version | 4 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.asynclayoutinflater_asynclayoutinflater.version |
| 5 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.coordinatorlayout_coordinatorlayout.version | 5 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.coordinatorlayout_coordinatorlayout.version |
| 6 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.core_core.version | 6 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.core_core.version |
| 7 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.cursoradapter_cursoradapter.version | 7 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.cursoradapter_cursoradapter.version |
| 8 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.customview_customview.version | 8 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.customview_customview.version |
| Offset 21, 15 lines modified | Offset 21, 15 lines modified | ||
| 21 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.media_media.version | 21 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.media_media.version |
| 22 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.print_print.version | 22 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.print_print.version |
| 23 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.savedstate_savedstate.version | 23 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.savedstate_savedstate.version |
| 24 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.slidingpanelayout_slidingpanelayout.version | 24 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.slidingpanelayout_slidingpanelayout.version |
| 25 | -rw----·····1.0·fat·······11·bx·stor·09-Jan-01·00:00·META-INF/androidx.swiperefreshlayout_swiperefreshlayout.version | 25 | -rw----·····1.0·fat·······11·bx·stor·09-Jan-01·00:00·META-INF/androidx.swiperefreshlayout_swiperefreshlayout.version |
| 26 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.versionedparcelable_versionedparcelable.version | 26 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.versionedparcelable_versionedparcelable.version |
| 27 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.viewpager_viewpager.version | 27 | -rw----·····1.0·fat·······14·bx·stor·09-Jan-01·00:00·META-INF/androidx.viewpager_viewpager.version |
| 28 | -rw----·····1.0·fat··· | 28 | -rw----·····1.0·fat···149572·bx·stor·09-Jan-01·00:00·classes.dex |
| 29 | -rw----·····1.0·fat······212·bx·stor·09-Jan-01·00:00·res/drawable-hdpi-v4/notification_bg_low_normal.9.png | 29 | -rw----·····1.0·fat······212·bx·stor·09-Jan-01·00:00·res/drawable-hdpi-v4/notification_bg_low_normal.9.png |
| 30 | -rw----·····1.0·fat······225·bx·stor·09-Jan-01·00:00·res/drawable-hdpi-v4/notification_bg_low_pressed.9.png | 30 | -rw----·····1.0·fat······225·bx·stor·09-Jan-01·00:00·res/drawable-hdpi-v4/notification_bg_low_pressed.9.png |
| 31 | -rw----·····1.0·fat······212·bx·stor·09-Jan-01·00:00·res/drawable-hdpi-v4/notification_bg_normal.9.png | 31 | -rw----·····1.0·fat······212·bx·stor·09-Jan-01·00:00·res/drawable-hdpi-v4/notification_bg_normal.9.png |
| 32 | -rw----·····1.0·fat······225·bx·stor·09-Jan-01·00:00·res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png | 32 | -rw----·····1.0·fat······225·bx·stor·09-Jan-01·00:00·res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png |
| 33 | -rw----·····1.0·fat······107·bx·stor·09-Jan-01·00:00·res/drawable-hdpi-v4/notify_panel_notification_icon_bg.png | 33 | -rw----·····1.0·fat······107·bx·stor·09-Jan-01·00:00·res/drawable-hdpi-v4/notify_panel_notification_icon_bg.png |
| 34 | -rw----·····1.0·fat······215·bx·stor·09-Jan-01·00:00·res/drawable-mdpi-v4/notification_bg_low_normal.9.png | 34 | -rw----·····1.0·fat······215·bx·stor·09-Jan-01·00:00·res/drawable-mdpi-v4/notification_bg_low_normal.9.png |
| 35 | -rw----·····1.0·fat······223·bx·stor·09-Jan-01·00:00·res/drawable-mdpi-v4/notification_bg_low_pressed.9.png | 35 | -rw----·····1.0·fat······223·bx·stor·09-Jan-01·00:00·res/drawable-mdpi-v4/notification_bg_low_pressed.9.png |
| Offset 38, 17 lines modified | Offset 38, 16 lines modified | ||
| 38 | -rw----·····1.0·fat·······98·bx·stor·09-Jan-01·00:00·res/drawable-mdpi-v4/notify_panel_notification_icon_bg.png | 38 | -rw----·····1.0·fat·······98·bx·stor·09-Jan-01·00:00·res/drawable-mdpi-v4/notify_panel_notification_icon_bg.png |
| 39 | -rw----·····1.0·fat······221·bx·stor·09-Jan-01·00:00·res/drawable-xhdpi-v4/notification_bg_low_normal.9.png | 39 | -rw----·····1.0·fat······221·bx·stor·09-Jan-01·00:00·res/drawable-xhdpi-v4/notification_bg_low_normal.9.png |
| 40 | -rw----·····1.0·fat······252·bx·stor·09-Jan-01·00:00·res/drawable-xhdpi-v4/notification_bg_low_pressed.9.png | 40 | -rw----·····1.0·fat······252·bx·stor·09-Jan-01·00:00·res/drawable-xhdpi-v4/notification_bg_low_pressed.9.png |
| 41 | -rw----·····1.0·fat······221·bx·stor·09-Jan-01·00:00·res/drawable-xhdpi-v4/notification_bg_normal.9.png | 41 | -rw----·····1.0·fat······221·bx·stor·09-Jan-01·00:00·res/drawable-xhdpi-v4/notification_bg_normal.9.png |
| 42 | -rw----·····1.0·fat······247·bx·stor·09-Jan-01·00:00·res/drawable-xhdpi-v4/notification_bg_normal_pressed.9.png | 42 | -rw----·····1.0·fat······247·bx·stor·09-Jan-01·00:00·res/drawable-xhdpi-v4/notification_bg_normal_pressed.9.png |
| 43 | -rw----·····1.0·fat······138·bx·stor·09-Jan-01·00:00·res/drawable-xhdpi-v4/notify_panel_notification_icon_bg.png | 43 | -rw----·····1.0·fat······138·bx·stor·09-Jan-01·00:00·res/drawable-xhdpi-v4/notify_panel_notification_icon_bg.png |
| 44 | -rw----·····1.0·fat····37712·bx·stor·09-Jan-01·00:00·resources.arsc | 44 | -rw----·····1.0·fat····37712·bx·stor·09-Jan-01·00:00·resources.arsc |
| 45 | -rw----·····2.0·fat····· | 45 | -rw----·····2.0·fat·····2896·bl·defN·09-Jan-01·00:00·AndroidManifest.xml |
| 46 | -rw----·····2.0·fat······339·bl·defN·09-Jan-01·00:00·META-INF/proguard/androidx-annotations.pro | 46 | -rw----·····2.0·fat······339·bl·defN·09-Jan-01·00:00·META-INF/proguard/androidx-annotations.pro |
| 47 | -rw----·····2.0·fat···149572·bl·defN·09-Jan-01·00:00·classes.dex |  | |
| 48 | -rw----·····2.0·fat······364·bl·defN·09-Jan-01·00:00·res/anim-v21/fragment_fast_out_extra_slow_in.xml | 47 | -rw----·····2.0·fat······364·bl·defN·09-Jan-01·00:00·res/anim-v21/fragment_fast_out_extra_slow_in.xml |
| 49 | -rw----·····2.0·fat·····1076·bl·defN·09-Jan-01·00:00·res/anim/fragment_close_enter.xml | 48 | -rw----·····2.0·fat·····1076·bl·defN·09-Jan-01·00:00·res/anim/fragment_close_enter.xml |
| 50 | -rw----·····2.0·fat·····1120·bl·defN·09-Jan-01·00:00·res/anim/fragment_close_exit.xml | 49 | -rw----·····2.0·fat·····1120·bl·defN·09-Jan-01·00:00·res/anim/fragment_close_exit.xml |
| 51 | -rw----·····2.0·fat······388·bl·defN·09-Jan-01·00:00·res/anim/fragment_fade_enter.xml | 50 | -rw----·····2.0·fat······388·bl·defN·09-Jan-01·00:00·res/anim/fragment_fade_enter.xml |
| 52 | -rw----·····2.0·fat······388·bl·defN·09-Jan-01·00:00·res/anim/fragment_fade_exit.xml | 51 | -rw----·····2.0·fat······388·bl·defN·09-Jan-01·00:00·res/anim/fragment_fade_exit.xml |
| 53 | -rw----·····2.0·fat·····1076·bl·defN·09-Jan-01·00:00·res/anim/fragment_open_enter.xml | 52 | -rw----·····2.0·fat·····1076·bl·defN·09-Jan-01·00:00·res/anim/fragment_open_enter.xml |
| 54 | -rw----·····2.0·fat·····1076·bl·defN·09-Jan-01·00:00·res/anim/fragment_open_exit.xml | 53 | -rw----·····2.0·fat·····1076·bl·defN·09-Jan-01·00:00·res/anim/fragment_open_exit.xml |
| Offset 71, 12 lines modified | Offset 70, 11 lines modified | ||
| 71 | -rw----·····2.0·fat·····2872·bl·defN·09-Jan-01·00:00·res/layout/notification_template_lines_media.xml | 70 | -rw----·····2.0·fat·····2872·bl·defN·09-Jan-01·00:00·res/layout/notification_template_lines_media.xml |
| 72 | -rw----·····2.0·fat·····1292·bl·defN·09-Jan-01·00:00·res/layout/notification_template_media.xml | 71 | -rw----·····2.0·fat·····1292·bl·defN·09-Jan-01·00:00·res/layout/notification_template_media.xml |
| 73 | -rw----·····2.0·fat·····2756·bl·defN·09-Jan-01·00:00·res/layout/notification_template_media_custom.xml | 72 | -rw----·····2.0·fat·····2756·bl·defN·09-Jan-01·00:00·res/layout/notification_template_media_custom.xml |
| 74 | -rw----·····2.0·fat······440·bl·defN·09-Jan-01·00:00·res/layout/notification_template_part_chronometer.xml | 73 | -rw----·····2.0·fat······440·bl·defN·09-Jan-01·00:00·res/layout/notification_template_part_chronometer.xml |
| 75 | -rw----·····2.0·fat······440·bl·defN·09-Jan-01·00:00·res/layout/notification_template_part_time.xml | 74 | -rw----·····2.0·fat······440·bl·defN·09-Jan-01·00:00·res/layout/notification_template_part_time.xml |
| 76 | -rw----·····2.0·fat·····1372·bl·defN·09-Jan-01·00:00·res/layout/osu_web_view.xml | 75 | -rw----·····2.0·fat·····1372·bl·defN·09-Jan-01·00:00·res/layout/osu_web_view.xml |
| 77 | -rw----·····2.0·fat······556·bl·defN·09-Jan-01·00:00·res/xml/network_security_config.xml | 76 | -rw----·····2.0·fat······556·bl·defN·09-Jan-01·00:00·res/xml/network_security_config.xml |
| 78 | -rw----·····2.0·fat····· | 77 | -rw----·····2.0·fat·····9088·bl·defN·09-Jan-01·00:00·META-INF/CERT.SF |
| 79 | -rw----·····2.0·fat····· | 78 | -rw----·····2.0·fat·····2349·bl·defN·09-Jan-01·00:00·META-INF/CERT.RSA |
| 80 | -rw----·····2.0·fat····· | 79 | -rw----·····2.0·fat·····8976·bl·defN·09-Jan-01·00:00·META-INF/MANIFEST.MF |
| 81 | 80 | 78·files,·249887·bytes·uncompressed,·214225·bytes·compressed:··14.3% | |
| 82 | 80·files,·280621·bytes·uncompressed,·159892·bytes·compressed:··43.0% |  | |
| Offset 1, 16 lines modified | Offset 1, 15 lines modified | ||
| 1 | <?xml·version="1.0"·encoding="utf-8"?> | 1 | <?xml·version="1.0"·encoding="utf-8"?> |
| 2 | <manifest·android:compileSdkVersion="30"·android:compileSdkVersionCodename="11"·android:versionCode="30"·android:versionName="11 | 2 | <manifest·android:compileSdkVersion="30"·android:compileSdkVersionCodename="11"·android:versionCode="30"·android:versionName="11"·package="com.android.hotspot2.osulogin"·platformBuildVersionCode="30"·platformBuildVersionName="11"·xmlns:android="http://schemas.android.com/apk/res/android"> |
| 3 | ··<uses-sdk·android:minSdkVersion="30"·android:targetSdkVersion="30"/> | 3 | ··<uses-sdk·android:minSdkVersion="30"·android:targetSdkVersion="30"/> |
| 4 | ··<uses-permission·android:name="android.permission.ACCESS_NETWORK_STATE"/> | 4 | ··<uses-permission·android:name="android.permission.ACCESS_NETWORK_STATE"/> |
| 5 | ··<uses-permission·android:name="android.permission.CHANGE_WIFI_STATE"/> | 5 | ··<uses-permission·android:name="android.permission.CHANGE_WIFI_STATE"/> |
| 6 | ··<uses-permission·android:name="android.permission.INTERNET"/> | 6 | ··<uses-permission·android:name="android.permission.INTERNET"/> |
| 7 | ··<application·android:appComponentFactory="androidx.core.app.CoreComponentFactory"·android:configChanges="keyboardHidden|orientation|screenSize"·android:enabled="true"·android:extractNativeLibs="false"·android:label="@string/app_name"·android:networkSecurityConfig="@xml/network_security_config"·android:supportsRtl="true"> | 7 | ··<application·android:appComponentFactory="androidx.core.app.CoreComponentFactory"·android:configChanges="keyboardHidden|orientation|screenSize"·android:enabled="true"·android:extractNativeLibs="false"·android:label="@string/app_name"·android:networkSecurityConfig="@xml/network_security_config"·android:supportsRtl="true"> |
| 8 | ····<activity·android:configChanges="keyboardHidden|orientation|screenSize"·android:label="@string/action_bar_label"·android:name="com.android.hotspot2.osulogin.OsuLoginActivity"·android:theme="@style/AppTheme"> | 8 | ····<activity·android:configChanges="keyboardHidden|orientation|screenSize"·android:label="@string/action_bar_label"·android:name="com.android.hotspot2.osulogin.OsuLoginActivity"·android:theme="@style/AppTheme"> |
| 9 | ······<intent-filter> | 9 | ······<intent-filter> |
| 10 | ········<action·android:name="android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW"/> | 10 | ········<action·android:name="android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW"/> |
| 11 | ········<category·android:name="android.intent.category.DEFAULT"/> | 11 | ········<category·android:name="android.intent.category.DEFAULT"/> |
| 12 | ······</intent-filter> | 12 | ······</intent-filter> |
| 13 | ····</activity> | 13 | ····</activity> |
| 14 | ····<meta-data·android:name="android.content.pm.LOGGING_PARENT"·android:value="com.google.android.modulemetadata"/> |  | |
| 15 | ··</application> | 14 | ··</application> |
| 16 | </manifest> | 15 | </manifest> |
| Offset 1, 10 lines modified | Offset 1, 11 lines modified | ||
| 1 | !!brut.androlib.meta.MetaInfo | 1 | !!brut.androlib.meta.MetaInfo |
| 2 | compressionType:·false | 2 | compressionType:·false |
| 3 | doNotCompress: | 3 | doNotCompress: |
|  | 4 | -·dex | |
| 4 | -·arsc | 5 | -·arsc |
| 5 | -·META-INF/androidx.activity_activity.version | 6 | -·META-INF/androidx.activity_activity.version |
| 6 | -·META-INF/androidx.arch.core_core-runtime.version | 7 | -·META-INF/androidx.arch.core_core-runtime.version |
| 7 | -·META-INF/androidx.asynclayoutinflater_asynclayoutinflater.version | 8 | -·META-INF/androidx.asynclayoutinflater_asynclayoutinflater.version |
| 8 | -·META-INF/androidx.coordinatorlayout_coordinatorlayout.version | 9 | -·META-INF/androidx.coordinatorlayout_coordinatorlayout.version |
| 9 | -·META-INF/androidx.core_core.version | 10 | -·META-INF/androidx.core_core.version |
| 10 | -·META-INF/androidx.cursoradapter_cursoradapter.version | 11 | -·META-INF/androidx.cursoradapter_cursoradapter.version |
| Offset 24, 15 lines modified | Offset 25, 14 lines modified | ||
| 24 | -·META-INF/androidx.media_media.version | 25 | -·META-INF/androidx.media_media.version |
| 25 | -·META-INF/androidx.print_print.version | 26 | -·META-INF/androidx.print_print.version |
| 26 | -·META-INF/androidx.savedstate_savedstate.version | 27 | -·META-INF/androidx.savedstate_savedstate.version |
| 27 | -·META-INF/androidx.slidingpanelayout_slidingpanelayout.version | 28 | -·META-INF/androidx.slidingpanelayout_slidingpanelayout.version |
| 28 | -·META-INF/androidx.swiperefreshlayout_swiperefreshlayout.version | 29 | -·META-INF/androidx.swiperefreshlayout_swiperefreshlayout.version |
| 29 | -·META-INF/androidx.versionedparcelable_versionedparcelable.version | 30 | -·META-INF/androidx.versionedparcelable_versionedparcelable.version |
| 30 | -·META-INF/androidx.viewpager_viewpager.version | 31 | -·META-INF/androidx.viewpager_viewpager.version |
| 31 | -·assets/NOTICE.html.gz |  | |
| 32 | -·res/drawable-hdpi-v4/notification_bg_low_normal.9.png | 32 | -·res/drawable-hdpi-v4/notification_bg_low_normal.9.png |
| 33 | -·res/drawable-hdpi-v4/notification_bg_low_pressed.9.png | 33 | -·res/drawable-hdpi-v4/notification_bg_low_pressed.9.png |
| 34 | -·res/drawable-hdpi-v4/notification_bg_normal.9.png | 34 | -·res/drawable-hdpi-v4/notification_bg_normal.9.png |
| 35 | -·res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png | 35 | -·res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png |
| 36 | -·png | 36 | -·png |
| 37 | -·res/drawable-mdpi-v4/notification_bg_low_normal.9.png | 37 | -·res/drawable-mdpi-v4/notification_bg_low_normal.9.png |
| 38 | -·res/drawable-mdpi-v4/notification_bg_low_pressed.9.png | 38 | -·res/drawable-mdpi-v4/notification_bg_low_pressed.9.png |
| Offset 45, 17 lines modified | Offset 45, 16 lines modified | ||
| 45 | isFrameworkApk:·false | 45 | isFrameworkApk:·false |
| 46 | packageInfo:·null | 46 | packageInfo:·null |
| 47 | sdkInfo: | 47 | sdkInfo: |
| 48 | ··minSdkVersion:·'30' | 48 | ··minSdkVersion:·'30' |
| 49 | ··targetSdkVersion:·'30' | 49 | ··targetSdkVersion:·'30' |
| 50 | sharedLibrary:·false | 50 | sharedLibrary:·false |
| 51 | sparseResources:·false | 51 | sparseResources:·false |
| 52 | unknownFiles: | 52 | unknownFiles:·{} |
| 53 | ··stamp-cert-sha256:·'8' |  | |
| 54 | usesFramework: | 53 | usesFramework: |
| 55 | ··ids: | 54 | ··ids: |
| 56 | ··-·1 | 55 | ··-·1 |
| 57 | ··tag:·null | 56 | ··tag:·null |
| 58 | version:·2.3.4-dirty | 57 | version:·2.3.4-dirty |
| 59 | versionInfo: | 58 | versionInfo: |
| 60 | ··versionCode:·'30' | 59 | ··versionCode:·'30' |
| 61 | ··versionName:· | 60 | ··versionName:·'11' |
| Offset 1, 9 lines modified | Offset 1, 9 lines modified | ||
| 00000000:·6465·780a·3033·3900· | 00000000:·6465·780a·3033·3900·fbe1·460b·1da1·c25d··dex.039...F....] | ||
| 00000010:· | 00000010:·4836·1ce9·9237·d081·a965·090d·667d·91db··H6...7...e..f}.. | ||
| 00000020:·4448·0200·7000·0000·7856·3412·0000·0000··DH..p...xV4..... | 00000020:·4448·0200·7000·0000·7856·3412·0000·0000··DH..p...xV4..... | ||
| 00000030:·0000·0000·7447·0200·da06·0000·7000·0000··....tG......p... | 00000030:·0000·0000·7447·0200·da06·0000·7000·0000··....tG......p... | ||
| 00000040:·9101·0000·d81b·0000·b601·0000·1c22·0000··.............".. | 00000040:·9101·0000·d81b·0000·b601·0000·1c22·0000··.............".. | ||
| 00000050:·7f01·0000·a436·0000·8305·0000·9c42·0000··.....6.......B.. | 00000050:·7f01·0000·a436·0000·8305·0000·9c42·0000··.....6.......B.. | ||
| 00000060:·b800·0000·b46e·0000·90c2·0100·b485·0000··.....n.......... | 00000060:·b800·0000·b46e·0000·90c2·0100·b485·0000··.....n.......... | ||
| 00000070:·8c6f·0100·8e6f·0100·926f·0100·966f·0100··.o...o...o...o.. | 00000070:·8c6f·0100·8e6f·0100·926f·0100·966f·0100··.o...o...o...o.. | ||
| 00000080:·a16f·0100·ac6f·0100·b66f·0100·c06f·0100··.o...o...o...o.. | 00000080:·a16f·0100·ac6f·0100·b66f·0100·c06f·0100··.o...o...o...o.. | ||
| Offset 8335, 15 lines modified | Offset 8335, 15 lines modified | ||
| 000208e0:·7265·6174·6f72·0001·7800·027b·7d00·017d··reator..x..{}..} | 000208e0:·7265·6174·6f72·0001·7800·027b·7d00·017d··reator..x..{}..} | ||
| 000208f0:·0070·7e7e·5238·7b22·636f·6d70·696c·6174··.p~~R8{"compilat | 000208f0:·0070·7e7e·5238·7b22·636f·6d70·696c·6174··.p~~R8{"compilat | ||
| 00020900:·696f·6e2d·6d6f·6465·223a·2272·656c·6561··ion-mode":"relea | 00020900:·696f·6e2d·6d6f·6465·223a·2272·656c·6561··ion-mode":"relea | ||
| 00020910:·7365·222c·2268·6173·2d63·6865·636b·7375··se","has-checksu | 00020910:·7365·222c·2268·6173·2d63·6865·636b·7375··se","has-checksu | ||
| 00020920:·6d73·223a·6661·6c73·652c·226d·696e·2d61··ms":false,"min-a | 00020920:·6d73·223a·6661·6c73·652c·226d·696e·2d61··ms":false,"min-a | ||
| 00020930:·7069·223a·3330·2c22·7067·2d6d·6170·2d69··pi":30,"pg-map-i | 00020930:·7069·223a·3330·2c22·7067·2d6d·6170·2d69··pi":30,"pg-map-i | ||
| 00020940:·6422·3a22·3764·3766·3930·6622·2c22·7665··d":"7d7f90f","ve | 00020940:·6422·3a22·3764·3766·3930·6622·2c22·7665··d":"7d7f90f","ve | ||
| 00020950:·7273·696f·6e22·3a22·322e·312e·372d·723 | 00020950:·7273·696f·6e22·3a22·322e·312e·372d·7233··rsion":"2.1.7-r3 | ||
| 00020960:·227d·0002·af02·01b8·0d18·5e02·b102·02f5··"}........^..... | 00020960:·227d·0002·af02·01b8·0d18·5e02·b102·02f5··"}........^..... | ||
| 00020970:·0604·00b0·0b1e·02b3·0201·b80d·1c04·374a··..............7J | 00020970:·0604·00b0·0b1e·02b3·0201·b80d·1c04·374a··..............7J | ||
| 00020980:·0237·4601·3755·0117·6902·b302·01b8·0d1c··.7F.7U..i....... | 00020980:·0237·4601·3755·0117·6902·b302·01b8·0d1c··.7F.7U..i....... | ||
| 00020990:·0337·4601·3755·0117·6900·0b01·b80d·1c01··.7F.7U..i....... | 00020990:·0337·4601·3755·0117·6900·0b01·b80d·1c01··.7F.7U..i....... | ||
| 000209a0:·1785·02b3·0201·b80d·1c06·1728·374f·0237··...........(7O.7 | 000209a0:·1785·02b3·0201·b80d·1c06·1728·374f·0237··...........(7O.7 | ||
| 000209b0:·3c01·376e·0237·5501·176a·02af·0201·b80d··<.7n.7U..j...... | 000209b0:·3c01·376e·0237·5501·176a·02af·0201·b80d··<.7n.7U..j...... | ||
| 000209c0:·1863·02b3·0201·b80d·1c04·374a·0237·4601··.c........7J.7F. | 000209c0:·1863·02b3·0201·b80d·1c04·374a·0237·4601··.c........7J.7F. |
| Offset 1, 12 lines modified | Offset 1, 12 lines modified | ||
| 1 | Manifest-Version:·1.0\xd | 1 | Manifest-Version:·1.0\xd |
| 2 | Created-By:·soong_zip\xd | 2 | Created-By:·soong_zip\xd |
| 3 | \xd | 3 | \xd |
| 4 | Name:·AndroidManifest.xml\xd | 4 | Name:·AndroidManifest.xml\xd |
| 5 | SHA-256-Digest:· | 5 | SHA-256-Digest:·9fqSZDQ4fTcqt2bKHslKwRkklcadH+9koyDxwvyR8vI=\xd |
| 6 | \xd | 6 | \xd |
| 7 | Name:·META-INF/androidx.activity_activity.version\xd | 7 | Name:·META-INF/androidx.activity_activity.version\xd |
| 8 | SHA-256-Digest:·xz+m3R8eN7+R2i0GPdiN0mdjZIprRweAsI2x/eS0FUc=\xd | 8 | SHA-256-Digest:·xz+m3R8eN7+R2i0GPdiN0mdjZIprRweAsI2x/eS0FUc=\xd |
| 9 | \xd | 9 | \xd |
| 10 | Name:·META-INF/androidx.arch.core_core-runtime.version\xd | 10 | Name:·META-INF/androidx.arch.core_core-runtime.version\xd |
| 11 | SHA-256-Digest:·WGhAFSfUNZxPdHzBoS8USnnSOWmxlIzVAhsq/Qc8d3Y=\xd | 11 | SHA-256-Digest:·WGhAFSfUNZxPdHzBoS8USnnSOWmxlIzVAhsq/Qc8d3Y=\xd |
| 12 | \xd | 12 | \xd |
| Offset 85, 19 lines modified | Offset 85, 16 lines modified | ||
| 85 | \xd | 85 | \xd |
| 86 | Name:·META-INF/androidx.viewpager_viewpager.version\xd | 86 | Name:·META-INF/androidx.viewpager_viewpager.version\xd |
| 87 | SHA-256-Digest:·wVwueMje4MuWGduylY6MPUJVWRbNN5syBnZiEg6rKdA=\xd | 87 | SHA-256-Digest:·wVwueMje4MuWGduylY6MPUJVWRbNN5syBnZiEg6rKdA=\xd |
| 88 | \xd | 88 | \xd |
| 89 | Name:·META-INF/proguard/androidx-annotations.pro\xd | 89 | Name:·META-INF/proguard/androidx-annotations.pro\xd |
| 90 | SHA-256-Digest:·M/eLd9AzF+l12cP2AYORDIyrIrDy2h+TQrjFnXW8IP8=\xd | 90 | SHA-256-Digest:·M/eLd9AzF+l12cP2AYORDIyrIrDy2h+TQrjFnXW8IP8=\xd |
| 91 | \xd | 91 | \xd |
| 92 | Name:·assets/NOTICE.html.gz\xd |  | |
| 93 | SHA-256-Digest:·52hJZT3+tMsgwLlQX9FSVmqmpGROspBEi0p5pGtLwwE=\xd |  | |
| 94 | \xd | Â | |
| 95 | Name:·classes.dex\xd | 92 | Name:·classes.dex\xd |
| 96 | SHA-256-Digest:· | 93 | SHA-256-Digest:·b/b/HkoJ9W8/WPQVBASYT+rOoGBYQP/wgt0F6kyCXoE=\xd |
| 97 | \xd | 94 | \xd |
| 98 | Name:·res/anim-v21/fragment_fast_out_extra_slow_in.xml\xd | 95 | Name:·res/anim-v21/fragment_fast_out_extra_slow_in.xml\xd |
| 99 | SHA-256-Digest:·I2mH6G9DBPQCAwkhrZOzHoryzGmfPlTv1iKPr1LEqnY=\xd | 96 | SHA-256-Digest:·I2mH6G9DBPQCAwkhrZOzHoryzGmfPlTv1iKPr1LEqnY=\xd |
| 100 | \xd | 97 | \xd |
| 101 | Name:·res/anim/fragment_close_enter.xml\xd | 98 | Name:·res/anim/fragment_close_enter.xml\xd |
| 102 | SHA-256-Digest:·cnnjmIh0RI20b2sdQmQUSeiaZDvc96rBqNlbu+4U9yg=\xd | 99 | SHA-256-Digest:·cnnjmIh0RI20b2sdQmQUSeiaZDvc96rBqNlbu+4U9yg=\xd |
| 103 | \xd | 100 | \xd |
| Offset 229, 10 lines modified | Offset 226, 7 lines modified | ||
| 229 | \xd | 226 | \xd |
| 230 | Name:·res/xml/network_security_config.xml\xd | 227 | Name:·res/xml/network_security_config.xml\xd |
| 231 | SHA-256-Digest:·PgVIwFDXfVtWeb9sAmvDG8mOlTg6AUyoZYpu/3VfWfY=\xd | 228 | SHA-256-Digest:·PgVIwFDXfVtWeb9sAmvDG8mOlTg6AUyoZYpu/3VfWfY=\xd |
| 232 | \xd | 229 | \xd |
| 233 | Name:·resources.arsc\xd | 230 | Name:·resources.arsc\xd |
| 234 | SHA-256-Digest:·X3g020yoUxpJxj8wIxfcf+KxWBD4qGyfE8H0DXInyYI=\xd | 231 | SHA-256-Digest:·X3g020yoUxpJxj8wIxfcf+KxWBD4qGyfE8H0DXInyYI=\xd |
| 235 | \xd | 232 | \xd |
| 236 | Name:·stamp-cert-sha256\xd |  | |
| 237 | SHA-256-Digest:·HZwqAqk4Fv9ceuZPmq0Cwj3kncUUYg2xp61iTSqDZ5w=\xd |  | |
| 238 | \xd | Â | |
| Offset 1, 14 lines modified | Offset 1, 14 lines modified | ||
| 1 | Signature-Version:·1.0\xd | 1 | Signature-Version:·1.0\xd |
| 2 | Created-By:·1.0·(Android·SignApk)\xd | 2 | Created-By:·1.0·(Android·SignApk)\xd |
| 3 | SHA-256-Digest-Manifest:· | 3 | SHA-256-Digest-Manifest:·0ZjbR75OLiHIx6Gci9VvE4NGeHsCUxGGxTfUroN7/So=\xd |
| 4 | X-Android-APK-Signed:·2,·3\xd | 4 | X-Android-APK-Signed:·2,·3\xd |
| 5 | \xd | 5 | \xd |
| 6 | Name:·AndroidManifest.xml\xd | 6 | Name:·AndroidManifest.xml\xd |
| 7 | SHA-256-Digest:· | 7 | SHA-256-Digest:·/Kh2lEsrgPvuVu4NTKlN0Vonoz70UEO6hOP+QpJ7h3Y=\xd |
| 8 | \xd | 8 | \xd |
| 9 | Name:·META-INF/androidx.activity_activity.version\xd | 9 | Name:·META-INF/androidx.activity_activity.version\xd |
| 10 | SHA-256-Digest:·AQ3Pd00eOa/ToZfN1dppTDwv3ByVeOmdQMPQvJ0OEVc=\xd | 10 | SHA-256-Digest:·AQ3Pd00eOa/ToZfN1dppTDwv3ByVeOmdQMPQvJ0OEVc=\xd |
| 11 | \xd | 11 | \xd |
| 12 | Name:·META-INF/androidx.arch.core_core-runtime.version\xd | 12 | Name:·META-INF/androidx.arch.core_core-runtime.version\xd |
| 13 | SHA-256-Digest:·tYyn5dB58gBNXy2LVbjREtp2J39iyiJ1CCjJ/3hfnvc=\xd | 13 | SHA-256-Digest:·tYyn5dB58gBNXy2LVbjREtp2J39iyiJ1CCjJ/3hfnvc=\xd |
| 14 | \xd | 14 | \xd |
| Offset 87, 19 lines modified | Offset 87, 16 lines modified | ||
| 87 | \xd | 87 | \xd |
| 88 | Name:·META-INF/androidx.viewpager_viewpager.version\xd | 88 | Name:·META-INF/androidx.viewpager_viewpager.version\xd |
| 89 | SHA-256-Digest:·mXZnQ9FaOiO1QhYONAVDHj4k5AgBLDByoIrjA8x1qtg=\xd | 89 | SHA-256-Digest:·mXZnQ9FaOiO1QhYONAVDHj4k5AgBLDByoIrjA8x1qtg=\xd |
| 90 | \xd | 90 | \xd |
| 91 | Name:·META-INF/proguard/androidx-annotations.pro\xd | 91 | Name:·META-INF/proguard/androidx-annotations.pro\xd |
| 92 | SHA-256-Digest:·z4VPeB3xyX+1oqubmSAZIacjNrmoTsLyFuu+ubl7+m4=\xd | 92 | SHA-256-Digest:·z4VPeB3xyX+1oqubmSAZIacjNrmoTsLyFuu+ubl7+m4=\xd |
| 93 | \xd | 93 | \xd |
| 94 | Name:·assets/NOTICE.html.gz\xd |  | |
| 95 | SHA-256-Digest:·nHH3wiYB9ILCun7yDB5QXSXDnQfWjGQnATEWgbx+/5k=\xd |  | |
| 96 | \xd | Â | |
| 97 | Name:·classes.dex\xd | 94 | Name:·classes.dex\xd |
| 98 | SHA-256-Digest:· | 95 | SHA-256-Digest:·XyQsGpAxMYHYSxso4rUNgQWjyPYpUlIP3O9XtR7p8S4=\xd |
| 99 | \xd | 96 | \xd |
| 100 | Name:·res/anim-v21/fragment_fast_out_extra_slow_in.xml\xd | 97 | Name:·res/anim-v21/fragment_fast_out_extra_slow_in.xml\xd |
| 101 | SHA-256-Digest:·Rw5L5YmiyI39wrLraJFEMIg+GM/gEUozJv3cZ98ln2U=\xd | 98 | SHA-256-Digest:·Rw5L5YmiyI39wrLraJFEMIg+GM/gEUozJv3cZ98ln2U=\xd |
| 102 | \xd | 99 | \xd |
| 103 | Name:·res/anim/fragment_close_enter.xml\xd | 100 | Name:·res/anim/fragment_close_enter.xml\xd |
| 104 | SHA-256-Digest:·rm0C3Yl3nUSWYxFZOsNmCIhd8FAS7M0kEOy2aoaiEes=\xd | 101 | SHA-256-Digest:·rm0C3Yl3nUSWYxFZOsNmCIhd8FAS7M0kEOy2aoaiEes=\xd |
| 105 | \xd | 102 | \xd |
| Offset 231, 10 lines modified | Offset 228, 7 lines modified | ||
| 231 | \xd | 228 | \xd |
| 232 | Name:·res/xml/network_security_config.xml\xd | 229 | Name:·res/xml/network_security_config.xml\xd |
| 233 | SHA-256-Digest:·vT7Xxi2qJezzwgH1Dam2RnLfkmNnmP/B+tZowXZBJqw=\xd | 230 | SHA-256-Digest:·vT7Xxi2qJezzwgH1Dam2RnLfkmNnmP/B+tZowXZBJqw=\xd |
| 234 | \xd | 231 | \xd |
| 235 | Name:·resources.arsc\xd | 232 | Name:·resources.arsc\xd |
| 236 | SHA-256-Digest:·YHehjk4wNw8iHDiwe7wqnytcbLaYarsI9lL1GdIgwP0=\xd | 233 | SHA-256-Digest:·YHehjk4wNw8iHDiwe7wqnytcbLaYarsI9lL1GdIgwP0=\xd |
| 237 | \xd | 234 | \xd |
| 238 | Name:·stamp-cert-sha256\xd |  | |
| 239 | SHA-256-Digest:·L0p4Bm/NGffFWX26fUKi8jlq3aKsfwyEBtSavY6F0c0=\xd |  | |
| 240 | \xd | Â | |
| Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
| Â | Â | ||
| 1 | ··Size:· | 1 | ··Size:·236890····»    Blocks:·464········IO·Block:·4096···regular·file |
| 2 | Links:·1 | 2 | Links:·1 |
| 3 | Access:·(0644/-rw-r--r--)··Uid:·(·1001/·····dev)···Gid:·(·1001/·····dev) | 3 | Access:·(0644/-rw-r--r--)··Uid:·(·1001/·····dev)···Gid:·(·1001/·····dev) |
| Â | Â | ||
| 4 | Modify:·1970-01-01·00:00:00.000000000·+0000 | 4 | Modify:·1970-01-01·00:00:00.000000000·+0000 |
| Â | Â | ||
| Â | Â | ||
| Offset 1, 4 lines modified | Offset 1, 4 lines modified | ||
| 1 | Zip·file·size:·67 | 1 | Zip·file·size:·679222·bytes,·number·of·entries:·2 |
| 2 | -rw----·····2.0·fat···67 | 2 | -rw----·····2.0·fat···678936·b-·stor·08-Jan-01·00:00·classes.dex |
| 3 | -rw----·····2.0·fat·······45·b-·defN·08-Jan-01·00:00·META-INF/MANIFEST.MF | 3 | -rw----·····2.0·fat·······45·b-·defN·08-Jan-01·00:00·META-INF/MANIFEST.MF |
| 4 | 2·files,·67 | 4 | 2·files,·678981·bytes·uncompressed,·678983·bytes·compressed:··0.0% |
| Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
| 1 | Zip·file·size:·90 | 1 | Zip·file·size:·910349·bytes,·number·of·entries:·527 |
| 2 | ?rwxrwxr-x··2.0·unx······462·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$Gsf5KUGneXzqwdBsuVbe0aqUmdQ.class | 2 | ?rwxrwxr-x··2.0·unx······462·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$Gsf5KUGneXzqwdBsuVbe0aqUmdQ.class |
| 3 | ?rwxrwxr-x··2.0·unx······436·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$O5kkps4d9X9Xr5DI8L3NlcZliu8.class | 3 | ?rwxrwxr-x··2.0·unx······436·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$O5kkps4d9X9Xr5DI8L3NlcZliu8.class |
| 4 | ?rwxrwxr-x··2.0·unx······729·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$WifiFrameworkInitializer$K4DpGPGObWI293pmRTuiEj5r-DE.class | 4 | ?rwxrwxr-x··2.0·unx······729·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$WifiFrameworkInitializer$K4DpGPGObWI293pmRTuiEj5r-DE.class |
| 5 | ?rwxrwxr-x··2.0·unx······690·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$WifiFrameworkInitializer$NhRsE1V-xfIYpVcOvGhb_9LK1o4.class | 5 | ?rwxrwxr-x··2.0·unx······690·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$WifiFrameworkInitializer$NhRsE1V-xfIYpVcOvGhb_9LK1o4.class |
| 6 | ?rwxrwxr-x··2.0·unx······679·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$WifiFrameworkInitializer$evN9sVM7TGOwMVxoJTGBCfu_880.class | 6 | ?rwxrwxr-x··2.0·unx······679·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$WifiFrameworkInitializer$evN9sVM7TGOwMVxoJTGBCfu_880.class |
| 7 | ?rwxrwxr-x··2.0·unx······729·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$WifiFrameworkInitializer$qxuZsnr_-ppKI2ad2pa3htyx2u0.class | 7 | ?rwxrwxr-x··2.0·unx······729·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$WifiFrameworkInitializer$qxuZsnr_-ppKI2ad2pa3htyx2u0.class |
| 8 | ?rwxrwxr-x··2.0·unx······736·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$WifiFrameworkInitializer$x3Vn05kArEY-A6R4yC4wjkP7XRY.class | 8 | ?rwxrwxr-x··2.0·unx······736·b-·stor·80-Jan-01·00:00·android/net/wifi/-$$Lambda$WifiFrameworkInitializer$x3Vn05kArEY-A6R4yC4wjkP7XRY.class |
| Offset 83, 23 lines modified | Offset 83, 23 lines modified | ||
| 83 | ?rwxrwxr-x··2.0·unx·····2319·b-·stor·80-Jan-01·00:00·android/net/wifi/RttManager$RttParams.class | 83 | ?rwxrwxr-x··2.0·unx·····2319·b-·stor·80-Jan-01·00:00·android/net/wifi/RttManager$RttParams.class |
| 84 | ?rwxrwxr-x··2.0·unx······982·b-·stor·80-Jan-01·00:00·android/net/wifi/RttManager$RttResult.class | 84 | ?rwxrwxr-x··2.0·unx······982·b-·stor·80-Jan-01·00:00·android/net/wifi/RttManager$RttResult.class |
| 85 | ?rwxrwxr-x··2.0·unx······202·b-·stor·80-Jan-01·00:00·android/net/wifi/RttManager$WifiInformationElement.class | 85 | ?rwxrwxr-x··2.0·unx······202·b-·stor·80-Jan-01·00:00·android/net/wifi/RttManager$WifiInformationElement.class |
| 86 | ?rwxrwxr-x··2.0·unx·····6988·b-·stor·80-Jan-01·00:00·android/net/wifi/RttManager.class | 86 | ?rwxrwxr-x··2.0·unx·····6988·b-·stor·80-Jan-01·00:00·android/net/wifi/RttManager.class |
| 87 | ?rwxrwxr-x··2.0·unx·····2485·b-·stor·80-Jan-01·00:00·android/net/wifi/ScanResult$1.class | 87 | ?rwxrwxr-x··2.0·unx·····2485·b-·stor·80-Jan-01·00:00·android/net/wifi/ScanResult$1.class |
| 88 | ?rwxrwxr-x··2.0·unx·····1404·b-·stor·80-Jan-01·00:00·android/net/wifi/ScanResult$InformationElement.class | 88 | ?rwxrwxr-x··2.0·unx·····1404·b-·stor·80-Jan-01·00:00·android/net/wifi/ScanResult$InformationElement.class |
| 89 | ?rwxrwxr-x··2.0·unx······865·b-·stor·80-Jan-01·00:00·android/net/wifi/ScanResult$RadioChainInfo.class | 89 | ?rwxrwxr-x··2.0·unx······865·b-·stor·80-Jan-01·00:00·android/net/wifi/ScanResult$RadioChainInfo.class |
| 90 | ?rwxrwxr-x··2.0·unx·····9 | 90 | ?rwxrwxr-x··2.0·unx·····9323·b-·stor·80-Jan-01·00:00·android/net/wifi/ScanResult.class |
| 91 | ?rwxrwxr-x··2.0·unx······756·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApCapability$1.class | 91 | ?rwxrwxr-x··2.0·unx······756·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApCapability$1.class |
| 92 | ?rwxrwxr-x··2.0·unx······140·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApCapability$HotspotFeatures.class | 92 | ?rwxrwxr-x··2.0·unx······140·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApCapability$HotspotFeatures.class |
| 93 | ?rwxrwxr-x··2.0·unx·····2013·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApCapability.class | 93 | ?rwxrwxr-x··2.0·unx·····2013·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApCapability.class |
| 94 | ?rwxrwxr-x··2.0·unx·····1361·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApConfiguration$1.class | 94 | ?rwxrwxr-x··2.0·unx·····1361·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApConfiguration$1.class |
| 95 | ?rwxrwxr-x··2.0·unx······136·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApConfiguration$BandType.class | 95 | ?rwxrwxr-x··2.0·unx······136·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApConfiguration$BandType.class |
| 96 | ?rwxrwxr-x··2.0·unx·····5025·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApConfiguration$Builder.class | 96 | ?rwxrwxr-x··2.0·unx·····5025·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApConfiguration$Builder.class |
| 97 | ?rwxrwxr-x··2.0·unx······140·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApConfiguration$SecurityType.class | 97 | ?rwxrwxr-x··2.0·unx······140·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApConfiguration$SecurityType.class |
| 98 | ?rwxrwxr-x··2.0·unx·····72 | 98 | ?rwxrwxr-x··2.0·unx·····7275·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApConfiguration.class |
| 99 | ?rwxrwxr-x··2.0·unx······709·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApInfo$1.class | 99 | ?rwxrwxr-x··2.0·unx······709·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApInfo$1.class |
| 100 | ?rwxrwxr-x··2.0·unx·····2038·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApInfo.class | 100 | ?rwxrwxr-x··2.0·unx·····2038·b-·stor·80-Jan-01·00:00·android/net/wifi/SoftApInfo.class |
| 101 | ?rwxrwxr-x··2.0·unx······715·b-·stor·80-Jan-01·00:00·android/net/wifi/SupplicantState$1.class | 101 | ?rwxrwxr-x··2.0·unx······715·b-·stor·80-Jan-01·00:00·android/net/wifi/SupplicantState$1.class |
| 102 | ?rwxrwxr-x··2.0·unx·····1532·b-·stor·80-Jan-01·00:00·android/net/wifi/SupplicantState$2.class | 102 | ?rwxrwxr-x··2.0·unx·····1532·b-·stor·80-Jan-01·00:00·android/net/wifi/SupplicantState$2.class |
| 103 | ?rwxrwxr-x··2.0·unx·····2669·b-·stor·80-Jan-01·00:00·android/net/wifi/SupplicantState.class | 103 | ?rwxrwxr-x··2.0·unx·····2669·b-·stor·80-Jan-01·00:00·android/net/wifi/SupplicantState.class |
| 104 | ?rwxrwxr-x··2.0·unx······297·b-·stor·80-Jan-01·00:00·android/net/wifi/SynchronousExecutor.class | 104 | ?rwxrwxr-x··2.0·unx······297·b-·stor·80-Jan-01·00:00·android/net/wifi/SynchronousExecutor.class |
| 105 | ?rwxrwxr-x··2.0·unx······133·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiAnnotations$Bandwidth.class | 105 | ?rwxrwxr-x··2.0·unx······133·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiAnnotations$Bandwidth.class |
| Offset 137, 15 lines modified | Offset 137, 15 lines modified | ||
| 137 | ?rwxrwxr-x··2.0·unx····23467·b-·defN·80-Jan-01·00:00·android/net/wifi/WifiConfiguration.class | 137 | ?rwxrwxr-x··2.0·unx····23467·b-·defN·80-Jan-01·00:00·android/net/wifi/WifiConfiguration.class |
| 138 | ?rwxrwxr-x··2.0·unx·····1753·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$1.class | 138 | ?rwxrwxr-x··2.0·unx·····1753·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$1.class |
| 139 | ?rwxrwxr-x··2.0·unx······681·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$Eap.class | 139 | ?rwxrwxr-x··2.0·unx······681·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$Eap.class |
| 140 | ?rwxrwxr-x··2.0·unx······133·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$Ocsp.class | 140 | ?rwxrwxr-x··2.0·unx······133·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$Ocsp.class |
| 141 | ?rwxrwxr-x··2.0·unx······714·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$Phase2.class | 141 | ?rwxrwxr-x··2.0·unx······714·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$Phase2.class |
| 142 | ?rwxrwxr-x··2.0·unx······167·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$SupplicantLoader.class | 142 | ?rwxrwxr-x··2.0·unx······167·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$SupplicantLoader.class |
| 143 | ?rwxrwxr-x··2.0·unx······167·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$SupplicantSaver.class | 143 | ?rwxrwxr-x··2.0·unx······167·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig$SupplicantSaver.class |
| 144 | ?rwxrwxr-x··2.0·unx····1 | 144 | ?rwxrwxr-x··2.0·unx····16540·b-·defN·80-Jan-01·00:00·android/net/wifi/WifiEnterpriseConfig.class |
| 145 | ?rwxrwxr-x··2.0·unx······522·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiFrameworkInitializer$NoPreloadHolder.class | 145 | ?rwxrwxr-x··2.0·unx······522·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiFrameworkInitializer$NoPreloadHolder.class |
| 146 | ?rwxrwxr-x··2.0·unx·····4509·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiFrameworkInitializer.class | 146 | ?rwxrwxr-x··2.0·unx·····4509·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiFrameworkInitializer.class |
| 147 | ?rwxrwxr-x··2.0·unx·····2646·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiInfo$1.class | 147 | ?rwxrwxr-x··2.0·unx·····2646·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiInfo$1.class |
| 148 | ?rwxrwxr-x··2.0·unx······942·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiInfo$Builder.class | 148 | ?rwxrwxr-x··2.0·unx······942·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiInfo$Builder.class |
| 149 | ?rwxrwxr-x··2.0·unx····11818·b-·defN·80-Jan-01·00:00·android/net/wifi/WifiInfo.class | 149 | ?rwxrwxr-x··2.0·unx····11818·b-·defN·80-Jan-01·00:00·android/net/wifi/WifiInfo.class |
| 150 | ?rwxrwxr-x··2.0·unx······148·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$ActionListener.class | 150 | ?rwxrwxr-x··2.0·unx······148·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$ActionListener.class |
| 151 | ?rwxrwxr-x··2.0·unx······147·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$ActionListenerFailureReason.class | 151 | ?rwxrwxr-x··2.0·unx······147·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$ActionListenerFailureReason.class |
| Offset 177, 19 lines modified | Offset 177, 19 lines modified | ||
| 177 | ?rwxrwxr-x··2.0·unx······247·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$WpsCallback.class | 177 | ?rwxrwxr-x··2.0·unx······247·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$WpsCallback.class |
| 178 | ?rwxrwxr-x··2.0·unx····42029·b-·defN·80-Jan-01·00:00·android/net/wifi/WifiManager.class | 178 | ?rwxrwxr-x··2.0·unx····42029·b-·defN·80-Jan-01·00:00·android/net/wifi/WifiManager.class |
| 179 | ?rwxrwxr-x··2.0·unx······814·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkAgentSpecifier$1.class | 179 | ?rwxrwxr-x··2.0·unx······814·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkAgentSpecifier$1.class |
| 180 | ?rwxrwxr-x··2.0·unx·····3114·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkAgentSpecifier.class | 180 | ?rwxrwxr-x··2.0·unx·····3114·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkAgentSpecifier.class |
| 181 | ?rwxrwxr-x··2.0·unx······717·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkConnectionStatistics$1.class | 181 | ?rwxrwxr-x··2.0·unx······717·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkConnectionStatistics$1.class |
| 182 | ?rwxrwxr-x··2.0·unx·····1156·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkConnectionStatistics.class | 182 | ?rwxrwxr-x··2.0·unx·····1156·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkConnectionStatistics.class |
| 183 | ?rwxrwxr-x··2.0·unx·····1045·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkSpecifier$1.class | 183 | ?rwxrwxr-x··2.0·unx·····1045·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkSpecifier$1.class |
| 184 | ?rwxrwxr-x··2.0·unx····· | 184 | ?rwxrwxr-x··2.0·unx·····6450·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkSpecifier$Builder.class |
| 185 | ?rwxrwxr-x··2.0·unx·····2843·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkSpecifier.class | 185 | ?rwxrwxr-x··2.0·unx·····2843·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkSpecifier.class |
| 186 | ?rwxrwxr-x··2.0·unx······991·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkSuggestion$1.class | 186 | ?rwxrwxr-x··2.0·unx······991·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkSuggestion$1.class |
| 187 | ?rwxrwxr-x··2.0·unx····· | 187 | ?rwxrwxr-x··2.0·unx·····8098·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkSuggestion$Builder.class |
| 188 | ?rwxrwxr-x··2.0·unx·····42 | 188 | ?rwxrwxr-x··2.0·unx·····4282·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiNetworkSuggestion.class |
| 189 | ?rwxrwxr-x··2.0·unx······166·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$ActionListener.class | 189 | ?rwxrwxr-x··2.0·unx······166·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$ActionListener.class |
| 190 | ?rwxrwxr-x··2.0·unx······247·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$BssidInfo.class | 190 | ?rwxrwxr-x··2.0·unx······247·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$BssidInfo.class |
| 191 | ?rwxrwxr-x··2.0·unx······275·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$ChannelSpec.class | 191 | ?rwxrwxr-x··2.0·unx······275·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$ChannelSpec.class |
| 192 | ?rwxrwxr-x··2.0·unx······624·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$HotlistSettings$1.class | 192 | ?rwxrwxr-x··2.0·unx······624·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$HotlistSettings$1.class |
| 193 | ?rwxrwxr-x··2.0·unx······574·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$HotlistSettings.class | 193 | ?rwxrwxr-x··2.0·unx······574·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$HotlistSettings.class |
| 194 | ?rwxrwxr-x··2.0·unx······344·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$ListenerWithExecutor.class | 194 | ?rwxrwxr-x··2.0·unx······344·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$ListenerWithExecutor.class |
| 195 | ?rwxrwxr-x··2.0·unx······764·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$OperationResult$1.class | 195 | ?rwxrwxr-x··2.0·unx······764·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$OperationResult$1.class |
| Offset 281, 18 lines modified | Offset 281, 18 lines modified | ||
| 281 | ?rwxrwxr-x··2.0·unx·····2354·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/omadm/XMLParser.class | 281 | ?rwxrwxr-x··2.0·unx·····2354·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/omadm/XMLParser.class |
| 282 | ?rwxrwxr-x··2.0·unx·····1979·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$1.class | 282 | ?rwxrwxr-x··2.0·unx·····1979·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$1.class |
| 283 | ?rwxrwxr-x··2.0·unx······913·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$CertificateCredential$1.class | 283 | ?rwxrwxr-x··2.0·unx······913·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$CertificateCredential$1.class |
| 284 | ?rwxrwxr-x··2.0·unx·····2327·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$CertificateCredential.class | 284 | ?rwxrwxr-x··2.0·unx·····2327·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$CertificateCredential.class |
| 285 | ?rwxrwxr-x··2.0·unx······855·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$SimCredential$1.class | 285 | ?rwxrwxr-x··2.0·unx······855·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$SimCredential$1.class |
| 286 | ?rwxrwxr-x··2.0·unx·····2742·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$SimCredential.class | 286 | ?rwxrwxr-x··2.0·unx·····2742·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$SimCredential.class |
| 287 | ?rwxrwxr-x··2.0·unx·····1102·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$UserCredential$1.class | 287 | ?rwxrwxr-x··2.0·unx·····1102·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$UserCredential$1.class |
| 288 | ?rwxrwxr-x··2.0·unx·····4 | 288 | ?rwxrwxr-x··2.0·unx·····4612·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential$UserCredential.class |
| 289 | ?rwxrwxr-x··2.0·unx·····9 | 289 | ?rwxrwxr-x··2.0·unx·····9241·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Credential.class |
| 290 | ?rwxrwxr-x··2.0·unx·····1574·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/HomeSp$1.class | 290 | ?rwxrwxr-x··2.0·unx·····1574·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/HomeSp$1.class |
| 291 | ?rwxrwxr-x··2.0·unx·····5 | 291 | ?rwxrwxr-x··2.0·unx·····5266·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/HomeSp.class |
| 292 | ?rwxrwxr-x··2.0·unx·····2153·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Policy$1.class | 292 | ?rwxrwxr-x··2.0·unx·····2153·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Policy$1.class |
| 293 | ?rwxrwxr-x··2.0·unx······949·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Policy$RoamingPartner$1.class | 293 | ?rwxrwxr-x··2.0·unx······949·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Policy$RoamingPartner$1.class |
| 294 | ?rwxrwxr-x··2.0·unx·····2602·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Policy$RoamingPartner.class | 294 | ?rwxrwxr-x··2.0·unx·····2602·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Policy$RoamingPartner.class |
| 295 | ?rwxrwxr-x··2.0·unx·····6832·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Policy.class | 295 | ?rwxrwxr-x··2.0·unx·····6832·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/Policy.class |
| 296 | ?rwxrwxr-x··2.0·unx·····1354·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/UpdateParameter$1.class | 296 | ?rwxrwxr-x··2.0·unx·····1354·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/UpdateParameter$1.class |
| 297 | ?rwxrwxr-x··2.0·unx·····6806·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/UpdateParameter.class | 297 | ?rwxrwxr-x··2.0·unx·····6806·b-·stor·80-Jan-01·00:00·android/net/wifi/hotspot2/pps/UpdateParameter.class |
| 298 | ?rwxrwxr-x··2.0·unx······379·b-·stor·80-Jan-01·00:00·android/net/wifi/p2p/IWifiP2pManager.class | 298 | ?rwxrwxr-x··2.0·unx······379·b-·stor·80-Jan-01·00:00·android/net/wifi/p2p/IWifiP2pManager.class |
| Offset 522, 8 lines modified | Offset 522, 8 lines modified | ||
| 522 | ?rwxrwxr-x··2.0·unx·····1233·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$SuggestionConnectionStatusListenerProxy.class | 522 | ?rwxrwxr-x··2.0·unx·····1233·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$SuggestionConnectionStatusListenerProxy.class |
| 523 | ?rwxrwxr-x··2.0·unx·····1576·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$TrafficStateCallbackProxy.class | 523 | ?rwxrwxr-x··2.0·unx·····1576·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$TrafficStateCallbackProxy.class |
| 524 | ?rwxrwxr-x··2.0·unx·····2903·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$WifiConnectedNetworkScorerProxy.class | 524 | ?rwxrwxr-x··2.0·unx·····2903·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiManager$WifiConnectedNetworkScorerProxy.class |
| 525 | ?rwxrwxr-x··2.0·unx······209·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$PnoScanListener.class | 525 | ?rwxrwxr-x··2.0·unx······209·b-·stor·80-Jan-01·00:00·android/net/wifi/WifiScanner$PnoScanListener.class |
| 526 | ?rwxrwxr-x··2.0·unx·····4791·b-·stor·80-Jan-01·00:00·android/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy.class | 526 | ?rwxrwxr-x··2.0·unx·····4791·b-·stor·80-Jan-01·00:00·android/net/wifi/aware/WifiAwareManager$WifiAwareDiscoverySessionCallbackProxy.class |
| 527 | ?rwxrwxr-x··2.0·unx·····1869·b-·stor·80-Jan-01·00:00·android/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy.class | 527 | ?rwxrwxr-x··2.0·unx·····1869·b-·stor·80-Jan-01·00:00·android/net/wifi/aware/WifiAwareManager$WifiAwareEventCallbackProxy.class |
| 528 | ?rwxrwxr-x··2.0·unx·····1317·b-·stor·80-Jan-01·00:00·android/net/wifi/rtt/WifiRttManager$1.class | 528 | ?rwxrwxr-x··2.0·unx·····1317·b-·stor·80-Jan-01·00:00·android/net/wifi/rtt/WifiRttManager$1.class |
| 529 | 527·files,·96 | 529 | 527·files,·965654·bytes·uncompressed,·810057·bytes·compressed:··16.1% |
| Offset 15, 18 lines modified | Offset 15, 19 lines modified | ||
| 15 | ····public·static·final·int·BAND_24_GHZ_FIRST_CH_NUM·=·1; | 15 | ····public·static·final·int·BAND_24_GHZ_FIRST_CH_NUM·=·1; |
| 16 | ····public·static·final·int·BAND_24_GHZ_LAST_CH_NUM·=·14; | 16 | ····public·static·final·int·BAND_24_GHZ_LAST_CH_NUM·=·14; |
| 17 | ····public·static·final·int·BAND_24_GHZ_START_FREQ_MHZ·=·2412; | 17 | ····public·static·final·int·BAND_24_GHZ_START_FREQ_MHZ·=·2412; |
| 18 | ····public·static·final·int·BAND_5_GHZ_END_FREQ_MHZ·=·5865; | 18 | ····public·static·final·int·BAND_5_GHZ_END_FREQ_MHZ·=·5865; |
| 19 | ····public·static·final·int·BAND_5_GHZ_FIRST_CH_NUM·=·32; | 19 | ····public·static·final·int·BAND_5_GHZ_FIRST_CH_NUM·=·32; |
| 20 | ····public·static·final·int·BAND_5_GHZ_LAST_CH_NUM·=·173; | 20 | ····public·static·final·int·BAND_5_GHZ_LAST_CH_NUM·=·173; |
| 21 | ····public·static·final·int·BAND_5_GHZ_START_FREQ_MHZ·=·5160; | 21 | ····public·static·final·int·BAND_5_GHZ_START_FREQ_MHZ·=·5160; |
| 22 | ····public·static·final·int·BAND_6_GHZ_END_FREQ_MHZ·=·71 | 22 | ····public·static·final·int·BAND_6_GHZ_END_FREQ_MHZ·=·7115; |
| 23 | ····public·static·final·int·BAND_6_GHZ_FIRST_CH_NUM·=·1; | 23 | ····public·static·final·int·BAND_6_GHZ_FIRST_CH_NUM·=·1; |
| 24 | ····public·static·final·int·BAND_6_GHZ_LAST_CH_NUM·=·233; | 24 | ····public·static·final·int·BAND_6_GHZ_LAST_CH_NUM·=·233; |
| 25 | ····public·static·final·int·BAND_6_GHZ_S | 25 | ····public·static·final·int·BAND_6_GHZ_OP_CLASS_136_CH_2_FREQ_MHZ·=·5935; |
|  | 26 | ····public·static·final·int·BAND_6_GHZ_START_FREQ_MHZ·=·5955; | |
| 26 | ····public·static·final·int·CHANNEL_WIDTH_160MHZ·=·3; | 27 | ····public·static·final·int·CHANNEL_WIDTH_160MHZ·=·3; |
| 27 | ····public·static·final·int·CHANNEL_WIDTH_20MHZ·=·0; | 28 | ····public·static·final·int·CHANNEL_WIDTH_20MHZ·=·0; |
| 28 | ····public·static·final·int·CHANNEL_WIDTH_40MHZ·=·1; | 29 | ····public·static·final·int·CHANNEL_WIDTH_40MHZ·=·1; |
| 29 | ····public·static·final·int·CHANNEL_WIDTH_80MHZ·=·2; | 30 | ····public·static·final·int·CHANNEL_WIDTH_80MHZ·=·2; |
| 30 | ····public·static·final·int·CHANNEL_WIDTH_80MHZ_PLUS_MHZ·=·4; | 31 | ····public·static·final·int·CHANNEL_WIDTH_80MHZ_PLUS_MHZ·=·4; |
| 31 | ····public·static·final·int·CIPHER_CCMP·=·3; | 32 | ····public·static·final·int·CIPHER_CCMP·=·3; |
| 32 | ····public·static·final·int·CIPHER_GCMP_256·=·4; | 33 | ····public·static·final·int·CIPHER_GCMP_256·=·4; |
| Offset 223, 57 lines modified | Offset 224, 73 lines modified | ||
| 223 | ················return·2484; | 224 | ················return·2484; |
| 224 | ············} | 225 | ············} |
| 225 | ············if·(n·>=·n4·&&·n·<=·n5)·{ | 226 | ············if·(n·>=·n4·&&·n·<=·n5)·{ |
| 226 | ················return·(n·-·1)·*·5·+·2412; | 227 | ················return·(n·-·1)·*·5·+·2412; |
| 227 | ············} | 228 | ············} |
| 228 | ············return·n3; | 229 | ············return·n3; |
| 229 | ········} | 230 | ········} |
| 230 | ········else·if·(n2·==·2)·{ |  | |
| 231 | ············if·(n·>=·32·&&·n·<=·173)·{ |  | |
| 232 | ················return·(n·-·32)·*·5·+·5160; |  | |
| 233 | ············} |  | |
| 234 | ············return·n3; |  | |
| 235 | ········} |  | |
| 236 | ········else·{ | 231 | ········else·{ |
| 237 | ············i | 232 | ············final·int·n6·=·2; |
|  | 233 | ············if·(n2·==·n6)·{ | |
|  | 234 | ················if·(n·>=·32·&&·n·<=·173)·{ | |
|  | 235 | ····················return·(n·-·32)·*·5·+·5160; | |
|  | 236 | ················} | |
| 238 | ················return·n3; | 237 | ················return·n3; |
| 239 | ············} | 238 | ············} |
| 240 | ············ | 239 | ············else·{ |
| 241 | ················ | 240 | ················if·(n2·!=·8)·{ |
|  | 241 | ····················return·n3; | |
|  | 242 | ················} | |
|  | 243 | ················if·(n·<·n4·||·n·>·233)·{ | |
|  | 244 | ····················return·n3; | |
|  | 245 | ················} | |
|  | 246 | ················if·(n·==·n6)·{ | |
|  | 247 | ····················return·5935; | |
|  | 248 | ················} | |
|  | 249 | ················return·(n·-·1)·*·5·+·5955; | |
| 242 | ············} | 250 | ············} |
| 243 | ············return·n3; |  | |
| 244 | ········} | 251 | ········} |
| 245 | ····} | 252 | ····} |
| 246 | ···· | 253 | ···· |
| 247 | ····public·static·int·convertFrequencyMhzToChannel(final·int·n)·{ | 254 | ····public·static·int·convertFrequencyMhzToChannel(final·int·n)·{ |
| 248 | ········if·(n·==·2484)·{ | 255 | ········if·(n·==·2484)·{ |
| 249 | ············return·14; | 256 | ············return·14; |
| 250 | ········} | 257 | ········} |
| 251 | ········if·(is24GHz(n))·{ | 258 | ········if·(is24GHz(n))·{ |
| 252 | ············return·(n·-·2412)·/·5·+·1; | 259 | ············return·(n·-·2412)·/·5·+·1; |
| 253 | ········} | 260 | ········} |
| 254 | ········if·(is5GHz(n))·{ | 261 | ········if·(is5GHz(n))·{ |
| 255 | ············return·(n·-·5160)·/·5·+·32; | 262 | ············return·(n·-·5160)·/·5·+·32; |
| 256 | ········} | 263 | ········} |
| 257 | ········if·(is6GHz(n))·{ | 264 | ········if·(!is6GHz(n))·{ |
| 258 | ············return· | 265 | ············return·-1; |
| 259 | ········} | 266 | ········} |
| 260 | ········ | 267 | ········if·(n·==·5935)·{ |
|  | 268 | ············return·2; | |
|  | 269 | ········} | |
|  | 270 | ········return·(n·-·5955)·/·5·+·1; | |
| 261 | ····} | 271 | ····} |
| 262 | ···· | 272 | ···· |
| 263 | ····public·static·boolean·is24GHz(final·int·n)·{ | 273 | ····public·static·boolean·is24GHz(final·int·n)·{ |
| 264 | ········return·n·>=·2412·&&·n·<=·2484; | 274 | ········return·n·>=·2412·&&·n·<=·2484; |
| 265 | ····} | 275 | ····} |
| 266 | ···· | 276 | ···· |
| 267 | ····public·static·boolean·is5GHz(final·int·n)·{ | 277 | ····public·static·boolean·is5GHz(final·int·n)·{ |
| 268 | ········return·n·>=·5160·&&·n·<=·5865; | 278 | ········return·n·>=·5160·&&·n·<=·5865; |
| 269 | ····} | 279 | ····} |
| 270 | ···· | 280 | ···· |
| 271 | ····public·static·boolean·is6GHz(final·int·n)·{ | 281 | ····public·static·boolean·is6GHz(final·int·n)·{ |
| 272 | ········ | 282 | ········boolean·b·=·true; |
|  | 283 | ········if·(n·==·5935)·{ | |
|  | 284 | ············return·b; | |
|  | 285 | ········} | |
|  | 286 | ········if·(n·<·5955·||·n·>·7115)·{ | |
|  | 287 | ············b·=·false; | |
|  | 288 | ········} | |
|  | 289 | ········return·b; | |
| 273 | ····} | 290 | ····} |
| 274 | ···· | 291 | ···· |
| 275 | ····private·static·String·wifiStandardToString(final·int·n)·{ | 292 | ····private·static·String·wifiStandardToString(final·int·n)·{ |
| 276 | ········if·(n·==·0)·{ | 293 | ········if·(n·==·0)·{ |
| 277 | ············return·"unknown"; | 294 | ············return·"unknown"; |
| 278 | ········} | 295 | ········} |
| 279 | ········if·(n·==·1)·{ | 296 | ········if·(n·==·1)·{ |
| Offset 210, 45 lines modified | Offset 210, 46 lines modified | ||
| 210 | ········final·WifiConfiguration·wifiConfiguration·=·new·WifiConfiguration(); | 210 | ········final·WifiConfiguration·wifiConfiguration·=·new·WifiConfiguration(); |
| 211 | ········wifiConfiguration.SSID·=·this.mSsid; | 211 | ········wifiConfiguration.SSID·=·this.mSsid; |
| 212 | ········wifiConfiguration.preSharedKey·=·this.mPassphrase; | 212 | ········wifiConfiguration.preSharedKey·=·this.mPassphrase; |
| 213 | ········wifiConfiguration.hiddenSSID·=·this.mHiddenSsid; | 213 | ········wifiConfiguration.hiddenSSID·=·this.mHiddenSsid; |
| 214 | ········wifiConfiguration.apChannel·=·this.mChannel; | 214 | ········wifiConfiguration.apChannel·=·this.mChannel; |
| 215 | ········final·int·mSecurityType·=·this.mSecurityType; | 215 | ········final·int·mSecurityType·=·this.mSecurityType; |
| 216 | ········final·String·s·=·"SoftApConfiguration"; | 216 | ········final·String·s·=·"SoftApConfiguration"; |
|  | 217 | ········final·int·n·=·2; | |
| 217 | ········final·boolean·apBand·=·true; | 218 | ········final·boolean·apBand·=·true; |
| 218 | ········if·(mSecurityType·!=·0)·{ | 219 | ········if·(mSecurityType·!=·0)·{ |
| 219 | ············if·(mSecurityType·!=·(apBand·?·1·:·0))·{ | 220 | ············if·(mSecurityType·!=·(apBand·?·1·:·0)·&&·mSecurityType·!=·n)·{ |
| 220 | ················final·StringBuilder·sb·=·new·StringBuilder(); | 221 | ················final·StringBuilder·sb·=·new·StringBuilder(); |
| 221 | ················sb.append("Convert·fail,·unsupported·security·type·:"); | 222 | ················sb.append("Convert·fail,·unsupported·security·type·:"); |
| 222 | ················sb.append(this.mSecurityType); | 223 | ················sb.append(this.mSecurityType); |
| 223 | ················Log.e(s,·sb.toString()); | 224 | ················Log.e(s,·sb.toString()); |
| 224 | ················return·null; | 225 | ················return·null; |
| 225 | ············} | 226 | ············} |
| 226 | ············wifiConfiguration.allowedKeyManagement.set(4); | 227 | ············wifiConfiguration.allowedKeyManagement.set(4); |
| 227 | ········} | 228 | ········} |
| 228 | ········else·{ | 229 | ········else·{ |
| 229 | ············wifiConfiguration.allowedKeyManagement.set(0); | 230 | ············wifiConfiguration.allowedKeyManagement.set(0); |
| 230 | ········} | 231 | ········} |
| 231 | ········final·int·mBand·=·this.mBand; | 232 | ········final·int·mBand·=·this.mBand; |
| 232 | ········if·(mBand·!=·(apBand·?·1·:·0))·{ | 233 | ········if·(mBand·!=·(apBand·?·1·:·0))·{ |
| 233 | ············if·(mBand·!=· | 234 | ············if·(mBand·!=·n)·{ |
| 234 | ················final·int·n·=·3; | 235 | ················final·int·n2·=·3; |
| 235 | ················final·int·n | 236 | ················final·int·n3·=·-1; |
| 236 | ················if·(mBand·!=·n)·{ | 237 | ················if·(mBand·!=·n2)·{ |
| 237 | ····················if·(mBand·!=·7)·{ | 238 | ····················if·(mBand·!=·7)·{ |
| 238 | ························final·StringBuilder·sb2·=·new·StringBuilder(); | 239 | ························final·StringBuilder·sb2·=·new·StringBuilder(); |
| 239 | ························sb2.append("Convert·fail,·unsupported·band·setting·:"); | 240 | ························sb2.append("Convert·fail,·unsupported·band·setting·:"); |
| 240 | ························sb2.append(this.mBand); | 241 | ························sb2.append(this.mBand); |
| 241 | ························Log.e(s,·sb2.toString()); | 242 | ························Log.e(s,·sb2.toString()); |
| 242 | ························return·null; | 243 | ························return·null; |
| 243 | ····················} | 244 | ····················} |
| 244 | ····················wifiConfiguration.apBand·=·n | 245 | ····················wifiConfiguration.apBand·=·n3; |
| 245 | ················} | 246 | ················} |
| 246 | ················else·{ | 247 | ················else·{ |
| 247 | ····················wifiConfiguration.apBand·=·n | 248 | ····················wifiConfiguration.apBand·=·n3; |
| 248 | ················} | 249 | ················} |
| 249 | ············} | 250 | ············} |
| 250 | ············else·{ | 251 | ············else·{ |
| 251 | ················wifiConfiguration.apBand·=·(apBand·?·1·:·0); | 252 | ················wifiConfiguration.apBand·=·(apBand·?·1·:·0); |
| 252 | ············} | 253 | ············} |
| 253 | ········} | 254 | ········} |
| 254 | ········else·{ | 255 | ········else·{ |
| Offset 1, 12 lines modified | Offset 1, 15 lines modified | ||
| Â | Â | ||
| 1 | package·android.net.wifi; | 1 | package·android.net.wifi; |
| Â | Â | ||
| 2 | import·java.util.Map; | 2 | import·java.util.Map; |
| 3 | import·android.os.Parcel; | 3 | import·android.os.Parcel; |
|  | 4 | import·java.security.spec.ECParameterSpec; | |
|  | 5 | import·java.security.interfaces.ECPublicKey; | |
|  | 6 | import·java.security.interfaces.RSAPublicKey; | |
| 4 | import·android.util.Log; | 7 | import·android.util.Log; |
| 5 | import·java.nio.charset.StandardCharsets; | 8 | import·java.nio.charset.StandardCharsets; |
| 6 | import·java.util.Iterator; | 9 | import·java.util.Iterator; |
| 7 | import·android.text.TextUtils; | 10 | import·android.text.TextUtils; |
| 8 | import·java.util.Arrays; | 11 | import·java.util.Arrays; |
| 9 | import·java.util.HashMap; | 12 | import·java.util.HashMap; |
| 10 | import·java.security.PrivateKey; | 13 | import·java.security.PrivateKey; |
| Offset 206, 14 lines modified | Offset 209, 38 lines modified | ||
| 206 | ········final·StringBuilder·sb2·=·new·StringBuilder(); | 209 | ········final·StringBuilder·sb2·=·new·StringBuilder(); |
| 207 | ········sb2.append("mPhase2Method·is·invald·for·WiFi·enterprise·configuration:·"); | 210 | ········sb2.append("mPhase2Method·is·invald·for·WiFi·enterprise·configuration:·"); |
| 208 | ········sb2.append(this.mPhase2Method); | 211 | ········sb2.append(this.mPhase2Method); |
| 209 | ········Log.e(s,·sb2.toString()); | 212 | ········Log.e(s,·sb2.toString()); |
| 210 | ········return·false; | 213 | ········return·false; |
| 211 | ····} | 214 | ····} |
| 212 | ···· | 215 | ···· |
|  | 216 | ····public·static·boolean·isSuiteBCipherCert(final·X509Certificate·x509Certificate)·{ | |
|  | 217 | ········if·(x509Certificate·==·null)·{ | |
|  | 218 | ············return·false; | |
|  | 219 | ········} | |
|  | 220 | ········final·String·sigAlgOID·=·x509Certificate.getSigAlgOID(); | |
|  | 221 | ········final·boolean·equals·=·sigAlgOID.equals("1.2.840.113549.1.1.12"); | |
|  | 222 | ········final·boolean·b·=·true; | |
|  | 223 | ········if·(equals)·{ | |
|  | 224 | ············if·(x509Certificate.getPublicKey()·instanceof·RSAPublicKey)·{ | |
|  | 225 | ················final·RSAPublicKey·rsaPublicKey·=·(RSAPublicKey)x509Certificate.getPublicKey(); | |
|  | 226 | ················if·(rsaPublicKey.getModulus()·!=·null·&&·rsaPublicKey.getModulus().bitLength()·>=·3072)·{ | |
|  | 227 | ····················return·b; | |
|  | 228 | ················} | |
|  | 229 | ············} | |
|  | 230 | ········} | |
|  | 231 | ········else·if·(sigAlgOID.equals("1.2.840.10045.4.3.3")·&&·x509Certificate.getPublicKey()·instanceof·ECPublicKey)·{ | |
|  | 232 | ············final·ECParameterSpec·params·=·((ECPublicKey)x509Certificate.getPublicKey()).getParams(); | |
|  | 233 | ············if·(params·!=·null·&&·params.getOrder()·!=·null·&&·params.getOrder().bitLength()·>=·384)·{ | |
|  | 234 | ················return·b; | |
|  | 235 | ············} | |
|  | 236 | ········} | |
|  | 237 | ········return·false; | |
|  | 238 | ····} | |
|  | 239 | ···· | |
| 213 | ····private·String·removeDoubleQuotes(final·String·s)·{ | 240 | ····private·String·removeDoubleQuotes(final·String·s)·{ |
| 214 | ········if·(TextUtils.isEmpty((CharSequence)s))·{ | 241 | ········if·(TextUtils.isEmpty((CharSequence)s))·{ |
| 215 | ············return·""; | 242 | ············return·""; |
| 216 | ········} | 243 | ········} |
| 217 | ········final·int·length·=·s.length(); | 244 | ········final·int·length·=·s.length(); |
| 218 | ········final·int·n·=·1; | 245 | ········final·int·n·=·1; |
| 219 | ········if·(length·>·n)·{ | 246 | ········if·(length·>·n)·{ |
| Offset 88, 44 lines modified | Offset 88, 66 lines modified | ||
| 88 | ········if·(this.mBssidPatternMatcher·==·null)·{ | 88 | ········if·(this.mBssidPatternMatcher·==·null)·{ |
| 89 | ············this.mBssidPatternMatcher·=·WifiNetworkSpecifier$Builder.MATCH_ALL_BSSID_PATTERN; | 89 | ············this.mBssidPatternMatcher·=·WifiNetworkSpecifier$Builder.MATCH_ALL_BSSID_PATTERN; |
| 90 | ········} | 90 | ········} |
| 91 | ····} | 91 | ····} |
| 92 | ···· | 92 | ···· |
| 93 | ····private·void·setSecurityParamsInWifiConfiguration(final·WifiConfiguration·wifiConfiguration)·{ | 93 | ····private·void·setSecurityParamsInWifiConfiguration(final·WifiConfiguration·wifiConfiguration)·{ |
| 94 | ········final·boolean·empty·=·TextUtils.isEmpty((CharSequence)this.mWpa2PskPassphrase); | 94 | ········final·boolean·empty·=·TextUtils.isEmpty((CharSequence)this.mWpa2PskPassphrase); |
|  | 95 | ········final·int·securityParams·=·2; | |
| 95 | ········final·String·s·=·"\""; | 96 | ········final·String·s·=·"\""; |
| 96 | ········if·(!empty)·{ | 97 | ········if·(!empty)·{ |
| 97 | ············wifiConfiguration.setSecurityParams( | 98 | ············wifiConfiguration.setSecurityParams(securityParams); |
| 98 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 99 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 99 | ············sb.append(s); | 100 | ············sb.append(s); |
| 100 | ············sb.append(this.mWpa2PskPassphrase); | 101 | ············sb.append(this.mWpa2PskPassphrase); |
| 101 | ············sb.append(s); | 102 | ············sb.append(s); |
| 102 | ············wifiConfiguration.preSharedKey·=·sb.toString(); | 103 | ············wifiConfiguration.preSharedKey·=·sb.toString(); |
| 103 | ········} | 104 | ········} |
| 104 | ········else·if·(!TextUtils.isEmpty((CharSequence)this.mWpa3SaePassphrase))·{ | 105 | ········else·if·(!TextUtils.isEmpty((CharSequence)this.mWpa3SaePassphrase))·{ |
| 105 | ············wifiConfiguration.setSecurityParams(4); | 106 | ············wifiConfiguration.setSecurityParams(4); |
| 106 | ············final·StringBuilder·sb2·=·new·StringBuilder(); | 107 | ············final·StringBuilder·sb2·=·new·StringBuilder(); |
| 107 | ············sb2.append(s); | 108 | ············sb2.append(s); |
| 108 | ············sb2.append(this.mWpa3SaePassphrase); | 109 | ············sb2.append(this.mWpa3SaePassphrase); |
| 109 | ············sb2.append(s); | 110 | ············sb2.append(s); |
| 110 | ············wifiConfiguration.preSharedKey·=·sb2.toString(); | 111 | ············wifiConfiguration.preSharedKey·=·sb2.toString(); |
| 111 | ········} | 112 | ········} |
| 112 | ········else·if·(this.mWpa2EnterpriseConfig·!=·null)·{ |  | |
| 113 | ············wifiConfiguration.setSecurityParams(3); |  | |
| 114 | ············wifiConfiguration.enterpriseConfig·=·this.mWpa2EnterpriseConfig; |  | |
| 115 | ········} |  | |
| 116 | ········else·if·(this.mWpa3EnterpriseConfig·!=·null)·{ |  | |
| 117 | ············wifiConfiguration.setSecurityParams(5); |  | |
| 118 | ············wifiConfiguration.enterpriseConfig·=·this.mWpa3EnterpriseConfig; |  | |
| 119 | ········} |  | |
| 120 | ········else·if·(this.mIsEnhancedOpen)·{ |  | |
| 121 | ············wifiConfiguration.setSecurityParams(6); |  | |
| 122 | ········} |  | |
| 123 | ········else·{ | 113 | ········else·{ |
| 124 | ············ | 114 | ············final·WifiEnterpriseConfig·mWpa2EnterpriseConfig·=·this.mWpa2EnterpriseConfig; |
|  | 115 | ············final·int·n·=·3; | |
|  | 116 | ············if·(mWpa2EnterpriseConfig·!=·null)·{ | |
|  | 117 | ················wifiConfiguration.setSecurityParams(n); | |
|  | 118 | ················wifiConfiguration.enterpriseConfig·=·this.mWpa2EnterpriseConfig; | |
|  | 119 | ············} | |
|  | 120 | ············else·{ | |
|  | 121 | ················final·WifiEnterpriseConfig·mWpa3EnterpriseConfig·=·this.mWpa3EnterpriseConfig; | |
|  | 122 | ················if·(mWpa3EnterpriseConfig·!=·null)·{ | |
|  | 123 | ····················final·int·eapMethod·=·mWpa3EnterpriseConfig.getEapMethod(); | |
|  | 124 | ····················final·int·securityParams2·=·5; | |
|  | 125 | ····················final·int·requirePmf·=·1; | |
|  | 126 | ····················if·(eapMethod·==·requirePmf·&&·WifiEnterpriseConfig.isSuiteBCipherCert(this.mWpa3EnterpriseConfig.getClientCertificate())·&&·WifiEnterpriseConfig.isSuiteBCipherCert(this.mWpa3EnterpriseConfig.getCaCertificate()))·{ | |
|  | 127 | ························wifiConfiguration.setSecurityParams(securityParams2); | |
|  | 128 | ····················} | |
|  | 129 | ····················else·{ | |
|  | 130 | ························wifiConfiguration.setSecurityParams(n); | |
|  | 131 | ························wifiConfiguration.allowedProtocols.set(requirePmf); | |
|  | 132 | ························wifiConfiguration.allowedPairwiseCiphers.set(securityParams); | |
|  | 133 | ························wifiConfiguration.allowedPairwiseCiphers.set(n); | |
|  | 134 | ························wifiConfiguration.allowedGroupCiphers.set(n); | |
|  | 135 | ························wifiConfiguration.allowedGroupCiphers.set(securityParams2); | |
|  | 136 | ························wifiConfiguration.requirePmf·=·(requirePmf·!=·0); | |
|  | 137 | ····················} | |
|  | 138 | ····················wifiConfiguration.enterpriseConfig·=·this.mWpa3EnterpriseConfig; | |
|  | 139 | ················} | |
|  | 140 | ················else·if·(this.mIsEnhancedOpen)·{ | |
|  | 141 | ····················wifiConfiguration.setSecurityParams(6); | |
|  | 142 | ················} | |
|  | 143 | ················else·{ | |
|  | 144 | ····················wifiConfiguration.setSecurityParams(0); | |
|  | 145 | ················} | |
|  | 146 | ············} | |
| 125 | ········} | 147 | ········} |
| 126 | ····} | 148 | ····} |
| 127 | ···· | 149 | ···· |
| 128 | ····private·void·validateSecurityParams()·{ | 150 | ····private·void·validateSecurityParams()·{ |
| 129 | ········final·int·n·=·0·+·(this.mIsEnhancedOpen·?·1·:·0); | 151 | ········final·int·n·=·0·+·(this.mIsEnhancedOpen·?·1·:·0); |
| 130 | ········final·boolean·empty·=·TextUtils.isEmpty((CharSequence)this.mWpa2PskPassphrase); | 152 | ········final·boolean·empty·=·TextUtils.isEmpty((CharSequence)this.mWpa2PskPassphrase); |
| 131 | ········final·int·n2·=·1; | 153 | ········final·int·n2·=·1; |
| Offset 87, 56 lines modified | Offset 87, 78 lines modified | ||
| 87 | ········this.mPasspointConfiguration.setCarrierId(this.mCarrierId); | 87 | ········this.mPasspointConfiguration.setCarrierId(this.mCarrierId); |
| 88 | ········this.mPasspointConfiguration.setMeteredOverride(wifiConfiguration.meteredOverride); | 88 | ········this.mPasspointConfiguration.setMeteredOverride(wifiConfiguration.meteredOverride); |
| 89 | ········return·wifiConfiguration; | 89 | ········return·wifiConfiguration; |
| 90 | ····} | 90 | ····} |
| 91 | ···· | 91 | ···· |
| 92 | ····private·void·setSecurityParamsInWifiConfiguration(final·WifiConfiguration·wifiConfiguration)·{ | 92 | ····private·void·setSecurityParamsInWifiConfiguration(final·WifiConfiguration·wifiConfiguration)·{ |
| 93 | ········final·boolean·empty·=·TextUtils.isEmpty((CharSequence)this.mWpa2PskPassphrase); | 93 | ········final·boolean·empty·=·TextUtils.isEmpty((CharSequence)this.mWpa2PskPassphrase); |
|  | 94 | ········final·int·securityParams·=·2; | |
| 94 | ········final·String·s·=·"\""; | 95 | ········final·String·s·=·"\""; |
| 95 | ········if·(!empty)·{ | 96 | ········if·(!empty)·{ |
| 96 | ············wifiConfiguration.setSecurityParams( | 97 | ············wifiConfiguration.setSecurityParams(securityParams); |
| 97 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 98 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 98 | ············sb.append(s); | 99 | ············sb.append(s); |
| 99 | ············sb.append(this.mWpa2PskPassphrase); | 100 | ············sb.append(this.mWpa2PskPassphrase); |
| 100 | ············sb.append(s); | 101 | ············sb.append(s); |
| 101 | ············wifiConfiguration.preSharedKey·=·sb.toString(); | 102 | ············wifiConfiguration.preSharedKey·=·sb.toString(); |
| 102 | ········} | 103 | ········} |
| 103 | ········else·if·(!TextUtils.isEmpty((CharSequence)this.mWpa3SaePassphrase))·{ | 104 | ········else·if·(!TextUtils.isEmpty((CharSequence)this.mWpa3SaePassphrase))·{ |
| 104 | ············wifiConfiguration.setSecurityParams(4); | 105 | ············wifiConfiguration.setSecurityParams(4); |
| 105 | ············final·StringBuilder·sb2·=·new·StringBuilder(); | 106 | ············final·StringBuilder·sb2·=·new·StringBuilder(); |
| 106 | ············sb2.append(s); | 107 | ············sb2.append(s); |
| 107 | ············sb2.append(this.mWpa3SaePassphrase); | 108 | ············sb2.append(this.mWpa3SaePassphrase); |
| 108 | ············sb2.append(s); | 109 | ············sb2.append(s); |
| 109 | ············wifiConfiguration.preSharedKey·=·sb2.toString(); | 110 | ············wifiConfiguration.preSharedKey·=·sb2.toString(); |
| 110 | ········} | 111 | ········} |
| 111 | ········else·if·(this.mWpa2EnterpriseConfig·!=·null)·{ |  | |
| 112 | ············wifiConfiguration.setSecurityParams(3); |  | |
| 113 | ············wifiConfiguration.enterpriseConfig·=·this.mWpa2EnterpriseConfig; |  | |
| 114 | ········} |  | |
| 115 | ········else·if·(this.mWpa3EnterpriseConfig·!=·null)·{ |  | |
| 116 | ············wifiConfiguration.setSecurityParams(5); |  | |
| 117 | ············wifiConfiguration.enterpriseConfig·=·this.mWpa3EnterpriseConfig; |  | |
| 118 | ········} |  | |
| 119 | ········else·if·(this.mIsEnhancedOpen)·{ |  | |
| 120 | ············wifiConfiguration.setSecurityParams(6); |  | |
| 121 | ········} |  | |
| 122 | ········else·if·(!TextUtils.isEmpty((CharSequence)this.mWapiPskPassphrase))·{ |  | |
| 123 | ············wifiConfiguration.setSecurityParams(7); |  | |
| 124 | ············final·StringBuilder·sb3·=·new·StringBuilder(); |  | |
| 125 | ············sb3.append(s); |  | |
| 126 | ············sb3.append(this.mWapiPskPassphrase); |  | |
| 127 | ············sb3.append(s); |  | |
| 128 | ············wifiConfiguration.preSharedKey·=·sb3.toString(); |  | |
| 129 | ········} |  | |
| 130 | ········else·if·(this.mWapiEnterpriseConfig·!=·null)·{ |  | |
| 131 | ············wifiConfiguration.setSecurityParams(8); |  | |
| 132 | ············wifiConfiguration.enterpriseConfig·=·this.mWapiEnterpriseConfig; |  | |
| 133 | ········} |  | |
| 134 | ········else·{ | 112 | ········else·{ |
| 135 | ············ | 113 | ············final·WifiEnterpriseConfig·mWpa2EnterpriseConfig·=·this.mWpa2EnterpriseConfig; |
|  | 114 | ············final·int·n·=·3; | |
|  | 115 | ············if·(mWpa2EnterpriseConfig·!=·null)·{ | |
|  | 116 | ················wifiConfiguration.setSecurityParams(n); | |
|  | 117 | ················wifiConfiguration.enterpriseConfig·=·this.mWpa2EnterpriseConfig; | |
|  | 118 | ············} | |
|  | 119 | ············else·{ | |
|  | 120 | ················final·WifiEnterpriseConfig·mWpa3EnterpriseConfig·=·this.mWpa3EnterpriseConfig; | |
|  | 121 | ················if·(mWpa3EnterpriseConfig·!=·null)·{ | |
|  | 122 | ····················final·int·eapMethod·=·mWpa3EnterpriseConfig.getEapMethod(); | |
|  | 123 | ····················final·int·securityParams2·=·5; | |
|  | 124 | ····················final·int·requirePmf·=·1; | |
|  | 125 | ····················if·(eapMethod·==·requirePmf·&&·WifiEnterpriseConfig.isSuiteBCipherCert(this.mWpa3EnterpriseConfig.getClientCertificate())·&&·WifiEnterpriseConfig.isSuiteBCipherCert(this.mWpa3EnterpriseConfig.getCaCertificate()))·{ | |
|  | 126 | ························wifiConfiguration.setSecurityParams(securityParams2); | |
|  | 127 | ····················} | |
|  | 128 | ····················else·{ | |
|  | 129 | ························wifiConfiguration.setSecurityParams(n); | |
|  | 130 | ························wifiConfiguration.allowedProtocols.set(requirePmf); | |
|  | 131 | ························wifiConfiguration.allowedPairwiseCiphers.set(securityParams); | |
|  | 132 | ························wifiConfiguration.allowedPairwiseCiphers.set(n); | |
|  | 133 | ························wifiConfiguration.allowedGroupCiphers.set(n); | |
|  | 134 | ························wifiConfiguration.allowedGroupCiphers.set(securityParams2); | |
|  | 135 | ························wifiConfiguration.requirePmf·=·(requirePmf·!=·0); | |
|  | 136 | ····················} | |
|  | 137 | ····················wifiConfiguration.enterpriseConfig·=·this.mWpa3EnterpriseConfig; | |
|  | 138 | ················} | |
|  | 139 | ················else·if·(this.mIsEnhancedOpen)·{ | |
|  | 140 | ····················wifiConfiguration.setSecurityParams(6); | |
|  | 141 | ················} | |
|  | 142 | ················else·if·(!TextUtils.isEmpty((CharSequence)this.mWapiPskPassphrase))·{ | |
|  | 143 | ····················wifiConfiguration.setSecurityParams(7); | |
|  | 144 | ····················final·StringBuilder·sb3·=·new·StringBuilder(); | |
|  | 145 | ····················sb3.append(s); | |
|  | 146 | ····················sb3.append(this.mWapiPskPassphrase); | |
|  | 147 | ····················sb3.append(s); | |
|  | 148 | ····················wifiConfiguration.preSharedKey·=·sb3.toString(); | |
|  | 149 | ················} | |
|  | 150 | ················else·if·(this.mWapiEnterpriseConfig·!=·null)·{ | |
|  | 151 | ····················wifiConfiguration.setSecurityParams(8); | |
|  | 152 | ····················wifiConfiguration.enterpriseConfig·=·this.mWapiEnterpriseConfig; | |
|  | 153 | ················} | |
|  | 154 | ················else·{ | |
|  | 155 | ····················wifiConfiguration.setSecurityParams(0); | |
|  | 156 | ················} | |
|  | 157 | ············} | |
| 136 | ········} | 158 | ········} |
| 137 | ····} | 159 | ····} |
| 138 | ···· | 160 | ···· |
| 139 | ····private·void·validateSecurityParams()·{ | 161 | ····private·void·validateSecurityParams()·{ |
| 140 | ········final·int·n·=·0·+·(this.mIsEnhancedOpen·?·1·:·0); | 162 | ········final·int·n·=·0·+·(this.mIsEnhancedOpen·?·1·:·0); |
| 141 | ········final·boolean·empty·=·TextUtils.isEmpty((CharSequence)this.mWpa2PskPassphrase); | 163 | ········final·boolean·empty·=·TextUtils.isEmpty((CharSequence)this.mWpa2PskPassphrase); |
| 142 | ········final·int·n2·=·1; | 164 | ········final·int·n2·=·1; |
| Offset 70, 14 lines modified | Offset 70, 17 lines modified | ||
| 70 | ········if·(this.wifiConfiguration.BSSID·==·null)·{ | 70 | ········if·(this.wifiConfiguration.BSSID·==·null)·{ |
| 71 | ············return·null; | 71 | ············return·null; |
| 72 | ········} | 72 | ········} |
| 73 | ········return·MacAddress.fromString(this.wifiConfiguration.BSSID); | 73 | ········return·MacAddress.fromString(this.wifiConfiguration.BSSID); |
| 74 | ····} | 74 | ····} |
| 75 | ···· | 75 | ···· |
| 76 | ····public·WifiEnterpriseConfig·getEnterpriseConfig()·{ | 76 | ····public·WifiEnterpriseConfig·getEnterpriseConfig()·{ |
|  | 77 | ········if·(!this.wifiConfiguration.isEnterprise())·{ | |
|  | 78 | ············return·null; | |
|  | 79 | ········} | |
| 77 | ········return·this.wifiConfiguration.enterpriseConfig; | 80 | ········return·this.wifiConfiguration.enterpriseConfig; |
| 78 | ····} | 81 | ····} |
| 79 | ···· | 82 | ···· |
| 80 | ····public·String·getPassphrase()·{ | 83 | ····public·String·getPassphrase()·{ |
| 81 | ········if·(this.wifiConfiguration.preSharedKey·==·null)·{ | 84 | ········if·(this.wifiConfiguration.preSharedKey·==·null)·{ |
| 82 | ············return·null; | 85 | ············return·null; |
| 83 | ········} | 86 | ········} |
| Offset 103, 14 lines modified | Offset 103, 18 lines modified | ||
| 103 | ········return·this.mPassword; | 103 | ········return·this.mPassword; |
| 104 | ····} | 104 | ····} |
| 105 | ···· | 105 | ···· |
| 106 | ····public·String·getSoftTokenApp()·{ | 106 | ····public·String·getSoftTokenApp()·{ |
| 107 | ········return·this.mSoftTokenApp; | 107 | ········return·this.mSoftTokenApp; |
| 108 | ····} | 108 | ····} |
| 109 | ···· | 109 | ···· |
|  | 110 | ····public·int·getUniqueId()·{ | |
|  | 111 | ········return·Objects.hash(this.mUsername); | |
|  | 112 | ····} | |
|  | 113 | ···· | |
| 110 | ····public·String·getUsername()·{ | 114 | ····public·String·getUsername()·{ |
| 111 | ········return·this.mUsername; | 115 | ········return·this.mUsername; |
| 112 | ····} | 116 | ····} |
| 113 | ···· | 117 | ···· |
| 114 | ····public·int·hashCode()·{ | 118 | ····public·int·hashCode()·{ |
| 115 | ········return·Objects.hash(this.mUsername,·this.mPassword,·this.mMachineManaged,·this.mSoftTokenApp,·this.mAbleToShare,·this.mEapType,·this.mNonEapInnerMethod); | 119 | ········return·Objects.hash(this.mUsername,·this.mPassword,·this.mMachineManaged,·this.mSoftTokenApp,·this.mAbleToShare,·this.mEapType,·this.mNonEapInnerMethod); |
| 116 | ····} | 120 | ····} |
| Offset 327, 15 lines modified | Offset 327, 28 lines modified | ||
| 327 | ····} | 327 | ····} |
| 328 | ···· | 328 | ···· |
| 329 | ····public·Credential$SimCredential·getSimCredential()·{ | 329 | ····public·Credential$SimCredential·getSimCredential()·{ |
| 330 | ········return·this.mSimCredential; | 330 | ········return·this.mSimCredential; |
| 331 | ····} | 331 | ····} |
| 332 | ···· | 332 | ···· |
| 333 | ····public·int·getUniqueId()·{ | 333 | ····public·int·getUniqueId()·{ |
| 334 | ········ | 334 | ········final·Object[]·array·=·new·Object[4]; |
|  | 335 | ········final·Credential$UserCredential·mUserCredential·=·this.mUserCredential; | |
|  | 336 | ········int·uniqueId; | |
|  | 337 | ········if·(mUserCredential·!=·null)·{ | |
|  | 338 | ············uniqueId·=·mUserCredential.getUniqueId(); | |
|  | 339 | ········} | |
|  | 340 | ········else·{ | |
|  | 341 | ············uniqueId·=·0; | |
|  | 342 | ········} | |
|  | 343 | ········array[0]·=·uniqueId; | |
|  | 344 | ········array[1]·=·this.mCertCredential; | |
|  | 345 | ········array[2]·=·this.mSimCredential; | |
|  | 346 | ········array[3]·=·this.mRealm; | |
|  | 347 | ········return·Objects.hash(array); | |
| 335 | ····} | 348 | ····} |
| 336 | ···· | 349 | ···· |
| 337 | ····public·Credential$UserCredential·getUserCredential()·{ | 350 | ····public·Credential$UserCredential·getUserCredential()·{ |
| 338 | ········return·this.mUserCredential; | 351 | ········return·this.mUserCredential; |
| 339 | ····} | 352 | ····} |
| 340 | ···· | 353 | ···· |
| 341 | ····public·int·hashCode()·{ | 354 | ····public·int·hashCode()·{ |
| Offset 157, 15 lines modified | Offset 157, 15 lines modified | ||
| 157 | ····} | 157 | ····} |
| 158 | ···· | 158 | ···· |
| 159 | ····public·long[]·getRoamingConsortiumOis()·{ | 159 | ····public·long[]·getRoamingConsortiumOis()·{ |
| 160 | ········return·this.mRoamingConsortiumOis; | 160 | ········return·this.mRoamingConsortiumOis; |
| 161 | ····} | 161 | ····} |
| 162 | ···· | 162 | ···· |
| 163 | ····public·int·getUniqueId()·{ | 163 | ····public·int·getUniqueId()·{ |
| 164 | ········return·Objects.hash(this.mFqdn | 164 | ········return·Objects.hash(this.mFqdn); |
| 165 | ····} | 165 | ····} |
| 166 | ···· | 166 | ···· |
| 167 | ····public·int·hashCode()·{ | 167 | ····public·int·hashCode()·{ |
| 168 | ········return·Objects.hash(this.mFqdn,·this.mFriendlyName,·this.mIconUrl,·this.mHomeNetworkIds,·Arrays.hashCode(this.mMatchAllOis),·Arrays.hashCode(this.mMatchAnyOis),·Arrays.hashCode(this.mOtherHomePartners),·Arrays.hashCode(this.mRoamingConsortiumOis)); | 168 | ········return·Objects.hash(this.mFqdn,·this.mFriendlyName,·this.mIconUrl,·this.mHomeNetworkIds,·Arrays.hashCode(this.mMatchAllOis),·Arrays.hashCode(this.mMatchAnyOis),·Arrays.hashCode(this.mOtherHomePartners),·Arrays.hashCode(this.mRoamingConsortiumOis)); |
| 169 | ····} | 169 | ····} |
| 170 | ···· | 170 | ···· |
| 171 | ····public·void·setFqdn(final·String·mFqdn)·{ | 171 | ····public·void·setFqdn(final·String·mFqdn)·{ |
| Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
| Â | Â | ||
| 1 | ··Size:·67 | 1 | ··Size:·679222····»    Blocks:·1328·······IO·Block:·4096···regular·file |
| 2 | Links:·1 | 2 | Links:·1 |
| 3 | Access:·(0644/-rw-r--r--)··Uid:·(·1001/·····dev)···Gid:·(·1001/·····dev) | 3 | Access:·(0644/-rw-r--r--)··Uid:·(·1001/·····dev)···Gid:·(·1001/·····dev) |
| Â | Â | ||
| 4 | Modify:·1970-01-01·00:00:00.000000000·+0000 | 4 | Modify:·1970-01-01·00:00:00.000000000·+0000 |
| Â | Â | ||
| Â | Â | ||
| Offset 1, 16 lines modified | Offset 1, 16 lines modified | ||
| 1 | Zip·file·size:·33 | 1 | Zip·file·size:·3371466·bytes,·number·of·entries:·14 |
| 2 | -rw----·····2.0·fat··33 | 2 | -rw----·····2.0·fat··3366784·b-·stor·08-Jan-01·00:00·classes.dex |
| 3 | -rw----·····2.0·fat·····1434·b-·defN·08-Jan-01·00:00·com/android/server/wifi/util/XmlUtilHelper.uau | 3 | -rw----·····2.0·fat·····1434·b-·defN·08-Jan-01·00:00·com/android/server/wifi/util/XmlUtilHelper.uau |
| 4 | -rw----·····2.0·fat·····2565·b-·defN·08-Jan-01·00:00·com/android/internal/util/StateMachine.uau | 4 | -rw----·····2.0·fat·····2565·b-·defN·08-Jan-01·00:00·com/android/internal/util/StateMachine.uau |
| 5 | -rw----·····2.0·fat······703·b-·defN·08-Jan-01·00:00·com/android/internal/util/State.uau | 5 | -rw----·····2.0·fat······703·b-·defN·08-Jan-01·00:00·com/android/internal/util/State.uau |
| 6 | -rw----·····2.0·fat······200·b-·defN·08-Jan-01·00:00·com/android/internal/util/IState.uau | 6 | -rw----·····2.0·fat······200·b-·defN·08-Jan-01·00:00·com/android/internal/util/IState.uau |
| 7 | -rw----·····2.0·fat······821·b-·defN·08-Jan-01·00:00·com/android/internal/util/HexDump.uau | 7 | -rw----·····2.0·fat······821·b-·defN·08-Jan-01·00:00·com/android/internal/util/HexDump.uau |
| 8 | -rw----·····2.0·fat······204·b-·defN·08-Jan-01·00:00·com/android/internal/util/FastXmlSerializer.uau | 8 | -rw----·····2.0·fat······204·b-·defN·08-Jan-01·00:00·com/android/internal/util/FastXmlSerializer.uau |
| 9 | -rw----·····2.0·fat······268·b-·defN·08-Jan-01·00:00·android/util/Rational.uau | 9 | -rw----·····2.0·fat······268·b-·defN·08-Jan-01·00:00·android/util/Rational.uau |
| 10 | -rw----·····2.0·fat······589·b-·defN·08-Jan-01·00:00·android/util/LocalLog.uau | 10 | -rw----·····2.0·fat······589·b-·defN·08-Jan-01·00:00·android/util/LocalLog.uau |
| 11 | -rw----·····2.0·fat······241·b-·defN·08-Jan-01·00:00·android/util/LocalLog.ReadOnlyLocalLog.uau | 11 | -rw----·····2.0·fat······241·b-·defN·08-Jan-01·00:00·android/util/LocalLog.ReadOnlyLocalLog.uau |
| 12 | -rw----·····2.0·fat·····1056·b-·defN·08-Jan-01·00:00·android/net/InterfaceConfiguration.uau | 12 | -rw----·····2.0·fat·····1056·b-·defN·08-Jan-01·00:00·android/net/InterfaceConfiguration.uau |
| 13 | -rw----·····2.0·fat·····1029·b-·defN·08-Jan-01·00:00·android/net/DhcpResults.uau | 13 | -rw----·····2.0·fat·····1029·b-·defN·08-Jan-01·00:00·android/net/DhcpResults.uau |
| 14 | -rw----·····2.0·fat······339·b-·defN·80-Feb-01·00:00·META-INF/proguard/androidx-annotations.pro | 14 | -rw----·····2.0·fat······339·b-·defN·80-Feb-01·00:00·META-INF/proguard/androidx-annotations.pro |
| 15 | -rw----·····2.0·fat·······45·b-·defN·08-Jan-01·00:00·META-INF/MANIFEST.MF | 15 | -rw----·····2.0·fat·······45·b-·defN·08-Jan-01·00:00·META-INF/MANIFEST.MF |
| 16 | 14·files,·33 | 16 | 14·files,·3376278·bytes·uncompressed,·3369431·bytes·compressed:··0.2% |
| Offset 1, 24 lines modified | Offset 1, 27 lines modified | ||
| 1 | Zip·file·size:·50 | 1 | Zip·file·size:·5036991·bytes,·number·of·entries:·2197 |
| 2 | ?rwxrwxr-x··2.0·unx······650·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ActiveModeWarden$-Plt3MFTYdXeWBuvNCn1gi-5J5k.class | 2 | ?rwxrwxr-x··2.0·unx······650·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ActiveModeWarden$-Plt3MFTYdXeWBuvNCn1gi-5J5k.class |
| 3 | ?rwxrwxr-x··2.0·unx······518·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ActiveModeWarden$S7UNguyF36djptgCPj9SyKz9CEc.class | 3 | ?rwxrwxr-x··2.0·unx······518·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ActiveModeWarden$S7UNguyF36djptgCPj9SyKz9CEc.class |
| 4 | ?rwxrwxr-x··2.0·unx······799·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ActiveModeWarden$WifiController$EnabledState$eY1NyossFk5pfRDLOy4YXG2Puwg.class | 4 | ?rwxrwxr-x··2.0·unx······799·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ActiveModeWarden$WifiController$EnabledState$eY1NyossFk5pfRDLOy4YXG2Puwg.class |
| 5 | ?rwxrwxr-x··2.0·unx······518·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ActiveModeWarden$xPvl3LCNSD6grhqXRhYeMKywknM.class | 5 | ?rwxrwxr-x··2.0·unx······518·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ActiveModeWarden$xPvl3LCNSD6grhqXRhYeMKywknM.class |
| 6 | ?rwxrwxr-x··2.0·unx······525·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$AvailableNetworkNotifier$8AuO976D3dRYxVBuKj3-nbzUsBo.class | 6 | ?rwxrwxr-x··2.0·unx······525·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$AvailableNetworkNotifier$8AuO976D3dRYxVBuKj3-nbzUsBo.class |
| 7 | ?rwxrwxr-x··2.0·unx······534·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$AvailableNetworkNotifier$CHSKQjmLyURyOXr7RtOrIJsg714.class | 7 | ?rwxrwxr-x··2.0·unx······534·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$AvailableNetworkNotifier$CHSKQjmLyURyOXr7RtOrIJsg714.class |
| 8 | ?rwxrwxr-x··2.0·unx······529·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$AvailableNetworkNotifier$S0FaoECCwNFCuGVJV69DPVdzyE8.class | 8 | ?rwxrwxr-x··2.0·unx······529·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$AvailableNetworkNotifier$S0FaoECCwNFCuGVJV69DPVdzyE8.class |
| 9 | ?rwxrwxr-x··2.0·unx······544·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BpQwyPJSlGcwCEF3EiaW_LaQafg.class | 9 | ?rwxrwxr-x··2.0·unx······544·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BpQwyPJSlGcwCEF3EiaW_LaQafg.class |
| 10 | ?rwxrwxr-x··2.0·unx······634·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$ | 10 | ?rwxrwxr-x··2.0·unx······634·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$5goGSdaC6NEACYS7wbOaLCCxYCY.class |
| 11 | ?rwxrwxr-x··2.0·unx······7 | 11 | ?rwxrwxr-x··2.0·unx······799·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$I2EPZj0K8dvxVGynj3cc2j_QR1s.class |
| 12 | ?rwxrwxr-x··2.0·unx······ | 12 | ?rwxrwxr-x··2.0·unx······624·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$Mg2ZjValmGZuzQbBHBGHCp_UiKY.class |
| 13 | ?rwxrwxr-x··2.0·unx······ | 13 | ?rwxrwxr-x··2.0·unx······626·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$Ncn6tOVItshIBiKzZ-r2SnBwnfw.class |
|  | 14 | ?rwxrwxr-x··2.0·unx······635·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$Sxk-cTBQCk_0SHkn4kYvzNh0-9I.class | |
| 14 | ?rwxrwxr-x··2.0·unx······704·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$Wx2244j75aKSsUaiYdSuFPxJmEU.class | 15 | ?rwxrwxr-x··2.0·unx······704·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$Wx2244j75aKSsUaiYdSuFPxJmEU.class |
| 15 | ?rwxrwxr-x··2.0·unx······626·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$ZVbr9oSV2aA_MGjIFf8LUK7Kz1E.class |  | |
| 16 | ?rwxrwxr-x··2.0·unx······614·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$cfg46GoDJ6ILu1wGH5C7DP5Bvdg.class | 16 | ?rwxrwxr-x··2.0·unx······614·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$cfg46GoDJ6ILu1wGH5C7DP5Bvdg.class |
| 17 | ?rwxrwxr-x··2.0·unx······7 | 17 | ?rwxrwxr-x··2.0·unx······741·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$dxai51gBeXZGiG3dnDxmTMvlzcM.class |
|  | 18 | ?rwxrwxr-x··2.0·unx······786·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$kGzSfU6wcZ_IZhPmnAT9ry9_M3s.class | |
|  | 19 | ?rwxrwxr-x··2.0·unx······731·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$n_aQ5ms9qITu5S1AT92r3rwlwxc.class | |
|  | 20 | ?rwxrwxr-x··2.0·unx······732·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$y10i9Sv7__b6uz6ooLuITOo4q3A.class | |
| 18 | ?rwxrwxr-x··2.0·unx······832·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ClientModeImpl$IbUjQnaBmVNI-BvvnQPJh9kmkyA.class | 21 | ?rwxrwxr-x··2.0·unx······832·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ClientModeImpl$IbUjQnaBmVNI-BvvnQPJh9kmkyA.class |
| 19 | ?rwxrwxr-x··2.0·unx······939·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ClientModeImpl$UqwcWQ6NIKhK7ZrHShOOP8sozLU.class | 22 | ?rwxrwxr-x··2.0·unx······939·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ClientModeImpl$UqwcWQ6NIKhK7ZrHShOOP8sozLU.class |
| 20 | ?rwxrwxr-x··2.0·unx······982·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ClientModeImpl$_eIoc6T_pU7yRPg6Ik6pD56TeJQ.class | 23 | ?rwxrwxr-x··2.0·unx······982·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ClientModeImpl$_eIoc6T_pU7yRPg6Ik6pD56TeJQ.class |
| 21 | ?rwxrwxr-x··2.0·unx······559·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ClientModeManager$DeferStopHandler$yfBTwuXIXS1-C8U6BWDCJmb8S-I.class | 24 | ?rwxrwxr-x··2.0·unx······559·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ClientModeManager$DeferStopHandler$yfBTwuXIXS1-C8U6BWDCJmb8S-I.class |
| 22 | ?rwxrwxr-x··2.0·unx······678·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ConnectionFailureNotifier$DisableMacRandomizationListener$RoKwT6JsS8vbwlXM0LujblsKOYc.class | 25 | ?rwxrwxr-x··2.0·unx······678·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$ConnectionFailureNotifier$DisableMacRandomizationListener$RoKwT6JsS8vbwlXM0LujblsKOYc.class |
| 23 | ?rwxrwxr-x··2.0·unx······500·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$DeviceConfigFacade$rCuYo2oFd8cyHlEcZd5yA5W_i3o.class | 26 | ?rwxrwxr-x··2.0·unx······500·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$DeviceConfigFacade$rCuYo2oFd8cyHlEcZd5yA5W_i3o.class |
| 24 | ?rwxrwxr-x··2.0·unx······583·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$DeviceConfigFacade$wAJxVlk0jgMV9iFawoPVNawKeF0.class | 27 | ?rwxrwxr-x··2.0·unx······583·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$DeviceConfigFacade$wAJxVlk0jgMV9iFawoPVNawKeF0.class |
| Offset 81, 23 lines modified | Offset 84, 27 lines modified | ||
| 81 | ?rwxrwxr-x··2.0·unx······723·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiConnectivityManager$axtJNPnNfJ9Q6ZyfvqnQxfGjodI.class | 84 | ?rwxrwxr-x··2.0·unx······723·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiConnectivityManager$axtJNPnNfJ9Q6ZyfvqnQxfGjodI.class |
| 82 | ?rwxrwxr-x··2.0·unx······646·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiContext$KmgE8v3oDz55T3JcUuIdnquqcaY.class | 85 | ?rwxrwxr-x··2.0·unx······646·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiContext$KmgE8v3oDz55T3JcUuIdnquqcaY.class |
| 83 | ?rwxrwxr-x··2.0·unx······612·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiContext$_OA9YqOqD1_8G9Pqayayt__5JWs.class | 86 | ?rwxrwxr-x··2.0·unx······612·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiContext$_OA9YqOqD1_8G9Pqayayt__5JWs.class |
| 84 | ?rwxrwxr-x··2.0·unx······631·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiLastResortWatchdog$4MYwLxpeilnv_wozgQJwO14f4Lo.class | 87 | ?rwxrwxr-x··2.0·unx······631·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiLastResortWatchdog$4MYwLxpeilnv_wozgQJwO14f4Lo.class |
| 85 | ?rwxrwxr-x··2.0·unx······610·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiLastResortWatchdog$X12eEHO2F-wCuBfeTuYZYFqOf58.class | 88 | ?rwxrwxr-x··2.0·unx······610·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiLastResortWatchdog$X12eEHO2F-wCuBfeTuYZYFqOf58.class |
| 86 | ?rwxrwxr-x··2.0·unx······516·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiLastResortWatchdog$qpsQqHtHjzIQhe33-ULY0AHn0oY.class | 89 | ?rwxrwxr-x··2.0·unx······516·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiLastResortWatchdog$qpsQqHtHjzIQhe33-ULY0AHn0oY.class |
| 87 | ?rwxrwxr-x··2.0·unx······572·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiLockManager$1$CkMHEvkkoNUZsaBQmCb9B-0F8lI.class | 90 | ?rwxrwxr-x··2.0·unx······572·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiLockManager$1$CkMHEvkkoNUZsaBQmCb9B-0F8lI.class |
| 88 | ?rwxrwxr-x··2.0·unx······676·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiMetrics$ | 91 | ?rwxrwxr-x··2.0·unx······676·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiMetrics$Zw6AplRlKCKiR1pApp0LiBzd_GI.class |
|  | 92 | ?rwxrwxr-x··2.0·unx······601·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiMetrics$gtlE7S-z8oAxhHJ_WaqIJsUzgAo.class | |
| 89 | ?rwxrwxr-x··2.0·unx······681·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNative$NetworkObserverInternal$x2MXZjJ72D1RHdyNl7XjvdO7CHI.class | 93 | ?rwxrwxr-x··2.0·unx······681·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNative$NetworkObserverInternal$x2MXZjJ72D1RHdyNl7XjvdO7CHI.class |
| 90 | ?rwxrwxr-x··2.0·unx······511·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$ | 94 | ?rwxrwxr-x··2.0·unx······511·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$ATGrMu-WJcTIB14_5MdpeoV7zeM.class |
|  | 95 | ?rwxrwxr-x··2.0·unx······484·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$B7dCsMWFkmdPXXMQ8ckXD6OoOz4.class | |
| 91 | ?rwxrwxr-x··2.0·unx······816·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkFactoryUserSelectionCallback$dR_8SWPminVWhl4XzfYZZwM_I0w.class | 96 | ?rwxrwxr-x··2.0·unx······816·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkFactoryUserSelectionCallback$dR_8SWPminVWhl4XzfYZZwM_I0w.class |
| 92 | ?rwxrwxr-x··2.0·unx······662·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkFactoryUserSelectionCallback$ghzGnrxKK2lkDhd7NYfPGo8Eqtk.class | 97 | ?rwxrwxr-x··2.0·unx······662·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkFactoryUserSelectionCallback$ghzGnrxKK2lkDhd7NYfPGo8Eqtk.class |
| 93 | ?rwxrwxr-x··2.0·unx······767·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkRequestDataSource$niPPNJRHBvsj23aFO7jUE_qSay0.class | 98 | ?rwxrwxr-x··2.0·unx······767·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkRequestDataSource$niPPNJRHBvsj23aFO7jUE_qSay0.class |
| 94 | ?rwxrwxr-x··2.0·unx······ | 99 | ?rwxrwxr-x··2.0·unx······654·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$PUH4U6q6mSks0iS0hsoeLIAea9Y.class |
| 95 | ?rwxrwxr-x··2.0·unx······666·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$kgmvViUSRQFBmgULiV_K6mdrFGI.class | 100 | ?rwxrwxr-x··2.0·unx······666·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$kgmvViUSRQFBmgULiV_K6mdrFGI.class |
|  | 101 | ?rwxrwxr-x··2.0·unx······599·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$uPA78n83TSspOaWHZLtCxZB_s7Y.class | |
| 96 | ?rwxrwxr-x··2.0·unx······689·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$uQTzBkFoCEwN-ndjhXTPHmeDMro.class | 102 | ?rwxrwxr-x··2.0·unx······689·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$uQTzBkFoCEwN-ndjhXTPHmeDMro.class |
|  | 103 | ?rwxrwxr-x··2.0·unx······669·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$zp-5HKBQD9pFgdsfos0zUbcOklM.class | |
| 97 | ?rwxrwxr-x··2.0·unx······732·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSelector$i5EINJjwfO6UwlIFCRSdi9_3VIQ.class | 104 | ?rwxrwxr-x··2.0·unx······732·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSelector$i5EINJjwfO6UwlIFCRSdi9_3VIQ.class |
| 98 | ?rwxrwxr-x··2.0·unx······803·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$3Qs-hyp8Qmek0MbgLXaCXp0e5k0.class | 105 | ?rwxrwxr-x··2.0·unx······803·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$3Qs-hyp8Qmek0MbgLXaCXp0e5k0.class |
| 99 | ?rwxrwxr-x··2.0·unx······746·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$3fzyAngjnzeRM_VuJmM5w0zIjNQ.class | 106 | ?rwxrwxr-x··2.0·unx······746·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$3fzyAngjnzeRM_VuJmM5w0zIjNQ.class |
| 100 | ?rwxrwxr-x··2.0·unx······694·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$5Ov4EXQ82X3sCjubdz1iZJZqqzQ.class | 107 | ?rwxrwxr-x··2.0·unx······694·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$5Ov4EXQ82X3sCjubdz1iZJZqqzQ.class |
| 101 | ?rwxrwxr-x··2.0·unx······746·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$AMpT1M8ldukuseM-KGAlFMm3IWM.class | 108 | ?rwxrwxr-x··2.0·unx······746·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$AMpT1M8ldukuseM-KGAlFMm3IWM.class |
| 102 | ?rwxrwxr-x··2.0·unx······759·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$Apm_EUUorBEJ0xfYpYo4OE1vtaI.class | 109 | ?rwxrwxr-x··2.0·unx······759·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$Apm_EUUorBEJ0xfYpYo4OE1vtaI.class |
| 103 | ?rwxrwxr-x··2.0·unx······823·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$AppOpsChangedListener$mLsxU8gQBSdf1SUD58OpJgP-te0.class | 110 | ?rwxrwxr-x··2.0·unx······823·b-·stor·80-Jan-01·00:00·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$AppOpsChangedListener$mLsxU8gQBSdf1SUD58OpJgP-te0.class |
| Offset 238, 18 lines modified | Offset 245, 18 lines modified | ||
| 238 | ?rwxrwxr-x··2.0·unx······666·b-·stor·80-Jan-01·00:00·com/android/server/wifi/AvailableNetworkNotifier$ConnectActionListener.class | 245 | ?rwxrwxr-x··2.0·unx······666·b-·stor·80-Jan-01·00:00·com/android/server/wifi/AvailableNetworkNotifier$ConnectActionListener.class |
| 239 | ?rwxrwxr-x··2.0·unx·····2150·b-·stor·80-Jan-01·00:00·com/android/server/wifi/AvailableNetworkNotifier$NotificationEnabledSettingObserver.class | 246 | ?rwxrwxr-x··2.0·unx·····2150·b-·stor·80-Jan-01·00:00·com/android/server/wifi/AvailableNetworkNotifier$NotificationEnabledSettingObserver.class |
| 240 | ?rwxrwxr-x··2.0·unx······145·b-·stor·80-Jan-01·00:00·com/android/server/wifi/AvailableNetworkNotifier$State.class | 247 | ?rwxrwxr-x··2.0·unx······145·b-·stor·80-Jan-01·00:00·com/android/server/wifi/AvailableNetworkNotifier$State.class |
| 241 | ?rwxrwxr-x··2.0·unx····13594·b-·defN·80-Jan-01·00:00·com/android/server/wifi/AvailableNetworkNotifier.class | 248 | ?rwxrwxr-x··2.0·unx····13594·b-·defN·80-Jan-01·00:00·com/android/server/wifi/AvailableNetworkNotifier.class |
| 242 | ?rwxrwxr-x··2.0·unx······331·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BackupManagerProxy.class | 249 | ?rwxrwxr-x··2.0·unx······331·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BackupManagerProxy.class |
| 243 | ?rwxrwxr-x··2.0·unx·····2427·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BaseWifiDiagnostics.class | 250 | ?rwxrwxr-x··2.0·unx·····2427·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BaseWifiDiagnostics.class |
| 244 | ?rwxrwxr-x··2.0·unx····10522·b-·defN·80-Jan-01·00:00·com/android/server/wifi/BaseWifiService.class | 251 | ?rwxrwxr-x··2.0·unx····10522·b-·defN·80-Jan-01·00:00·com/android/server/wifi/BaseWifiService.class |
| 245 | ?rwxrwxr-x··2.0·unx·····2 | 252 | ?rwxrwxr-x··2.0·unx·····2443·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BssidBlocklistMonitor$BssidStatus.class |
| 246 | ?rwxrwxr-x··2.0·unx·····2298·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BssidBlocklistMonitor$BssidStatusHistoryLogger.class | 253 | ?rwxrwxr-x··2.0·unx·····2298·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BssidBlocklistMonitor$BssidStatusHistoryLogger.class |
| 247 | ?rwxrwxr-x··2.0·unx······150·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BssidBlocklistMonitor$FailureReason.class | 254 | ?rwxrwxr-x··2.0·unx······150·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BssidBlocklistMonitor$FailureReason.class |
| 248 | ?rwxrwxr-x··2.0·unx····1 | 255 | ?rwxrwxr-x··2.0·unx····17185·b-·defN·80-Jan-01·00:00·com/android/server/wifi/BssidBlocklistMonitor.class |
| 249 | ?rwxrwxr-x··2.0·unx······167·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BuildProperties.class | 256 | ?rwxrwxr-x··2.0·unx······167·b-·stor·80-Jan-01·00:00·com/android/server/wifi/BuildProperties.class |
| 250 | ?rwxrwxr-x··2.0·unx·····1318·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ByteBufferReader.class | 257 | ?rwxrwxr-x··2.0·unx·····1318·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ByteBufferReader.class |
| 251 | ?rwxrwxr-x··2.0·unx······783·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ClientModeImpl$1.class | 258 | ?rwxrwxr-x··2.0·unx······783·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ClientModeImpl$1.class |
| 252 | ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ClientModeImpl$ResetSimReason.class | 259 | ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ClientModeImpl$ResetSimReason.class |
| 253 | ?rwxrwxr-x··2.0·unx·····3974·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ClientModeImpl$WifiNetworkAgent.class | 260 | ?rwxrwxr-x··2.0·unx·····3974·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ClientModeImpl$WifiNetworkAgent.class |
| 254 | ?rwxrwxr-x··2.0·unx·······95·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ClientModeManager$1.class | 261 | ?rwxrwxr-x··2.0·unx·······95·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ClientModeManager$1.class |
| 255 | ?rwxrwxr-x··2.0·unx·····1125·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ClientModeManager$DeferStopHandler$1.class | 262 | ?rwxrwxr-x··2.0·unx·····1125·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ClientModeManager$DeferStopHandler$1.class |
| Offset 263, 15 lines modified | Offset 270, 15 lines modified | ||
| 263 | ?rwxrwxr-x··2.0·unx·····2987·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ConnectionFailureNotifier$DisableMacRandomizationListener.class | 270 | ?rwxrwxr-x··2.0·unx·····2987·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ConnectionFailureNotifier$DisableMacRandomizationListener.class |
| 264 | ?rwxrwxr-x··2.0·unx·····4254·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ConnectionFailureNotifier.class | 271 | ?rwxrwxr-x··2.0·unx·····4254·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ConnectionFailureNotifier.class |
| 265 | ?rwxrwxr-x··2.0·unx····14393·b-·defN·80-Jan-01·00:00·com/android/server/wifi/DeviceConfigFacade.class | 272 | ?rwxrwxr-x··2.0·unx····14393·b-·defN·80-Jan-01·00:00·com/android/server/wifi/DeviceConfigFacade.class |
| 266 | ?rwxrwxr-x··2.0·unx·····1459·b-·stor·80-Jan-01·00:00·com/android/server/wifi/DppManager$2.class | 273 | ?rwxrwxr-x··2.0·unx·····1459·b-·stor·80-Jan-01·00:00·com/android/server/wifi/DppManager$2.class |
| 267 | ?rwxrwxr-x··2.0·unx······980·b-·stor·80-Jan-01·00:00·com/android/server/wifi/DppManager$DppRequestInfo.class | 274 | ?rwxrwxr-x··2.0·unx······980·b-·stor·80-Jan-01·00:00·com/android/server/wifi/DppManager$DppRequestInfo.class |
| 268 | ?rwxrwxr-x··2.0·unx····13958·b-·defN·80-Jan-01·00:00·com/android/server/wifi/DppManager.class | 275 | ?rwxrwxr-x··2.0·unx····13958·b-·defN·80-Jan-01·00:00·com/android/server/wifi/DppManager.class |
| 269 | ?rwxrwxr-x··2.0·unx·····7570·b-·stor·80-Jan-01·00:00·com/android/server/wifi/DppMetrics.class | 276 | ?rwxrwxr-x··2.0·unx·····7570·b-·stor·80-Jan-01·00:00·com/android/server/wifi/DppMetrics.class |
| 270 | ?rwxrwxr-x··2.0·unx····· | 277 | ?rwxrwxr-x··2.0·unx·····5704·b-·stor·80-Jan-01·00:00·com/android/server/wifi/EapFailureNotifier.class |
| 271 | ?rwxrwxr-x··2.0·unx·····2740·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ExtendedWifiInfo.class | 278 | ?rwxrwxr-x··2.0·unx·····2740·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ExtendedWifiInfo.class |
| 272 | ?rwxrwxr-x··2.0·unx·····5761·b-·stor·80-Jan-01·00:00·com/android/server/wifi/FrameworkFacade.class | 279 | ?rwxrwxr-x··2.0·unx·····5761·b-·stor·80-Jan-01·00:00·com/android/server/wifi/FrameworkFacade.class |
| 273 | ?rwxrwxr-x··2.0·unx·····1041·b-·stor·80-Jan-01·00:00·com/android/server/wifi/HalDeviceManager$IfaceCreationData.class | 280 | ?rwxrwxr-x··2.0·unx·····1041·b-·stor·80-Jan-01·00:00·com/android/server/wifi/HalDeviceManager$IfaceCreationData.class |
| 274 | ?rwxrwxr-x··2.0·unx······168·b-·stor·80-Jan-01·00:00·com/android/server/wifi/HalDeviceManager$InterfaceAvailableForRequestListener.class | 281 | ?rwxrwxr-x··2.0·unx······168·b-·stor·80-Jan-01·00:00·com/android/server/wifi/HalDeviceManager$InterfaceAvailableForRequestListener.class |
| 275 | ?rwxrwxr-x··2.0·unx·····1217·b-·stor·80-Jan-01·00:00·com/android/server/wifi/HalDeviceManager$InterfaceCacheEntry.class | 282 | ?rwxrwxr-x··2.0·unx·····1217·b-·stor·80-Jan-01·00:00·com/android/server/wifi/HalDeviceManager$InterfaceCacheEntry.class |
| 276 | ?rwxrwxr-x··2.0·unx······165·b-·stor·80-Jan-01·00:00·com/android/server/wifi/HalDeviceManager$InterfaceDestroyedListener.class | 283 | ?rwxrwxr-x··2.0·unx······165·b-·stor·80-Jan-01·00:00·com/android/server/wifi/HalDeviceManager$InterfaceDestroyedListener.class |
| 277 | ?rwxrwxr-x··2.0·unx······274·b-·stor·80-Jan-01·00:00·com/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallback.class | 284 | ?rwxrwxr-x··2.0·unx······274·b-·stor·80-Jan-01·00:00·com/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallback.class |
| Offset 317, 33 lines modified | Offset 324, 33 lines modified | ||
| 317 | ?rwxrwxr-x··2.0·unx·····4580·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanDetail.class | 324 | ?rwxrwxr-x··2.0·unx·····4580·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanDetail.class |
| 318 | ?rwxrwxr-x··2.0·unx······648·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanDetailCache$1.class | 325 | ?rwxrwxr-x··2.0·unx······648·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanDetailCache$1.class |
| 319 | ?rwxrwxr-x··2.0·unx······797·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanDetailCache$2.class | 326 | ?rwxrwxr-x··2.0·unx······797·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanDetailCache$2.class |
| 320 | ?rwxrwxr-x··2.0·unx·····4046·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanDetailCache.class | 327 | ?rwxrwxr-x··2.0·unx·····4046·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanDetailCache.class |
| 321 | ?rwxrwxr-x··2.0·unx·······94·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanRequestProxy$1.class | 328 | ?rwxrwxr-x··2.0·unx·······94·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanRequestProxy$1.class |
| 322 | ?rwxrwxr-x··2.0·unx·····2104·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanRequestProxy$GlobalScanListener.class | 329 | ?rwxrwxr-x··2.0·unx·····2104·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanRequestProxy$GlobalScanListener.class |
| 323 | ?rwxrwxr-x··2.0·unx·····1469·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanRequestProxy$ScanRequestProxyScanListener.class | 330 | ?rwxrwxr-x··2.0·unx·····1469·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanRequestProxy$ScanRequestProxyScanListener.class |
| 324 | ?rwxrwxr-x··2.0·unx····11 | 331 | ?rwxrwxr-x··2.0·unx····11121·b-·defN·80-Jan-01·00:00·com/android/server/wifi/ScanRequestProxy.class |
| 325 | ?rwxrwxr-x··2.0·unx·····3741·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanResultMatchInfo.class | 332 | ?rwxrwxr-x··2.0·unx·····3741·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScanResultMatchInfo.class |
| 326 | ?rwxrwxr-x··2.0·unx······974·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScoredNetworkNominator$1.class | 333 | ?rwxrwxr-x··2.0·unx······974·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScoredNetworkNominator$1.class |
| 327 | ?rwxrwxr-x··2.0·unx·····5917·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScoredNetworkNominator$ScoreTracker.class | 334 | ?rwxrwxr-x··2.0·unx·····5917·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScoredNetworkNominator$ScoreTracker.class |
| 328 | ?rwxrwxr-x··2.0·unx·····4503·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScoringParams$Values.class | 335 | ?rwxrwxr-x··2.0·unx·····4503·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScoringParams$Values.class |
| 329 | ?rwxrwxr-x··2.0·unx·····5152·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScoringParams.class | 336 | ?rwxrwxr-x··2.0·unx·····5152·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ScoringParams.class |
| 330 | ?rwxrwxr-x··2.0·unx······142·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SelfRecovery$RecoveryReason.class | 337 | ?rwxrwxr-x··2.0·unx······142·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SelfRecovery$RecoveryReason.class |
| 331 | ?rwxrwxr-x··2.0·unx·····2748·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SelfRecovery.class | 338 | ?rwxrwxr-x··2.0·unx·····2748·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SelfRecovery.class |
| 332 | ?rwxrwxr-x··2.0·unx····· | 339 | ?rwxrwxr-x··2.0·unx·····4417·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SimRequiredNotifier.class |
| 333 | ?rwxrwxr-x··2.0·unx·····7038·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SoftApBackupRestore.class | 340 | ?rwxrwxr-x··2.0·unx·····7038·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SoftApBackupRestore.class |
| 334 | ?rwxrwxr-x··2.0·unx······813·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SoftApModeConfiguration.class | 341 | ?rwxrwxr-x··2.0·unx······813·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SoftApModeConfiguration.class |
| 335 | ?rwxrwxr-x··2.0·unx·····3061·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SoftApNotifier.class | 342 | ?rwxrwxr-x··2.0·unx·····3061·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SoftApNotifier.class |
| 336 | ?rwxrwxr-x··2.0·unx······298·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SoftApStoreData$DataSource.class | 343 | ?rwxrwxr-x··2.0·unx······298·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SoftApStoreData$DataSource.class |
| 337 | ?rwxrwxr-x··2.0·unx······182·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SsidSetStoreData$DataSource.class | 344 | ?rwxrwxr-x··2.0·unx······182·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SsidSetStoreData$DataSource.class |
| 338 | ?rwxrwxr-x··2.0·unx······909·b-·stor·80-Jan-01·00:00·com/android/server/wifi/StateChangeResult.class | 345 | ?rwxrwxr-x··2.0·unx······909·b-·stor·80-Jan-01·00:00·com/android/server/wifi/StateChangeResult.class |
| 339 | ?rwxrwxr-x··2.0·unx······397·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SupplicantStaIfaceHal$PmkCacheStoreData.class | 346 | ?rwxrwxr-x··2.0·unx······397·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SupplicantStaIfaceHal$PmkCacheStoreData.class |
| 340 | ?rwxrwxr-x··2.0·unx·····2164·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SupplicantStaIfaceHal$ServiceManagerDeathRecipient.class | 347 | ?rwxrwxr-x··2.0·unx·····2164·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SupplicantStaIfaceHal$ServiceManagerDeathRecipient.class |
| 341 | ?rwxrwxr-x··2.0·unx·····1807·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SupplicantStaIfaceHal$SupplicantDeathRecipient.class | 348 | ?rwxrwxr-x··2.0·unx·····1807·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SupplicantStaIfaceHal$SupplicantDeathRecipient.class |
| 342 | ?rwxrwxr-x··2.0·unx····6 | 349 | ?rwxrwxr-x··2.0·unx····68432·b-·defN·80-Jan-01·00:00·com/android/server/wifi/SupplicantStaIfaceHal.class |
| 343 | ?rwxrwxr-x··2.0·unx····78213·b-·defN·80-Jan-01·00:00·com/android/server/wifi/SupplicantStaNetworkHal.class | 350 | ?rwxrwxr-x··2.0·unx····78213·b-·defN·80-Jan-01·00:00·com/android/server/wifi/SupplicantStaNetworkHal.class |
| 344 | ?rwxrwxr-x··2.0·unx·····1546·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SupplicantStateTracker$1.class | 351 | ?rwxrwxr-x··2.0·unx·····1546·b-·stor·80-Jan-01·00:00·com/android/server/wifi/SupplicantStateTracker$1.class |
| 345 | ?rwxrwxr-x··2.0·unx·····6565·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ThroughputPredictor.class | 352 | ?rwxrwxr-x··2.0·unx·····6565·b-·stor·80-Jan-01·00:00·com/android/server/wifi/ThroughputPredictor.class |
| 346 | ?rwxrwxr-x··2.0·unx······191·b-·stor·80-Jan-01·00:00·com/android/server/wifi/WakeupConfigStoreData$DataSource.class | 353 | ?rwxrwxr-x··2.0·unx······191·b-·stor·80-Jan-01·00:00·com/android/server/wifi/WakeupConfigStoreData$DataSource.class |
| 347 | ?rwxrwxr-x··2.0·unx·····1615·b-·stor·80-Jan-01·00:00·com/android/server/wifi/WakeupController$1.class | 354 | ?rwxrwxr-x··2.0·unx·····1615·b-·stor·80-Jan-01·00:00·com/android/server/wifi/WakeupController$1.class |
| 348 | ?rwxrwxr-x··2.0·unx······707·b-·stor·80-Jan-01·00:00·com/android/server/wifi/WakeupController$2.class | 355 | ?rwxrwxr-x··2.0·unx······707·b-·stor·80-Jan-01·00:00·com/android/server/wifi/WakeupController$2.class |
| 349 | ?rwxrwxr-x··2.0·unx····12282·b-·defN·80-Jan-01·00:00·com/android/server/wifi/WakeupController.class | 356 | ?rwxrwxr-x··2.0·unx····12282·b-·defN·80-Jan-01·00:00·com/android/server/wifi/WakeupController.class |
| Offset 374, 35 lines modified | Offset 381, 35 lines modified | ||
| 374 | ?rwxrwxr-x··2.0·unx······158·b-·stor·80-Jan-01·00:00·com/android/server/wifi/WifiCarrierInfoManager$OnUserApproveCarrierListener.class | 381 | ?rwxrwxr-x··2.0·unx······158·b-·stor·80-Jan-01·00:00·com/android/server/wifi/WifiCarrierInfoManager$OnUserApproveCarrierListener.class |
| ... Open expanded diff ... | |||
| Offset 18, 36 lines modified | Offset 18, 45 lines modified | ||
| Â | Â | ||
| 18 | Filename:·com/android/server/wifi/-$$Lambda$AvailableNetworkNotifier$S0FaoECCwNFCuGVJV69DPVdzyE8.class | 18 | Filename:·com/android/server/wifi/-$$Lambda$AvailableNetworkNotifier$S0FaoECCwNFCuGVJV69DPVdzyE8.class |
| 19 | Comment:· | 19 | Comment:· |
| Â | Â | ||
| 20 | Filename:·com/android/server/wifi/-$$Lambda$BpQwyPJSlGcwCEF3EiaW_LaQafg.class | 20 | Filename:·com/android/server/wifi/-$$Lambda$BpQwyPJSlGcwCEF3EiaW_LaQafg.class |
| 21 | Comment:· | 21 | Comment:· |
| Â | Â | ||
| 22 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$ | 22 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$5goGSdaC6NEACYS7wbOaLCCxYCY.class |
| 23 | Comment:· | 23 | Comment:· |
| Â | Â | ||
| 24 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$ | 24 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$I2EPZj0K8dvxVGynj3cc2j_QR1s.class |
| 25 | Comment:· | 25 | Comment:· |
| Â | Â | ||
| 26 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$ | 26 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$Mg2ZjValmGZuzQbBHBGHCp_UiKY.class |
| 27 | Comment:· | 27 | Comment:· |
| Â | Â | ||
| 28 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$N | 28 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$Ncn6tOVItshIBiKzZ-r2SnBwnfw.class |
| 29 | Comment:· | 29 | Comment:· |
| Â | Â | ||
| 30 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$ | 30 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$Sxk-cTBQCk_0SHkn4kYvzNh0-9I.class |
| 31 | Comment:· | 31 | Comment:· |
| Â | Â | ||
| 32 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$ | 32 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$Wx2244j75aKSsUaiYdSuFPxJmEU.class |
| 33 | Comment:· | 33 | Comment:· |
| Â | Â | ||
| 34 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$cfg46GoDJ6ILu1wGH5C7DP5Bvdg.class | 34 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$cfg46GoDJ6ILu1wGH5C7DP5Bvdg.class |
| 35 | Comment:· | 35 | Comment:· |
| Â | Â | ||
| 36 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$ | 36 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$dxai51gBeXZGiG3dnDxmTMvlzcM.class |
|  | 37 | Comment:· | |
| Â | Â | ||
|  | 38 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$kGzSfU6wcZ_IZhPmnAT9ry9_M3s.class | |
|  | 39 | Comment:· | |
| Â | Â | ||
|  | 40 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$n_aQ5ms9qITu5S1AT92r3rwlwxc.class | |
|  | 41 | Comment:· | |
| Â | Â | ||
|  | 42 | Filename:·com/android/server/wifi/-$$Lambda$BssidBlocklistMonitor$y10i9Sv7__b6uz6ooLuITOo4q3A.class | |
| 37 | Comment:· | 43 | Comment:· |
| Â | Â | ||
| 38 | Filename:·com/android/server/wifi/-$$Lambda$ClientModeImpl$IbUjQnaBmVNI-BvvnQPJh9kmkyA.class | 44 | Filename:·com/android/server/wifi/-$$Lambda$ClientModeImpl$IbUjQnaBmVNI-BvvnQPJh9kmkyA.class |
| 39 | Comment:· | 45 | Comment:· |
| Â | Â | ||
| 40 | Filename:·com/android/server/wifi/-$$Lambda$ClientModeImpl$UqwcWQ6NIKhK7ZrHShOOP8sozLU.class | 46 | Filename:·com/android/server/wifi/-$$Lambda$ClientModeImpl$UqwcWQ6NIKhK7ZrHShOOP8sozLU.class |
| 41 | Comment:· | 47 | Comment:· |
| Offset 252, 41 lines modified | Offset 261, 53 lines modified | ||
| Â | Â | ||
| 252 | Filename:·com/android/server/wifi/-$$Lambda$WifiLastResortWatchdog$qpsQqHtHjzIQhe33-ULY0AHn0oY.class | 261 | Filename:·com/android/server/wifi/-$$Lambda$WifiLastResortWatchdog$qpsQqHtHjzIQhe33-ULY0AHn0oY.class |
| 253 | Comment:· | 262 | Comment:· |
| Â | Â | ||
| 254 | Filename:·com/android/server/wifi/-$$Lambda$WifiLockManager$1$CkMHEvkkoNUZsaBQmCb9B-0F8lI.class | 263 | Filename:·com/android/server/wifi/-$$Lambda$WifiLockManager$1$CkMHEvkkoNUZsaBQmCb9B-0F8lI.class |
| 255 | Comment:· | 264 | Comment:· |
| Â | Â | ||
| 256 | Filename:·com/android/server/wifi/-$$Lambda$WifiMetrics$ | 265 | Filename:·com/android/server/wifi/-$$Lambda$WifiMetrics$Zw6AplRlKCKiR1pApp0LiBzd_GI.class |
|  | 266 | Comment:· | |
| Â | Â | ||
|  | 267 | Filename:·com/android/server/wifi/-$$Lambda$WifiMetrics$gtlE7S-z8oAxhHJ_WaqIJsUzgAo.class | |
| 257 | Comment:· | 268 | Comment:· |
| Â | Â | ||
| 258 | Filename:·com/android/server/wifi/-$$Lambda$WifiNative$NetworkObserverInternal$x2MXZjJ72D1RHdyNl7XjvdO7CHI.class | 269 | Filename:·com/android/server/wifi/-$$Lambda$WifiNative$NetworkObserverInternal$x2MXZjJ72D1RHdyNl7XjvdO7CHI.class |
| 259 | Comment:· | 270 | Comment:· |
| Â | Â | ||
| 260 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$ | 271 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$ATGrMu-WJcTIB14_5MdpeoV7zeM.class |
|  | 272 | Comment:· | |
| Â | Â | ||
|  | 273 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$B7dCsMWFkmdPXXMQ8ckXD6OoOz4.class | |
| 261 | Comment:· | 274 | Comment:· |
| Â | Â | ||
| 262 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkFactoryUserSelectionCallback$dR_8SWPminVWhl4XzfYZZwM_I0w.class | 275 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkFactoryUserSelectionCallback$dR_8SWPminVWhl4XzfYZZwM_I0w.class |
| 263 | Comment:· | 276 | Comment:· |
| Â | Â | ||
| 264 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkFactoryUserSelectionCallback$ghzGnrxKK2lkDhd7NYfPGo8Eqtk.class | 277 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkFactoryUserSelectionCallback$ghzGnrxKK2lkDhd7NYfPGo8Eqtk.class |
| 265 | Comment:· | 278 | Comment:· |
| Â | Â | ||
| 266 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkRequestDataSource$niPPNJRHBvsj23aFO7jUE_qSay0.class | 279 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$NetworkRequestDataSource$niPPNJRHBvsj23aFO7jUE_qSay0.class |
| 267 | Comment:· | 280 | Comment:· |
| Â | Â | ||
| 268 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$ | 281 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$PUH4U6q6mSks0iS0hsoeLIAea9Y.class |
| 269 | Comment:· | 282 | Comment:· |
| Â | Â | ||
| 270 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$kgmvViUSRQFBmgULiV_K6mdrFGI.class | 283 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$kgmvViUSRQFBmgULiV_K6mdrFGI.class |
| 271 | Comment:· | 284 | Comment:· |
| Â | Â | ||
|  | 285 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$uPA78n83TSspOaWHZLtCxZB_s7Y.class | |
|  | 286 | Comment:· | |
| Â | Â | ||
| 272 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$uQTzBkFoCEwN-ndjhXTPHmeDMro.class | 287 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$uQTzBkFoCEwN-ndjhXTPHmeDMro.class |
| 273 | Comment:· | 288 | Comment:· |
| Â | Â | ||
|  | 289 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkFactory$zp-5HKBQD9pFgdsfos0zUbcOklM.class | |
|  | 290 | Comment:· | |
| Â | Â | ||
| 274 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkSelector$i5EINJjwfO6UwlIFCRSdi9_3VIQ.class | 291 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkSelector$i5EINJjwfO6UwlIFCRSdi9_3VIQ.class |
| 275 | Comment:· | 292 | Comment:· |
| Â | Â | ||
| 276 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$3Qs-hyp8Qmek0MbgLXaCXp0e5k0.class | 293 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$3Qs-hyp8Qmek0MbgLXaCXp0e5k0.class |
| 277 | Comment:· | 294 | Comment:· |
| Â | Â | ||
| 278 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$3fzyAngjnzeRM_VuJmM5w0zIjNQ.class | 295 | Filename:·com/android/server/wifi/-$$Lambda$WifiNetworkSuggestionsManager$3fzyAngjnzeRM_VuJmM5w0zIjNQ.class |
| Offset 1329, 14 lines modified | Offset 1350, 17 lines modified | ||
| Â | Â | ||
| 1329 | Filename:·com/android/server/wifi/WifiMetrics$WifiIsUnusableWithTime.class | 1350 | Filename:·com/android/server/wifi/WifiMetrics$WifiIsUnusableWithTime.class |
| 1330 | Comment:· | 1351 | Comment:· |
| Â | Â | ||
| 1331 | Filename:·com/android/server/wifi/WifiMetrics$WifiOffMetrics.class | 1352 | Filename:·com/android/server/wifi/WifiMetrics$WifiOffMetrics.class |
| 1332 | Comment:· | 1353 | Comment:· |
| Â | Â | ||
|  | 1354 | Filename:·com/android/server/wifi/WifiMetrics$WifiStatusBuilder.class | |
|  | 1355 | Comment:· | |
| Â | Â | ||
| 1333 | Filename:·com/android/server/wifi/WifiMetrics.class | 1356 | Filename:·com/android/server/wifi/WifiMetrics.class |
| 1334 | Comment:· | 1357 | Comment:· |
| Â | Â | ||
| 1335 | Filename:·com/android/server/wifi/WifiMonitor.class | 1358 | Filename:·com/android/server/wifi/WifiMonitor.class |
| 1336 | Comment:· | 1359 | Comment:· |
| Â | Â | ||
| 1337 | Filename:·com/android/server/wifi/WifiMulticastLockManager$FilterController.class | 1360 | Filename:·com/android/server/wifi/WifiMulticastLockManager$FilterController.class |
| Offset 4509, 27 lines modified | Offset 4533, 27 lines modified | ||
| Â | Â | ||
| 4509 | Filename:·com/android/server/wifi/-$$Lambda$SupplicantStaNetworkHal$zy7K1Ov_VH_gggt5IE07LPwKUmk.class | 4533 | Filename:·com/android/server/wifi/-$$Lambda$SupplicantStaNetworkHal$zy7K1Ov_VH_gggt5IE07LPwKUmk.class |
| 4510 | Comment:· | 4534 | Comment:· |
| Â | Â | ||
| 4511 | Filename:·com/android/server/wifi/-$$Lambda$WifiHealthMonitor$WifiSystemInfoStats$DYd-vMlq_L-gTDRT1MiVd6dn5pk.class | 4535 | Filename:·com/android/server/wifi/-$$Lambda$WifiHealthMonitor$WifiSystemInfoStats$DYd-vMlq_L-gTDRT1MiVd6dn5pk.class |
| 4512 | Comment:· | 4536 | Comment:· |
| Â | Â | ||
| 4513 | Filename:·com/android/server/wifi/-$$Lambda$WifiMetrics$ | 4537 | Filename:·com/android/server/wifi/-$$Lambda$WifiMetrics$16WVNho1AvmpxQo_EpVKAzc0TGA.class |
| 4514 | Comment:· | 4538 | Comment:· |
| ... Open expanded diff ... | |||
| Offset 1, 56 lines modified | Offset 1, 45 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
| 2 | import·java.util.Calendar; | 2 | import·java.util.Calendar; |
| Â | Â | ||
| 3 | class·BssidBlocklistMonitor$BssidStatus | 3 | class·BssidBlocklistMonitor$BssidStatus |
| 4 | { | 4 | { |
|  | 5 | ····public·int·blockReason; | |
| 5 | ····public·long·blocklistEndTimeMs; | 6 | ····public·long·blocklistEndTimeMs; |
| 6 | ····public·long·blocklistStartTimeMs; | 7 | ····public·long·blocklistStartTimeMs; |
| 7 | ····public·final·String·bssid; | 8 | ····public·final·String·bssid; |
| 8 | ····public·final·int[]·failureCount; | 9 | ····public·final·int[]·failureCount; |
| 9 | ····public·boolean·isInBlocklist; | 10 | ····public·boolean·isInBlocklist; |
| 10 | ····p | 11 | ····public·int·lastRssi; |
| 11 | ····public·final·String·ssid; | 12 | ····public·final·String·ssid; |
| 12 | ····final·/*·synthetic·*/·BssidBlocklistMonitor·this$0; | 13 | ····final·/*·synthetic·*/·BssidBlocklistMonitor·this$0; |
| 13 | ···· | 14 | ···· |
| 14 | ····BssidBlocklistMonitor$BssidStatus(final·BssidBlocklistMonitor·this$0,·final·String·bssid,·final·String·ssid)·{ | 15 | ····BssidBlocklistMonitor$BssidStatus(final·BssidBlocklistMonitor·this$0,·final·String·bssid,·final·String·ssid)·{ |
| 15 | ········this.this$0·=·this$0; | 16 | ········this.this$0·=·this$0; |
| 16 | ········this.failureCount·=·new·int[ | 17 | ········this.failureCount·=·new·int[12]; |
| 17 | ········this. | 18 | ········this.blockReason·=·-1; |
|  | 19 | ········this.lastRssi·=·0; | |
| 18 | ········this.bssid·=·bssid; | 20 | ········this.bssid·=·bssid; |
| 19 | ········this.ssid·=·ssid; | 21 | ········this.ssid·=·ssid; |
| 20 | ····} | 22 | ····} |
| 21 | ···· | 23 | ···· |
| 22 | ····public·void·addToBlocklist(final·long·n,·final·String·mBlockReason)·{ |  | |
| 23 | ········this.isInBlocklist·=·true; |  | |
| 24 | ········final·long·wallClockMillis·=·BssidBlocklistMonitor.access$000(this.this$0).getWallClockMillis(); |  | |
| 25 | ········this.blocklistStartTimeMs·=·wallClockMillis; |  | |
| 26 | ········this.blocklistEndTimeMs·=·wallClockMillis·+·n; |  | |
| 27 | ········this.mBlockReason·=·mBlockReason; |  | |
| 28 | ····} |  | |
| 29 | ···· |  | |
| 30 | ····public·int·incrementFailureCount(final·int·n)·{ | 24 | ····public·int·incrementFailureCount(final·int·n)·{ |
| 31 | ········final·int[]·failureCount·=·this.failureCount; | 25 | ········final·int[]·failureCount·=·this.failureCount; |
| 32 | ········return·++failureCount[n]; | 26 | ········return·++failureCount[n]; |
| 33 | ····} | 27 | ····} |
| 34 | ···· | 28 | ···· |
| 35 | ····public·void· | 29 | ····public·void·setAsBlocked(final·long·n,·final·int·blockReason,·final·int·lastRssi)·{ |
| 36 | ········ | 30 | ········this.isInBlocklist·=·true; |
| 37 | ········ | 31 | ········final·long·wallClockMillis·=·BssidBlocklistMonitor.access$000(this.this$0).getWallClockMillis(); |
| 38 | ········ | 32 | ········this.blocklistStartTimeMs·=·wallClockMillis; |
| 39 | ········this.blocklist | 33 | ········this.blocklistEndTimeMs·=·wallClockMillis·+·n; |
| 40 | ········this.block | 34 | ········this.blockReason·=·blockReason; |
| 41 | ········this. | 35 | ········this.lastRssi·=·lastRssi; |
| 42 | ········final·BssidBlocklistMonitor·this$0·=·this.this$0; |  | |
| 43 | ········final·StringBuilder·sb·=·new·StringBuilder(); |  | |
| 44 | ········sb.append("BssidBlocklistMonitor·removeFromBlocklist·BSSID="); |  | |
| 45 | ········sb.append(this.bssid); |  | |
| 46 | ········BssidBlocklistMonitor.access$300(this$0,·sb.toString()); |  | |
| 47 | ····} | 36 | ····} |
| 48 | ···· | 37 | ···· |
| 49 | ····public·String·toString()·{ | 38 | ····public·String·toString()·{ |
| 50 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 39 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 51 | ········final·StringBuilder·sb2·=·new·StringBuilder(); | 40 | ········final·StringBuilder·sb2·=·new·StringBuilder(); |
| 52 | ········sb2.append("BSSID="); | 41 | ········sb2.append("BSSID="); |
| 53 | ········sb2.append(this.bssid); | 42 | ········sb2.append(this.bssid); |
| Offset 62, 19 lines modified | Offset 51, 23 lines modified | ||
| 62 | ········final·StringBuilder·sb4·=·new·StringBuilder(); | 51 | ········final·StringBuilder·sb4·=·new·StringBuilder(); |
| 63 | ········sb4.append(",·isInBlocklist="); | 52 | ········sb4.append(",·isInBlocklist="); |
| 64 | ········sb4.append(this.isInBlocklist); | 53 | ········sb4.append(this.isInBlocklist); |
| 65 | ········sb.append(sb4.toString()); | 54 | ········sb.append(sb4.toString()); |
| 66 | ········if·(this.isInBlocklist)·{ | 55 | ········if·(this.isInBlocklist)·{ |
| 67 | ············final·StringBuilder·sb5·=·new·StringBuilder(); | 56 | ············final·StringBuilder·sb5·=·new·StringBuilder(); |
| 68 | ············sb5.append(",·blockReason="); | 57 | ············sb5.append(",·blockReason="); |
| 69 | ············sb5.append(this. | 58 | ············sb5.append(BssidBlocklistMonitor.access$200(this.this$0,·this.blockReason)); |
| 70 | ············sb.append(sb5.toString()); | 59 | ············sb.append(sb5.toString()); |
| 71 | ············BssidBlocklistMonitor.access$100(this.this$0).setTimeInMillis(this.blocklistStartTimeMs); |  | |
| 72 | ············final·StringBuilder·sb6·=·new·StringBuilder(); | 60 | ············final·StringBuilder·sb6·=·new·StringBuilder(); |
| 73 | ············sb6.append(",· | 61 | ············sb6.append(",·lastRssi="); |
|  | 62 | ············sb6.append(this.lastRssi); | |
|  | 63 | ············sb.append(sb6.toString()); | |
|  | 64 | ············BssidBlocklistMonitor.access$100(this.this$0).setTimeInMillis(this.blocklistStartTimeMs); | |
|  | 65 | ············final·StringBuilder·sb7·=·new·StringBuilder(); | |
|  | 66 | ············sb7.append(",·blocklistStartTimeMs="); | |
| 74 | ············final·int·n·=·6; | 67 | ············final·int·n·=·6; |
| 75 | ············final·Object[]·array·=·new·Object[n]; | 68 | ············final·Object[]·array·=·new·Object[n]; |
| 76 | ············array[0]·=·BssidBlocklistMonitor.access$100(this.this$0); | 69 | ············array[0]·=·BssidBlocklistMonitor.access$100(this.this$0); |
| 77 | ············final·Calendar·access$100·=·BssidBlocklistMonitor.access$100(this.this$0); | 70 | ············final·Calendar·access$100·=·BssidBlocklistMonitor.access$100(this.this$0); |
| 78 | ············final·int·n2·=·1; | 71 | ············final·int·n2·=·1; |
| 79 | ············array[n2]·=·access$100; | 72 | ············array[n2]·=·access$100; |
| 80 | ············final·Calendar·access$101·=·BssidBlocklistMonitor.access$100(this.this$0); | 73 | ············final·Calendar·access$101·=·BssidBlocklistMonitor.access$100(this.this$0); |
| Offset 86, 25 lines modified | Offset 79, 25 lines modified | ||
| 86 | ············final·Calendar·access$103·=·BssidBlocklistMonitor.access$100(this.this$0); | 79 | ············final·Calendar·access$103·=·BssidBlocklistMonitor.access$100(this.this$0); |
| 87 | ············final·int·n5·=·4; | 80 | ············final·int·n5·=·4; |
| 88 | ············array[n5]·=·access$103; | 81 | ············array[n5]·=·access$103; |
| 89 | ············final·Calendar·access$104·=·BssidBlocklistMonitor.access$100(this.this$0); | 82 | ············final·Calendar·access$104·=·BssidBlocklistMonitor.access$100(this.this$0); |
| 90 | ············final·int·n6·=·5; | 83 | ············final·int·n6·=·5; |
| 91 | ············array[n6]·=·access$104; | 84 | ············array[n6]·=·access$104; |
| 92 | ············final·String·s·=·"%tm-%td·%tH:%tM:%tS.%tL"; | 85 | ············final·String·s·=·"%tm-%td·%tH:%tM:%tS.%tL"; |
| 93 | ············sb | 86 | ············sb7.append(String.format(s,·array)); |
| 94 | ············sb.append(sb | 87 | ············sb.append(sb7.toString()); |
| 95 | ············BssidBlocklistMonitor.access$100(this.this$0).setTimeInMillis(this.blocklistEndTimeMs); | 88 | ············BssidBlocklistMonitor.access$100(this.this$0).setTimeInMillis(this.blocklistEndTimeMs); |
| 96 | ············final·StringBuilder·sb | 89 | ············final·StringBuilder·sb8·=·new·StringBuilder(); |
| 97 | ············sb | 90 | ············sb8.append(",·blocklistEndTimeMs="); |
| 98 | ············final·Object[]·array2·=·new·Object[n]; | 91 | ············final·Object[]·array2·=·new·Object[n]; |
| 99 | ············array2[0]·=·BssidBlocklistMonitor.access$100(this.this$0); | 92 | ············array2[0]·=·BssidBlocklistMonitor.access$100(this.this$0); |
| 100 | ············array2[n2]·=·BssidBlocklistMonitor.access$100(this.this$0); | 93 | ············array2[n2]·=·BssidBlocklistMonitor.access$100(this.this$0); |
| 101 | ············array2[n3]·=·BssidBlocklistMonitor.access$100(this.this$0); | 94 | ············array2[n3]·=·BssidBlocklistMonitor.access$100(this.this$0); |
| 102 | ············array2[n4]·=·BssidBlocklistMonitor.access$100(this.this$0); | 95 | ············array2[n4]·=·BssidBlocklistMonitor.access$100(this.this$0); |
| 103 | ············array2[n5]·=·BssidBlocklistMonitor.access$100(this.this$0); | 96 | ············array2[n5]·=·BssidBlocklistMonitor.access$100(this.this$0); |
| 104 | ············array2[n6]·=·BssidBlocklistMonitor.access$100(this.this$0); | 97 | ············array2[n6]·=·BssidBlocklistMonitor.access$100(this.this$0); |
| 105 | ············sb | 98 | ············sb8.append(String.format(s,·array2)); |
| 106 | ············sb.append(sb | 99 | ············sb.append(sb8.toString()); |
| 107 | ········} | 100 | ········} |
| 108 | ········return·sb.toString(); | 101 | ········return·sb.toString(); |
| 109 | ····} | 102 | ····} |
| 110 | } | 103 | } |
| Offset 1, 107 lines modified | Offset 1, 150 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
| 2 | import·java.util.Collection; |  | |
| 3 | import·java.util.function.Supplier; | 2 | import·java.util.function.Supplier; |
| 4 | import·java.util.Comparator; | 3 | import·java.util.Comparator; |
| 5 | import·java.util.ArrayList; | 4 | import·java.util.ArrayList; |
|  | 5 | import·android.net.wifi.ScanResult; | |
|  | 6 | import·java.util.List; | |
| 6 | import·java.util.stream.Collector; | 7 | import·java.util.stream.Collector; |
| 7 | import·java.util.stream.Collectors; | 8 | import·java.util.stream.Collectors; |
| 8 | import·java.util.function.Function; | 9 | import·java.util.function.Function; |
| 9 | import·java.util. | 10 | import·java.util.Collections; |
| 10 | import·java.util.function.Consumer; | 11 | import·java.util.function.Consumer; |
| 11 | import·java.io.FileDescriptor; | 12 | import·java.io.FileDescriptor; |
| 12 | import·java.util.Iterator; | 13 | import·java.util.Iterator; |
| 13 | import·java.util.function.Predicate; |  | |
| 14 | import·java.util.stream.Stream; | 14 | import·java.util.stream.Stream; |
| 15 | import·java.io.PrintWriter; | 15 | import·java.io.PrintWriter; |
| 16 | import·android.util.Log; | 16 | import·android.util.Log; |
|  | 17 | import·java.util.function.Predicate; | |
| 17 | import·android.util.ArrayMap; | 18 | import·android.util.ArrayMap; |
| 18 | import·java.util.concurrent.TimeUnit; | 19 | import·java.util.concurrent.TimeUnit; |
|  | 20 | import·java.util.Collection; | |
|  | 21 | import·android.util.ArraySet; | |
|  | 22 | import·java.util.Arrays; | |
| 19 | import·com.android.wifi.x.android.util.LocalLog; | 23 | import·com.android.wifi.x.android.util.LocalLog; |
| 20 | import·android.content.Context; | 24 | import·android.content.Context; |
| 21 | import·java.util.Calendar; | 25 | import·java.util.Calendar; |
| 22 | import·java.util.Map; | 26 | import·java.util.Map; |
|  | 27 | import·java.util.Set; | |
| Â | Â | ||
| 23 | public·class·BssidBlocklistMonitor | 28 | public·class·BssidBlocklistMonitor |
| 24 | { | 29 | { |
| 25 | ····private·static·final·long·ABNORMAL_DISCONNECT_RESET_TIME_MS·=·0L; | 30 | ····private·static·final·long·ABNORMAL_DISCONNECT_RESET_TIME_MS·=·0L; |
| 26 | ····private·static·final·String·FAILURE_BSSID_BLOCKED_BY_FRAMEWORK_REASON_STRING·=·"BlockedByFramework"; |  | |
| 27 | ····private·static·final·int[]·FAILURE_COUNT_DISABLE_THRESHOLD; | 31 | ····private·static·final·int[]·FAILURE_COUNT_DISABLE_THRESHOLD; |
| 28 | ····private·static·final·String[]·FAILURE_REASON_STRINGS; | 32 | ····private·static·final·String[]·FAILURE_REASON_STRINGS; |
| 29 | ····public·static·final·int·N | 33 | ····public·static·final·int·INVALID_REASON·=·255; |
|  | 34 | ····private·static·final·Set·LOW_RSSI_SENSITIVE_FAILURES; | |
|  | 35 | ····private·static·final·int·MIN_RSSI_DIFF_TO_UNBLOCK_BSSID·=·5; | |
|  | 36 | ····public·static·final·int·NUMBER_REASON_CODES·=·12; | |
| 30 | ····public·static·final·int·REASON_ABNORMAL_DISCONNECT·=·8; | 37 | ····public·static·final·int·REASON_ABNORMAL_DISCONNECT·=·8; |
| 31 | ····public·static·final·int·REASON_AP_UNABLE_TO_HANDLE_NEW_STA·=·0; | 38 | ····public·static·final·int·REASON_AP_UNABLE_TO_HANDLE_NEW_STA·=·0; |
| 32 | ····public·static·final·int·REASON_ASSOCIATION_REJECTION·=·4; | 39 | ····public·static·final·int·REASON_ASSOCIATION_REJECTION·=·4; |
| 33 | ····public·static·final·int·REASON_ASSOCIATION_TIMEOUT·=·5; | 40 | ····public·static·final·int·REASON_ASSOCIATION_TIMEOUT·=·5; |
| 34 | ····public·static·final·int·REASON_AUTHENTICATION_FAILURE·=·6; | 41 | ····public·static·final·int·REASON_AUTHENTICATION_FAILURE·=·6; |
| 35 | ····public·static·final·int·REASON_DHCP_FAILURE·=·7; | 42 | ····public·static·final·int·REASON_DHCP_FAILURE·=·7; |
| 36 | ····public·static·final·int·REASON_EAP_FAILURE·=·3; | 43 | ····public·static·final·int·REASON_EAP_FAILURE·=·3; |
|  | 44 | ····public·static·final·int·REASON_FRAMEWORK_DISCONNECT_CONNECTED_SCORE·=·11; | |
|  | 45 | ····public·static·final·int·REASON_FRAMEWORK_DISCONNECT_FAST_RECONNECT·=·10; | |
|  | 46 | ····public·static·final·int·REASON_FRAMEWORK_DISCONNECT_MBO_OCE·=·9; | |
| 37 | ····public·static·final·int·REASON_NETWORK_VALIDATION_FAILURE·=·1; | 47 | ····public·static·final·int·REASON_NETWORK_VALIDATION_FAILURE·=·1; |
| 38 | ····public·static·final·int·REASON_WRONG_PASSWORD·=·2; | 48 | ····public·static·final·int·REASON_WRONG_PASSWORD·=·2; |
| 39 | ····private·static·final·String·TAG·=·"BssidBlocklistMonitor"; | 49 | ····private·static·final·String·TAG·=·"BssidBlocklistMonitor"; |
| 40 | ····private·BssidBlocklistMonitor$BssidStatusHistoryLogger·mBssidStatusHistoryLogger; | 50 | ····private·BssidBlocklistMonitor$BssidStatusHistoryLogger·mBssidStatusHistoryLogger; |
| 41 | ····private·Map·mBssidStatusMap; | 51 | ····private·Map·mBssidStatusMap; |
| 42 | ····private·final·Calendar·mCalendar; | 52 | ····private·final·Calendar·mCalendar; |
| 43 | ····private·final·Clock·mClock; | 53 | ····private·final·Clock·mClock; |
| 44 | ····private·final·WifiConnectivityHelper·mConnectivityHelper; | 54 | ····private·final·WifiConnectivityHelper·mConnectivityHelper; |
| 45 | ····private·final·Context·mContext; | 55 | ····private·final·Context·mContext; |
| 46 | ····private·boolean·mFailureCountDisableThresholdArrayInitialized; | 56 | ····private·boolean·mFailureCountDisableThresholdArrayInitialized; |
| 47 | ····private·final·LocalLog·mLocalLog; | 57 | ····private·final·LocalLog·mLocalLog; |
|  | 58 | ····private·final·ScoringParams·mScoringParams; | |
| 48 | ····private·final·WifiLastResortWatchdog·mWifiLastResortWatchdog; | 59 | ····private·final·WifiLastResortWatchdog·mWifiLastResortWatchdog; |
| 49 | ····private·final·WifiScoreCard·mWifiScoreCard; | 60 | ····private·final·WifiScoreCard·mWifiScoreCard; |
| 50 | ···· | 61 | ···· |
| 51 | ····static·{ | 62 | ····static·{ |
| 52 | ········FAILURE_COUNT_DISABLE_THRESHOLD·=·new·int[ | 63 | ········FAILURE_COUNT_DISABLE_THRESHOLD·=·new·int[12]; |
| 53 | ········FAILURE_REASON_STRINGS·=·new·String[]·{·"REASON_AP_UNABLE_TO_HANDLE_NEW_STA",·"REASON_NETWORK_VALIDATION_FAILURE",·"REASON_WRONG_PASSWORD",·"REASON_EAP_FAILURE",·"REASON_ASSOCIATION_REJECTION",·"REASON_ASSOCIATION_TIMEOUT",·"REASON_AUTHENTICATION_FAILURE",·"REASON_DHCP_FAILURE",·"REASON_ABNORMAL_DISCONNECT"·}; | 64 | ········FAILURE_REASON_STRINGS·=·new·String[]·{·"REASON_AP_UNABLE_TO_HANDLE_NEW_STA",·"REASON_NETWORK_VALIDATION_FAILURE",·"REASON_WRONG_PASSWORD",·"REASON_EAP_FAILURE",·"REASON_ASSOCIATION_REJECTION",·"REASON_ASSOCIATION_TIMEOUT",·"REASON_AUTHENTICATION_FAILURE",·"REASON_DHCP_FAILURE",·"REASON_ABNORMAL_DISCONNECT",·"REASON_FRAMEWORK_DISCONNECT_MBO_OCE",·"REASON_FRAMEWORK_DISCONNECT_FAST_RECONNECT",·"REASON_FRAMEWORK_DISCONNECT_CONNECTED_SCORE"·}; |
|  | 65 | ········final·int·n·=·8; | |
|  | 66 | ········final·Integer[]·array·=·new·Integer[n]; | |
|  | 67 | ········final·int·n2·=·1; | |
|  | 68 | ········array[0]·=·n2; | |
|  | 69 | ········final·int·n3·=·3; | |
|  | 70 | ········array[n2]·=·n3; | |
|  | 71 | ········final·int·n4·=·4; | |
|  | 72 | ········array[2]·=·n4; | |
|  | 73 | ········final·int·n5·=·5; | |
|  | 74 | ········array[n3]·=·n5; | |
|  | 75 | ········final·int·n6·=·6; | |
|  | 76 | ········array[n4]·=·n6; | |
|  | 77 | ········final·int·n7·=·7; | |
|  | 78 | ········array[n5]·=·n7; | |
|  | 79 | ········array[n6]·=·n; | |
|  | 80 | ········array[n7]·=·11; | |
|  | 81 | ········LOW_RSSI_SENSITIVE_FAILURES·=·(Set)new·ArraySet((Collection)Arrays.asList(array)); | |
| 54 | ····} | 82 | ····} |
| 55 | ···· | 83 | ···· |
| 56 | ····BssidBlocklistMonitor(final·Context·mContext,·final·WifiConnectivityHelper·mConnectivityHelper,·final·WifiLastResortWatchdog·mWifiLastResortWatchdog,·final·Clock·mClock,·final·LocalLog·mLocalLog,·final·WifiScoreCard·mWifiScoreCard)·{ | 84 | ····BssidBlocklistMonitor(final·Context·mContext,·final·WifiConnectivityHelper·mConnectivityHelper,·final·WifiLastResortWatchdog·mWifiLastResortWatchdog,·final·Clock·mClock,·final·LocalLog·mLocalLog,·final·WifiScoreCard·mWifiScoreCard,·final·ScoringParams·mScoringParams)·{ |
| 57 | ········this.mFailureCountDisableThresholdArrayInitialized·=·false; | 85 | ········this.mFailureCountDisableThresholdArrayInitialized·=·false; |
| 58 | ········this.mBssidStatusMap·=·(Map)new·ArrayMap(); | 86 | ········this.mBssidStatusMap·=·(Map)new·ArrayMap(); |
| 59 | ········this.mBssidStatusHistoryLogger·=·new·BssidBlocklistMonitor$BssidStatusHistoryLogger(this,·30); | 87 | ········this.mBssidStatusHistoryLogger·=·new·BssidBlocklistMonitor$BssidStatusHistoryLogger(this,·30); |
| 60 | ········this.mContext·=·mContext; | 88 | ········this.mContext·=·mContext; |
| 61 | ········this.mConnectivityHelper·=·mConnectivityHelper; | 89 | ········this.mConnectivityHelper·=·mConnectivityHelper; |
| 62 | ········this.mWifiLastResortWatchdog·=·mWifiLastResortWatchdog; | 90 | ········this.mWifiLastResortWatchdog·=·mWifiLastResortWatchdog; |
| 63 | ········this.mClock·=·mClock; | 91 | ········this.mClock·=·mClock; |
| 64 | ········this.mLocalLog·=·mLocalLog; | 92 | ········this.mLocalLog·=·mLocalLog; |
| 65 | ········this.mCalendar·=·Calendar.getInstance(); | 93 | ········this.mCalendar·=·Calendar.getInstance(); |
| 66 | ········this.mWifiScoreCard·=·mWifiScoreCard; | 94 | ········this.mWifiScoreCard·=·mWifiScoreCard; |
|  | 95 | ········this.mScoringParams·=·mScoringParams; | |
| 67 | ····} | 96 | ····} |
| 68 | ···· | 97 | ···· |
| 69 | ····private·void·addToBlocklist(final·BssidBlocklistMonitor$BssidStatus·bssidBlocklistMonitor$BssidStatus,·final·long·n,·final· | 98 | ····private·void·addToBlocklist(final·BssidBlocklistMonitor$BssidStatus·bssidBlocklistMonitor$BssidStatus,·final·long·n,·final·int·n2,·final·int·n3)·{ |
| 70 | ········bssidBlocklistMonitor$BssidStatus. | 99 | ········bssidBlocklistMonitor$BssidStatus.setAsBlocked(n,·n2,·n3); |
| 71 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 100 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 72 | ········sb.append("BssidBlocklistMonitor·addToBlocklist:·bssid="); | 101 | ········sb.append("BssidBlocklistMonitor·addToBlocklist:·bssid="); |
| 73 | ········sb.append(bssidBlocklistMonitor$BssidStatus.bssid); | 102 | ········sb.append(bssidBlocklistMonitor$BssidStatus.bssid); |
| 74 | ········sb.append(",·ssid="); | 103 | ········sb.append(",·ssid="); |
| 75 | ········sb.append(bssidBlocklistMonitor$BssidStatus.ssid); | 104 | ········sb.append(bssidBlocklistMonitor$BssidStatus.ssid); |
| 76 | ········sb.append(",·durationMs="); | 105 | ········sb.append(",·durationMs="); |
| 77 | ········sb.append(n); | 106 | ········sb.append(n); |
| 78 | ········sb.append(",·reason="); | 107 | ········sb.append(",·reason="); |
| 79 | ········sb.append(s); | 108 | ········sb.append(this.getFailureReasonString(n2)); |
|  | 109 | ········sb.append(",·rssi="); | |
|  | 110 | ········sb.append(n3); | |
| 80 | ········this.localLog(sb.toString()); | 111 | ········this.localLog(sb.toString()); |
| 81 | ····} | 112 | ····} |
| 82 | ···· | 113 | ···· |
|  | 114 | ····private·int·getBaseBlockDurationForReason(final·int·n)·{ | |
|  | 115 | ········if·(n·!=·11)·{ | |
|  | 116 | ············return·this.mContext.getResources().getInteger(2131034118); | |
|  | 117 | ········} | |
|  | 118 | ········return·this.mContext.getResources().getInteger(2131034119); | |
|  | 119 | ····} | |
|  | 120 | ···· | |
| 83 | ····private·long·getBlocklistDurationWithExponentialBackoff(int·n,·final·int·n2)·{ | 121 | ····private·long·getBlocklistDurationWithExponentialBackoff(int·n,·final·int·n2)·{ |
| ... Open expanded diff ... | |||
| Offset 25, 69 lines modified | Offset 25, 69 lines modified | ||
| 25 | ········this.this$0·=·this$0; | 25 | ········this.this$0·=·this$0; |
| 26 | ········super(context,·looper,·s,·networkCapabilities,·linkProperties,·n,·networkAgentConfig,·networkProvider); | 26 | ········super(context,·looper,·s,·networkCapabilities,·linkProperties,·n,·networkAgentConfig,·networkProvider); |
| 27 | ········this.mLastNetworkStatus·=·-1; | 27 | ········this.mLastNetworkStatus·=·-1; |
| 28 | ········this.register(); | 28 | ········this.register(); |
| 29 | ····} | 29 | ····} |
| 30 | ···· | 30 | ···· |
| 31 | ····public·void·onAddKeepalivePacketFilter(final·int·n,·final·KeepalivePacketData·keepalivePacketData)·{ | 31 | ····public·void·onAddKeepalivePacketFilter(final·int·n,·final·KeepalivePacketData·keepalivePacketData)·{ |
| 32 | ········if·(this·!=·ClientModeImpl.access$3 | 32 | ········if·(this·!=·ClientModeImpl.access$3200(this.this$0))·{ |
| 33 | ············return; | 33 | ············return; |
| 34 | ········} | 34 | ········} |
| 35 | ········((StateMachine)this.this$0).sendMessage(131281,·n,·0,·(Object)keepalivePacketData); | 35 | ········((StateMachine)this.this$0).sendMessage(131281,·n,·0,·(Object)keepalivePacketData); |
| 36 | ····} | 36 | ····} |
| 37 | ···· | 37 | ···· |
| 38 | ····public·void·onAutomaticReconnectDisabled()·{ | 38 | ····public·void·onAutomaticReconnectDisabled()·{ |
| 39 | ········if·(this·!=·ClientModeImpl.access$3 | 39 | ········if·(this·!=·ClientModeImpl.access$3200(this.this$0))·{ |
| 40 | ············return; | 40 | ············return; |
| 41 | ········} | 41 | ········} |
| 42 | ········this.this$0.unwantedNetwork(2); | 42 | ········this.this$0.unwantedNetwork(2); |
| 43 | ····} | 43 | ····} |
| 44 | ···· | 44 | ···· |
| 45 | ····public·void·onNetworkUnwanted()·{ | 45 | ····public·void·onNetworkUnwanted()·{ |
| 46 | ········if·(this·!=·ClientModeImpl.access$3 | 46 | ········if·(this·!=·ClientModeImpl.access$3200(this.this$0))·{ |
| 47 | ············return; | 47 | ············return; |
| 48 | ········} | 48 | ········} |
| 49 | ········if·(ClientModeImpl.access$ | 49 | ········if·(ClientModeImpl.access$900(this.this$0))·{ |
| 50 | ············final·ClientModeImpl·this$0·=·this.this$0; | 50 | ············final·ClientModeImpl·this$0·=·this.this$0; |
| 51 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 51 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 52 | ············sb.append("WifiNetworkAgent·->·Wifi·unwanted·score·"); | 52 | ············sb.append("WifiNetworkAgent·->·Wifi·unwanted·score·"); |
| 53 | ············sb.append(Integer.toString(((WifiInfo)ClientModeImpl.access$ | 53 | ············sb.append(Integer.toString(((WifiInfo)ClientModeImpl.access$800(this.this$0)).getScore())); |
| 54 | ············this$0.logd(sb.toString()); | 54 | ············this$0.logd(sb.toString()); |
| 55 | ········} | 55 | ········} |
| 56 | ········this.this$0.unwantedNetwork(0); | 56 | ········this.this$0.unwantedNetwork(0); |
| 57 | ····} | 57 | ····} |
| 58 | ···· | 58 | ···· |
| 59 | ····public·void·onRemoveKeepalivePacketFilter(final·int·n)·{ | 59 | ····public·void·onRemoveKeepalivePacketFilter(final·int·n)·{ |
| 60 | ········if·(this·!=·ClientModeImpl.access$3 | 60 | ········if·(this·!=·ClientModeImpl.access$3200(this.this$0))·{ |
| 61 | ············return; | 61 | ············return; |
| 62 | ········} | 62 | ········} |
| 63 | ········((StateMachine)this.this$0).sendMessage(131282,·n); | 63 | ········((StateMachine)this.this$0).sendMessage(131282,·n); |
| 64 | ····} | 64 | ····} |
| 65 | ···· | 65 | ···· |
| 66 | ····public·void·onSaveAcceptUnvalidated(final·boolean·b)·{ | 66 | ····public·void·onSaveAcceptUnvalidated(final·boolean·b)·{ |
| 67 | ········if·(this·!=·ClientModeImpl.access$3 | 67 | ········if·(this·!=·ClientModeImpl.access$3200(this.this$0))·{ |
| 68 | ············return; | 68 | ············return; |
| 69 | ········} | 69 | ········} |
| 70 | ········((StateMachine)this.this$0).sendMessage(131225,·(int)(b·?·1·:·0)); | 70 | ········((StateMachine)this.this$0).sendMessage(131225,·(int)(b·?·1·:·0)); |
| 71 | ····} | 71 | ····} |
| 72 | ···· | 72 | ···· |
| 73 | ····public·void·onSignalStrengthThresholdsUpdated(int[]·copy)·{ | 73 | ····public·void·onSignalStrengthThresholdsUpdated(int[]·copy)·{ |
| 74 | ········if·(this·!=·ClientModeImpl.access$3 | 74 | ········if·(this·!=·ClientModeImpl.access$3200(this.this$0))·{ |
| 75 | ············return; | 75 | ············return; |
| 76 | ········} | 76 | ········} |
| 77 | ········final·ClientModeImpl·this$0·=·this.this$0; | 77 | ········final·ClientModeImpl·this$0·=·this.this$0; |
| 78 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 78 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 79 | ········sb.append("Received·signal·strength·thresholds:·"); | 79 | ········sb.append("Received·signal·strength·thresholds:·"); |
| 80 | ········sb.append(Arrays.toString(copy)); | 80 | ········sb.append(Arrays.toString(copy)); |
| 81 | ········this$0.logd(sb.toString()); | 81 | ········this$0.logd(sb.toString()); |
| 82 | ········final·int·length·=·copy.length; | 82 | ········final·int·length·=·copy.length; |
| 83 | ········final·int·n·=·131235; | 83 | ········final·int·n·=·131235; |
| 84 | ········if·(length·==·0)·{ | 84 | ········if·(length·==·0)·{ |
| 85 | ············final·ClientModeImpl·this$2·=·this.this$0; | 85 | ············final·ClientModeImpl·this$2·=·this.this$0; |
| 86 | ············((StateMachine)this$2).sendMessage(n,·((WifiInfo)ClientModeImpl.access$ | 86 | ············((StateMachine)this$2).sendMessage(n,·((WifiInfo)ClientModeImpl.access$800(this$2)).getRssi()); |
| 87 | ············return; | 87 | ············return; |
| 88 | ········} | 88 | ········} |
| 89 | ········copy·=·Arrays.copyOf(copy,·copy.length·+·2); | 89 | ········copy·=·Arrays.copyOf(copy,·copy.length·+·2); |
| 90 | ········final·int·n2·=·copy.length·-·2; | 90 | ········final·int·n2·=·copy.length·-·2; |
| 91 | ········final·int·n3·=·-128; | 91 | ········final·int·n3·=·-128; |
| 92 | ········copy[n2]·=·n3; | 92 | ········copy[n2]·=·n3; |
| 93 | ········final·int·n4·=·copy.length·-·1; | 93 | ········final·int·n4·=·copy.length·-·1; |
| Offset 101, 65 lines modified | Offset 101, 65 lines modified | ||
| 101 | ················final·StringBuilder·sb2·=·new·StringBuilder(); | 101 | ················final·StringBuilder·sb2·=·new·StringBuilder(); |
| 102 | ················sb2.append("Illegal·value·"); | 102 | ················sb2.append("Illegal·value·"); |
| 103 | ················sb2.append(n6); | 103 | ················sb2.append(n6); |
| 104 | ················sb2.append("·for·RSSI·thresholds:·"); | 104 | ················sb2.append("·for·RSSI·thresholds:·"); |
| 105 | ················sb2.append(Arrays.toString(copy)); | 105 | ················sb2.append(Arrays.toString(copy)); |
| 106 | ················Log.e("WifiClientModeImpl",·sb2.toString()); | 106 | ················Log.e("WifiClientModeImpl",·sb2.toString()); |
| 107 | ················final·ClientModeImpl·this$3·=·this.this$0; | 107 | ················final·ClientModeImpl·this$3·=·this.this$0; |
| 108 | ················((StateMachine)this$3).sendMessage(n,·((WifiInfo)ClientModeImpl.access$ | 108 | ················((StateMachine)this$3).sendMessage(n,·((WifiInfo)ClientModeImpl.access$800(this$3)).getRssi()); |
| 109 | ················return; | 109 | ················return; |
| 110 | ············} | 110 | ············} |
| 111 | ············array[i]·=·(byte)n6; | 111 | ············array[i]·=·(byte)n6; |
| 112 | ········} | 112 | ········} |
| 113 | ········ClientModeImpl.access$8402(this.this$0,·array); | 113 | ········ClientModeImpl.access$8402(this.this$0,·array); |
| 114 | ········final·ClientModeImpl·this$4·=·this.this$0; | 114 | ········final·ClientModeImpl·this$4·=·this.this$0; |
| 115 | ········((StateMachine)this$4).sendMessage(131234,·((WifiInfo)ClientModeImpl.access$ | 115 | ········((StateMachine)this$4).sendMessage(131234,·((WifiInfo)ClientModeImpl.access$800(this$4)).getRssi()); |
| 116 | ····} | 116 | ····} |
| 117 | ···· | 117 | ···· |
| 118 | ····public·void·onStartSocketKeepalive(final·int·n,·final·Duration·duration,·final·KeepalivePacketData·keepalivePacketData)·{ | 118 | ····public·void·onStartSocketKeepalive(final·int·n,·final·Duration·duration,·final·KeepalivePacketData·keepalivePacketData)·{ |
| 119 | ········if·(this·!=·ClientModeImpl.access$3 | 119 | ········if·(this·!=·ClientModeImpl.access$3200(this.this$0))·{ |
| 120 | ············return; | 120 | ············return; |
| 121 | ········} | 121 | ········} |
| 122 | ········((StateMachine)this.this$0).sendMessage(131232,·n,·(int)duration.getSeconds(),·(Object)keepalivePacketData); | 122 | ········((StateMachine)this.this$0).sendMessage(131232,·n,·(int)duration.getSeconds(),·(Object)keepalivePacketData); |
| 123 | ····} | 123 | ····} |
| 124 | ···· | 124 | ···· |
| 125 | ····public·void·onStopSocketKeepalive(final·int·n)·{ | 125 | ····public·void·onStopSocketKeepalive(final·int·n)·{ |
| 126 | ········if·(this·!=·ClientModeImpl.access$3 | 126 | ········if·(this·!=·ClientModeImpl.access$3200(this.this$0))·{ |
| 127 | ············return; | 127 | ············return; |
| 128 | ········} | 128 | ········} |
| 129 | ········((StateMachine)this.this$0).sendMessage(131233,·n); | 129 | ········((StateMachine)this.this$0).sendMessage(131233,·n); |
| 130 | ····} | 130 | ····} |
| 131 | ···· | 131 | ···· |
| 132 | ····public·void·onValidationStatus(int·access$ | 132 | ····public·void·onValidationStatus(int·access$900,·final·Uri·uri)·{ |
| 133 | ········if·(this·!=·ClientModeImpl.access$3 | 133 | ········if·(this·!=·ClientModeImpl.access$3200(this.this$0))·{ |
| 134 | ············return; | 134 | ············return; |
| 135 | ········} | 135 | ········} |
| 136 | ········if·(access$ | 136 | ········if·(access$900·==·this.mLastNetworkStatus)·{ |
| 137 | ············return; | 137 | ············return; |
| 138 | ········} | 138 | ········} |
| 139 | ········this.mLastNetworkStatus·=·access$ | 139 | ········this.mLastNetworkStatus·=·access$900; |
| 140 | ········final·int·n·=·2; | 140 | ········final·int·n·=·2; |
| 141 | ········final·int·n2·=·1; | 141 | ········final·int·n2·=·1; |
| 142 | ········if·(access$ | 142 | ········if·(access$900·==·n)·{ |
| 143 | ············access$ | 143 | ············access$900·=·(ClientModeImpl.access$900(this.this$0)·?·1·:·0); |
| 144 | ············if·(access$ | 144 | ············if·(access$900·!=·0)·{ |
| 145 | ················final·ClientModeImpl·this$0·=·this.this$0; | 145 | ················final·ClientModeImpl·this$0·=·this.this$0; |
| 146 | ················final·StringBuilder·sb·=·new·StringBuilder(); | 146 | ················final·StringBuilder·sb·=·new·StringBuilder(); |
| 147 | ················sb.append("WifiNetworkAgent·->·Wifi·networkStatus·invalid,·score="); | 147 | ················sb.append("WifiNetworkAgent·->·Wifi·networkStatus·invalid,·score="); |
| 148 | ················sb.append(Integer.toString(((WifiInfo)ClientModeImpl.access$ | 148 | ················sb.append(Integer.toString(((WifiInfo)ClientModeImpl.access$800(this.this$0)).getScore())); |
| 149 | ················this$0.logd(sb.toString()); | 149 | ················this$0.logd(sb.toString()); |
| 150 | ············} | 150 | ············} |
| 151 | ············this.this$0.unwantedNetwork(n2); | 151 | ············this.this$0.unwantedNetwork(n2); |
| 152 | ········} | 152 | ········} |
| 153 | ········else·if·(access$ | 153 | ········else·if·(access$900·==·n2)·{ |
| 154 | ············if·(ClientModeImpl.access$ | 154 | ············if·(ClientModeImpl.access$900(this.this$0))·{ |
| 155 | ················final·ClientModeImpl·this$2·=·this.this$0; | 155 | ················final·ClientModeImpl·this$2·=·this.this$0; |
| 156 | ················final·StringBuilder·sb2·=·new·StringBuilder(); | 156 | ················final·StringBuilder·sb2·=·new·StringBuilder(); |
| 157 | ················sb2.append("WifiNetworkAgent·->·Wifi·networkStatus·valid,·score=·"); | 157 | ················sb2.append("WifiNetworkAgent·->·Wifi·networkStatus·valid,·score=·"); |
| ... Open expanded diff ... | |||
| Offset 1, 19 lines modified | Offset 1, 24 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
| 2 | import·android.content.ContextWrapper; | 2 | import·android.content.ContextWrapper; |
| 3 | import·android.service.notification.StatusBarNotification; | 3 | import·android.service.notification.StatusBarNotification; |
| 4 | import·android.text.TextUtils; | 4 | import·android.text.TextUtils; |
| 5 | import·android.net.wifi.WifiConfiguration; | 5 | import·android.net.wifi.WifiConfiguration; |
| 6 | import·android.content.Intent; |  | |
| 7 | import·android.app.Notification$Style; | 6 | import·android.app.Notification$Style; |
| 8 | import·android.app.Notification$BigTextStyle; | 7 | import·android.app.Notification$BigTextStyle; |
| 9 | import·android.graphics.drawable.Icon; | 8 | import·android.graphics.drawable.Icon; |
| 10 | import·android.content.Context; | 9 | import·android.content.Context; |
|  | 10 | import·java.util.List; | |
|  | 11 | import·android.util.Log; | |
|  | 12 | import·android.content.pm.ResolveInfo; | |
|  | 13 | import·android.os.UserHandle; | |
|  | 14 | import·android.app.ActivityManager; | |
|  | 15 | import·android.content.Intent; | |
| 11 | import·android.content.pm.PackageManager$NameNotFoundException; | 16 | import·android.content.pm.PackageManager$NameNotFoundException; |
| 12 | import·android.telephony.SubscriptionManager; | 17 | import·android.telephony.SubscriptionManager; |
| 13 | import·android.content.res.Resources; | 18 | import·android.content.res.Resources; |
| 14 | import·android.app.NotificationManager; | 19 | import·android.app.NotificationManager; |
| Â | Â | ||
| 15 | public·class·EapFailureNotifier | 20 | public·class·EapFailureNotifier |
| 16 | { | 21 | { |
| Offset 39, 16 lines modified | Offset 44, 29 lines modified | ||
| 39 | ············return·SubscriptionManager.getResourcesForSubId(((ContextWrapper)wifiContext).createPackageContext(wifiContext.getWifiOverlayApkPkgName(),·0),·n); | 44 | ············return·SubscriptionManager.getResourcesForSubId(((ContextWrapper)wifiContext).createPackageContext(wifiContext.getWifiOverlayApkPkgName(),·0),·n); |
| 40 | ········} | 45 | ········} |
| 41 | ········catch·(PackageManager$NameNotFoundException·ex)·{ | 46 | ········catch·(PackageManager$NameNotFoundException·ex)·{ |
| 42 | ············return·null; | 47 | ············return·null; |
| 43 | ········} | 48 | ········} |
| 44 | ····} | 49 | ····} |
| 45 | ···· | 50 | ···· |
|  | 51 | ····private·String·getSettingsPackageName()·{ | |
|  | 52 | ········final·List·queryIntentActivitiesAsUser·=·((ContextWrapper)this.mContext).getPackageManager().queryIntentActivitiesAsUser(new·Intent("android.settings.WIFI_SETTINGS"),·1114112,·UserHandle.of(ActivityManager.getCurrentUser())); | |
|  | 53 | ········if·(queryIntentActivitiesAsUser·!=·null·&&·!queryIntentActivitiesAsUser.isEmpty())·{ | |
|  | 54 | ············return·((ResolveInfo)queryIntentActivitiesAsUser.get(0)).activityInfo.packageName; | |
|  | 55 | ········} | |
|  | 56 | ········Log.e("EapFailureNotifier",·"Failed·to·resolve·wifi·settings·activity"); | |
|  | 57 | ········return·null; | |
|  | 58 | ····} | |
|  | 59 | ···· | |
| 46 | ····private·void·showNotification(final·String·contentText,·final·String·mCurrentShownSsid)·{ | 60 | ····private·void·showNotification(final·String·contentText,·final·String·mCurrentShownSsid)·{ |
| 47 | ········ | 61 | ········final·String·settingsPackageName·=·this.getSettingsPackageName(); |
|  | 62 | ········if·(settingsPackageName·==·null)·{ | |
|  | 63 | ············return; | |
|  | 64 | ········} | |
|  | 65 | ········this.mNotificationManager.notify(57,·this.mFrameworkFacade.makeNotificationBuilder((Context)this.mContext,·"NETWORK_ALERTS").setAutoCancel(true).setTimeoutAfter(300000L).setSmallIcon(Icon.createWithResource(this.mContext.getWifiOverlayApkPkgName(),·2130903041)).setContentTitle((CharSequence)((ContextWrapper)this.mContext).getString(2131165203)).setContentText((CharSequence)contentText).setStyle((Notification$Style)new·Notification$BigTextStyle().bigText((CharSequence)contentText)).setContentIntent(this.mFrameworkFacade.getActivity((Context)this.mContext,·0,·new·Intent("android.settings.WIFI_SETTINGS").setPackage(settingsPackageName),·134217728)).setColor(this.mContext.getResources().getColor(17170460)).build()); | |
| 48 | ········this.mCurrentShownSsid·=·mCurrentShownSsid; | 66 | ········this.mCurrentShownSsid·=·mCurrentShownSsid; |
| 49 | ····} | 67 | ····} |
| 50 | ···· | 68 | ···· |
| 51 | ····public·void·onEapFailure(int·identifier,·final·WifiConfiguration·wifiConfiguration)·{ | 69 | ····public·void·onEapFailure(int·identifier,·final·WifiConfiguration·wifiConfiguration)·{ |
| 52 | ········final·StatusBarNotification[]·activeNotifications·=·this.mNotificationManager.getActiveNotifications(); | 70 | ········final·StatusBarNotification[]·activeNotifications·=·this.mNotificationManager.getActiveNotifications(); |
| 53 | ········for·(int·length·=·activeNotifications.length,·i·=·0;·i·<·length;·++i)·{ | 71 | ········for·(int·length·=·activeNotifications.length,·i·=·0;·i·<·length;·++i)·{ |
| 54 | ············if·(activeNotifications[i].getId()·==·57·&&·TextUtils.equals((CharSequence)wifiConfiguration.SSID,·(CharSequence)this.mCurrentShownSsid))·{ | 72 | ············if·(activeNotifications[i].getId()·==·57·&&·TextUtils.equals((CharSequence)wifiConfiguration.SSID,·(CharSequence)this.mCurrentShownSsid))·{ |
| Offset 18, 15 lines modified | Offset 18, 15 lines modified | ||
| 18 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_INSUFFICIENT_BEACON·=·2; | 18 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_INSUFFICIENT_BEACON·=·2; |
| 19 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_INSUFFICIENT_CAPABITY·=·3; | 19 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_INSUFFICIENT_CAPABITY·=·3; |
| 20 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_LEAVING_ESS·=·8; | 20 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_LEAVING_ESS·=·8; |
| 21 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_NO_SUITABLE_CANDIDATES·=·7; | 21 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_NO_SUITABLE_CANDIDATES·=·7; |
| 22 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_RESERVED·=·254; | 22 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_RESERVED·=·254; |
| 23 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_STA_CANDIDATE_LIST_PROVIDED·=·6; | 23 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_STA_CANDIDATE_LIST_PROVIDED·=·6; |
| 24 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_UNSPECIFIED·=·1; | 24 | ····public·static·final·int·BTM_RESPONSE_STATUS_REJECT_UNSPECIFIED·=·1; |
| 25 | ····public·static·final·long·DEFAULT_BL | 25 | ····public·static·final·long·DEFAULT_BLOCKLIST_DURATION_MS·=·300000L; |
| 26 | ····public·static·final·int·MBO_AP_CAP_IND_ATTR_CELL_DATA_AWARE·=·64; | 26 | ····public·static·final·int·MBO_AP_CAP_IND_ATTR_CELL_DATA_AWARE·=·64; |
| 27 | ····public·static·final·int·MBO_CELLULAR_DATA_CONNECTION_EXCLUDED·=·0; | 27 | ····public·static·final·int·MBO_CELLULAR_DATA_CONNECTION_EXCLUDED·=·0; |
| 28 | ····public·static·final·int·MBO_CELLULAR_DATA_CONNECTION_INVALID·=·255; | 28 | ····public·static·final·int·MBO_CELLULAR_DATA_CONNECTION_INVALID·=·255; |
| 29 | ····public·static·final·int·MBO_CELLULAR_DATA_CONNECTION_NOT_PREFERRED·=·1; | 29 | ····public·static·final·int·MBO_CELLULAR_DATA_CONNECTION_NOT_PREFERRED·=·1; |
| 30 | ····public·static·final·int·MBO_CELLULAR_DATA_CONNECTION_PREFERRED·=·255; | 30 | ····public·static·final·int·MBO_CELLULAR_DATA_CONNECTION_PREFERRED·=·255; |
| 31 | ····public·static·final·int·MBO_CELLULAR_DATA_CONNECTION_RESERVED·=·254; | 31 | ····public·static·final·int·MBO_CELLULAR_DATA_CONNECTION_RESERVED·=·254; |
| 32 | ····public·static·final·int·MBO_OCE_AID_ASSOCIATION_DISALLOWED·=·4; | 32 | ····public·static·final·int·MBO_OCE_AID_ASSOCIATION_DISALLOWED·=·4; |
| Offset 1, 34 lines modified | Offset 1, 34 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
| 2 | public·class·MboOceController$BtmFrameData | 2 | public·class·MboOceController$BtmFrameData |
| 3 | { | 3 | { |
| 4 | ····public·long·mBl | 4 | ····public·long·mBlockListDurationMs; |
| 5 | ····public·int·mBssTmDataFlagsMask; | 5 | ····public·int·mBssTmDataFlagsMask; |
| 6 | ····public·int·mCellPreference; | 6 | ····public·int·mCellPreference; |
| 7 | ····public·int·mStatus; | 7 | ····public·int·mStatus; |
| 8 | ····public·int·mTransitionReason; | 8 | ····public·int·mTransitionReason; |
| 9 | ···· | 9 | ···· |
| 10 | ····public·MboOceController$BtmFrameData()·{ | 10 | ····public·MboOceController$BtmFrameData()·{ |
| 11 | ········final·int·mCellPreference·=·-1; | 11 | ········final·int·mCellPreference·=·-1; |
| 12 | ········this.mStatus·=·mCellPreference; | 12 | ········this.mStatus·=·mCellPreference; |
| 13 | ········this.mBssTmDataFlagsMask·=·0; | 13 | ········this.mBssTmDataFlagsMask·=·0; |
| 14 | ········this.mBl | 14 | ········this.mBlockListDurationMs·=·0L; |
| 15 | ········this.mTransitionReason·=·mCellPreference; | 15 | ········this.mTransitionReason·=·mCellPreference; |
| 16 | ········this.mCellPreference·=·mCellPreference; | 16 | ········this.mCellPreference·=·mCellPreference; |
| 17 | ····} | 17 | ····} |
| 18 | ···· | 18 | ···· |
| 19 | ····public·String·toString()·{ | 19 | ····public·String·toString()·{ |
| 20 | ········final·StringBuilder·sb·=·new·StringBuilder("BtmFrameData·status="); | 20 | ········final·StringBuilder·sb·=·new·StringBuilder("BtmFrameData·status="); |
| 21 | ········sb.append(this.mStatus); | 21 | ········sb.append(this.mStatus); |
| 22 | ········sb.append(",·flags="); | 22 | ········sb.append(",·flags="); |
| 23 | ········sb.append(this.mBssTmDataFlagsMask); | 23 | ········sb.append(this.mBssTmDataFlagsMask); |
| 24 | ········sb.append(",·assocRetryDelay="); | 24 | ········sb.append(",·assocRetryDelay="); |
| 25 | ········sb.append(this.mBl | 25 | ········sb.append(this.mBlockListDurationMs); |
| 26 | ········sb.append(",·transitionReason="); | 26 | ········sb.append(",·transitionReason="); |
| 27 | ········sb.append(this.mTransitionReason); | 27 | ········sb.append(this.mTransitionReason); |
| 28 | ········sb.append(",·cellPref="); | 28 | ········sb.append(",·cellPref="); |
| 29 | ········sb.append(this.mCellPreference); | 29 | ········sb.append(this.mCellPreference); |
| 30 | ········return·sb.toString(); | 30 | ········return·sb.toString(); |
| 31 | ····} | 31 | ····} |
| 32 | } | 32 | } |
| Offset 1, 13 lines modified | Offset 1, 13 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
| 2 | import·java.util.Collection; |  | |
| 3 | import·android.net.wifi.WifiScanner$ScanSettings; | 2 | import·android.net.wifi.WifiScanner$ScanSettings; |
| 4 | import·android.os.WorkSource; | 3 | import·android.os.WorkSource; |
|  | 4 | import·java.util.Collection; | |
| 5 | import·java.util.Iterator; | 5 | import·java.util.Iterator; |
| 6 | import·android.os.IInterface; | 6 | import·android.os.IInterface; |
| 7 | import·android.os.RemoteException; | 7 | import·android.os.RemoteException; |
| 8 | import·android.net.wifi.IScanResultsCallback; | 8 | import·android.net.wifi.IScanResultsCallback; |
| 9 | import·android.os.UserHandle; | 9 | import·android.os.UserHandle; |
| 10 | import·android.content.Intent; | 10 | import·android.content.Intent; |
| 11 | import·android.net.wifi.WifiScanner$ScanListener; | 11 | import·android.net.wifi.WifiScanner$ScanListener; |
| Offset 304, 15 lines modified | Offset 304, 15 lines modified | ||
| 304 | ········else·{ | 304 | ········else·{ |
| 305 | ············mVerboseLoggingEnabled·=·0; | 305 | ············mVerboseLoggingEnabled·=·0; |
| 306 | ········} | 306 | ········} |
| 307 | ········this.mVerboseLoggingEnabled·=·(mVerboseLoggingEnabled·!=·0); | 307 | ········this.mVerboseLoggingEnabled·=·(mVerboseLoggingEnabled·!=·0); |
| 308 | ····} | 308 | ····} |
| 309 | ···· | 309 | ···· |
| 310 | ····public·List·getScanResults()·{ | 310 | ····public·List·getScanResults()·{ |
| 311 | ········return·this.mLastScanResults; | 311 | ········return·new·ArrayList(this.mLastScanResults); |
| 312 | ····} | 312 | ····} |
| 313 | ···· | 313 | ···· |
| 314 | ····public·boolean·isScanThrottleEnabled()·{ | 314 | ····public·boolean·isScanThrottleEnabled()·{ |
| 315 | ········return·this.mThrottleEnabled; | 315 | ········return·this.mThrottleEnabled; |
| 316 | ····} | 316 | ····} |
| 317 | ···· | 317 | ···· |
| 318 | ····public·boolean·registerScanResultsCallback(final·IScanResultsCallback·scanResultsCallback)·{ | 318 | ····public·boolean·registerScanResultsCallback(final·IScanResultsCallback·scanResultsCallback)·{ |
| Offset 1, 64 lines modified | Offset 1, 79 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
| 2 | import·android.content.ContextWrapper; | 2 | import·android.content.ContextWrapper; |
| 3 | import·android.net.wifi.WifiConfiguration; | 3 | import·android.net.wifi.WifiConfiguration; |
| 4 | import·android.content.Intent; |  | |
| 5 | import·android.app.PendingIntent; |  | |
| 6 | import·android.content.res.Resources; | 4 | import·android.content.res.Resources; |
| 7 | import·android.graphics.drawable.Icon; | 5 | import·android.graphics.drawable.Icon; |
| 8 | import·android.app.Notification$Style; | 6 | import·android.app.Notification$Style; |
| 9 | import·android.app.Notification$BigTextStyle; | 7 | import·android.app.Notification$BigTextStyle; |
| 10 | import·android.content.Context; | 8 | import·android.content.Context; |
| 11 | import· | 9 | import·java.util.List; |
|  | 10 | import·android.util.Log; | |
|  | 11 | import·android.content.pm.ResolveInfo; | |
|  | 12 | import·android.os.UserHandle; | |
|  | 13 | import·android.app.ActivityManager; | |
|  | 14 | import·android.content.Intent; | |
| 12 | import·android.app.NotificationManager; | 15 | import·android.app.NotificationManager; |
| Â | Â | ||
| 13 | public·class·SimRequiredNotifier | 16 | public·class·SimRequiredNotifier |
| 14 | { | 17 | { |
|  | 18 | ····private·static·final·String·TAG·=·"SimRequiredNotifier"; | |
| 15 | ····private·final·WifiContext·mContext; | 19 | ····private·final·WifiContext·mContext; |
| 16 | ····private·final·FrameworkFacade·mFrameworkFacade; | 20 | ····private·final·FrameworkFacade·mFrameworkFacade; |
| 17 | ····private·final·NotificationManager·mNotificationManager; | 21 | ····private·final·NotificationManager·mNotificationManager; |
| 18 | ···· | 22 | ···· |
| 19 | ····public·SimRequiredNotifier(final·WifiContext·mContext,·final·FrameworkFacade·mFrameworkFacade)·{ | 23 | ····public·SimRequiredNotifier(final·WifiContext·mContext,·final·FrameworkFacade·mFrameworkFacade)·{ |
| 20 | ········this.mContext·=·mContext; | 24 | ········this.mContext·=·mContext; |
| 21 | ········this.mFrameworkFacade·=·mFrameworkFacade; | 25 | ········this.mFrameworkFacade·=·mFrameworkFacade; |
| 22 | ········this.mNotificationManager·=·(NotificationManager)((ContextWrapper)mContext).getSystemService((Class)NotificationManager.class); | 26 | ········this.mNotificationManager·=·(NotificationManager)((ContextWrapper)mContext).getSystemService((Class)NotificationManager.class); |
| 23 | ····} | 27 | ····} |
| 24 | ···· | 28 | ···· |
| 25 | ····private· | 29 | ····private·String·getSettingsPackageName()·{ |
|  | 30 | ········final·List·queryIntentActivitiesAsUser·=·((ContextWrapper)this.mContext).getPackageManager().queryIntentActivitiesAsUser(new·Intent("android.settings.WIFI_SETTINGS"),·1114112,·UserHandle.of(ActivityManager.getCurrentUser())); | |
|  | 31 | ········if·(queryIntentActivitiesAsUser·!=·null·&&·!queryIntentActivitiesAsUser.isEmpty())·{ | |
|  | 32 | ············return·((ResolveInfo)queryIntentActivitiesAsUser.get(0)).activityInfo.packageName; | |
|  | 33 | ········} | |
|  | 34 | ········Log.e("SimRequiredNotifier",·"Failed·to·resolve·wifi·settings·activity"); | |
|  | 35 | ········return·null; | |
|  | 36 | ····} | |
|  | 37 | ···· | |
|  | 38 | ····private·void·showNotification(String·s,·String·string)·{ | |
|  | 39 | ········final·String·settingsPackageName·=·this.getSettingsPackageName(); | |
|  | 40 | ········if·(settingsPackageName·==·null)·{ | |
|  | 41 | ············return; | |
|  | 42 | ········} | |
|  | 43 | ········final·Intent·setPackage·=·new·Intent("android.settings.WIRELESS_SETTINGS").addFlags(268435456).setPackage(settingsPackageName); | |
| 26 | ········final·String·string2·=·this.mContext.getResources().getString(2131165231); | 44 | ········final·String·string2·=·this.mContext.getResources().getString(2131165231); |
| 27 | ········final·Resources·resources·=·this.mContext.getResources(); | 45 | ········final·Resources·resources·=·this.mContext.getResources(); |
|  | 46 | ········final·int·n·=·2131165230; | |
| 28 | ········final·Object[]·array·=·new·Object[2]; | 47 | ········final·Object[]·array·=·new·Object[2]; |
| 29 | ········final·String·s2·=·""; | 48 | ········final·String·s2·=·""; |
| 30 | ········if·(s·==·null)·{ | 49 | ········if·(s·==·null)·{ |
| 31 | ············s·=·s2; | 50 | ············s·=·s2; |
| 32 | ········} | 51 | ········} |
| 33 | ········array[0]·=·s; | 52 | ········array[0]·=·s; |
| 34 | ········if·(string·==·null)·{ | 53 | ········if·(string·==·null)·{ |
| 35 | ············string·=·s2; | 54 | ············string·=·s2; |
| 36 | ········} | 55 | ········} |
| 37 | ········final·int·n·=·1; | 56 | ········final·int·n2·=·1; |
| 38 | ········array[n]·=·string; | 57 | ········array[n2]·=·string; |
| 39 | ········string·=·resources.getString( | 58 | ········string·=·resources.getString(n,·array); |
| 40 | ········ | 59 | ········this.mNotificationManager.notify(60,·this.mFrameworkFacade.makeNotificationBuilder((Context)this.mContext,·"NETWORK_ALERTS").setAutoCancel((boolean)(n2·!=·0)).setShowWhen(false).setLocalOnly((boolean)(n2·!=·0)).setColor(this.mContext.getResources().getColor(17170460,·this.mContext.getTheme())).setContentTitle((CharSequence)string2).setTicker((CharSequence)string2).setContentText((CharSequence)string).setStyle((Notification$Style)new·Notification$BigTextStyle().bigText((CharSequence)string)).setSmallIcon(Icon.createWithResource(this.mContext.getWifiOverlayApkPkgName(),·2130903041)).setContentIntent(this.mFrameworkFacade.getActivity((Context)this.mContext,·0,·setPackage,·134217728)).build()); |
| 41 | ····} |  | |
| 42 | ···· |  | |
| 43 | ····private·PendingIntent·launchWirelessSettings()·{ |  | |
| 44 | ········return·this.mFrameworkFacade.getActivity((Context)this.mContext,·0,·new·Intent("android.settings.WIRELESS_SETTINGS").addFlags(268435456),·134217728); |  | |
| 45 | ····} | 60 | ····} |
| 46 | ···· | 61 | ···· |
| 47 | ····public·void·dismissSimRequiredNotification()·{ | 62 | ····public·void·dismissSimRequiredNotification()·{ |
| 48 | ········this.mNotificationManager.cancel((String)null,·60); | 63 | ········this.mNotificationManager.cancel((String)null,·60); |
| 49 | ····} | 64 | ····} |
| 50 | ···· | 65 | ···· |
| 51 | ····public·void·showSimRequiredNotification(final·WifiConfiguration·wifiConfiguration,·final·String·s)·{ | 66 | ····public·void·showSimRequiredNotification(final·WifiConfiguration·wifiConfiguration,·final·String·s)·{ |
| 52 | ········String·s2; | 67 | ········String·s2; |
| 53 | ········if·(wifiConfiguration.isPasspoint())·{ | 68 | ········if·(wifiConfiguration.isPasspoint())·{ |
| 54 | ············s2·=·wifiConfiguration.providerFriendlyName; | 69 | ············s2·=·wifiConfiguration.providerFriendlyName; |
| 55 | ········} | 70 | ········} |
| 56 | ········else·{ | 71 | ········else·{ |
| 57 | ············s2·=·wifiConfiguration.SSID; | 72 | ············s2·=·wifiConfiguration.SSID; |
| 58 | ········} | 73 | ········} |
| 59 | ········this. | 74 | ········this.showNotification(s2,·s); |
| 60 | ····} | 75 | ····} |
| 61 | } | 76 | } |
| Offset 102, 51 lines modified | Offset 102, 63 lines modified | ||
| 102 | ········this.mEventHandler·=·mEventHandler; | 102 | ········this.mEventHandler·=·mEventHandler; |
| 103 | ········this.mClock·=·mClock; | 103 | ········this.mClock·=·mClock; |
| 104 | ········this.mWifiMetrics·=·mWifiMetrics; | 104 | ········this.mWifiMetrics·=·mWifiMetrics; |
| 105 | ········this.mServiceManagerDeathRecipient·=·new·SupplicantStaIfaceHal$ServiceManagerDeathRecipient(this,·(SupplicantStaIfaceHal$1)null); | 105 | ········this.mServiceManagerDeathRecipient·=·new·SupplicantStaIfaceHal$ServiceManagerDeathRecipient(this,·(SupplicantStaIfaceHal$1)null); |
| 106 | ········this.mSupplicantDeathRecipient·=·new·SupplicantStaIfaceHal$SupplicantDeathRecipient(this,·(SupplicantStaIfaceHal$1)null); | 106 | ········this.mSupplicantDeathRecipient·=·new·SupplicantStaIfaceHal$SupplicantDeathRecipient(this,·(SupplicantStaIfaceHal$1)null); |
| 107 | ····} | 107 | ····} |
| 108 | ···· | 108 | ···· |
| 109 | ····private·ISupplicantIface·addIfaceV1_1( | 109 | ····private·ISupplicantIface·addIfaceV1_1(String·string)·{ |
| 110 | ········synchronized·(this.mLock)·{ | 110 | ········synchronized·(this.mLock)·{ |
| 111 | ············final·ISupplicant$IfaceInfo·supplicant$IfaceInfo·=·new·ISupplicant$IfaceInfo(); | 111 | ············final·ISupplicant$IfaceInfo·supplicant$IfaceInfo·=·new·ISupplicant$IfaceInfo(); |
| 112 | ············supplicant$IfaceInfo.name·=· | 112 | ············supplicant$IfaceInfo.name·=·string; |
| 113 | ············supplicant$IfaceInfo.type·=·0; | 113 | ············supplicant$IfaceInfo.type·=·0; |
| 114 | ············final·GeneralUtil$Mutable·generalUtil$Mutable·=·new·GeneralUtil$Mutable(); | 114 | ············final·GeneralUtil$Mutable·generalUtil$Mutable·=·new·GeneralUtil$Mutable(); |
| 115 | ············try·{ | 115 | ············try·{ |
| 116 | ················final·com.android.wifi.x.android.hardware.wifi.supplicant.V1_1.ISupplicant·supplicantMockableV1_1·=·this.getSupplicantMockableV1_1(); | 116 | ················final·com.android.wifi.x.android.hardware.wifi.supplicant.V1_1.ISupplicant·supplicantMockableV1_1·=·this.getSupplicantMockableV1_1(); |
| 117 | ················try·{ | 117 | ················try·{ |
| 118 | ····················supplicantMockableV1_1.addInterface(supplicant$IfaceInfo,·(ISupplicant$addInterfaceCallback)new·-$$Lambda$SupplicantStaIfaceHal$beWjlixZYGQwDxbWUYVi_RNovBU(generalUtil$Mutable)); | 118 | ····················supplicantMockableV1_1.addInterface(supplicant$IfaceInfo,·(ISupplicant$addInterfaceCallback)new·-$$Lambda$SupplicantStaIfaceHal$beWjlixZYGQwDxbWUYVi_RNovBU(generalUtil$Mutable)); |
| 119 | ····················Object·value·=·generalUtil$Mutable.value; | 119 | ····················Object·value·=·generalUtil$Mutable.value; |
| 120 | ····················value·=·value; | 120 | ····················value·=·value; |
| 121 | ····················return·(ISupplicantIface)value; | 121 | ····················return·(ISupplicantIface)value; |
| 122 | ················} | 122 | ················} |
| 123 | ················catch·( | 123 | ················catch·(IllegalArgumentException·ex)·{ |
|  | 124 | ····················final·Object·value; | |
|  | 125 | ····················((SupplicantStaIfaceHal)value).handleIllegalArgumentException(ex,·"addInterface"); | |
| 124 | ····················final·String·s·=·"SupplicantStaIfaceHal"; | 126 | ····················final·String·s·=·"SupplicantStaIfaceHal"; |
| 125 | ····················final·StringBuilder·sb·=·new·StringBuilder(); | 127 | ····················final·StringBuilder·sb·=·new·StringBuilder(); |
| 126 | ····················sb.append("ISupplicant.addInterface·exception:·"); | 128 | ····················sb.append("ISupplicant.addInterface·exception:·"); |
| 127 | ····················sb.append(ex); | 129 | ····················sb.append(ex); |
| 128 | ···················· | 130 | ····················string·=·sb.toString(); |
| 129 | ···················· | 131 | ····················Log.e(s,·string); |
| 130 | ····················((SupplicantStaIfaceHal)value).handleNoSuchElementException(ex,·"addInterface"); |  | |
| 131 | ····················return·null; | 132 | ····················return·null; |
| 132 | ················} | 133 | ················} |
| 133 | ················catch·( | 134 | ················catch·(NoSuchElementException·ex2)·{ |
| 134 | ····················final·String·s2·=·"SupplicantStaIfaceHal"; | 135 | ····················final·String·s2·=·"SupplicantStaIfaceHal"; |
| 135 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); | 136 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); |
| 136 | ····················sb2.append("ISupplicant.addInterface·exception:·"); | 137 | ····················sb2.append("ISupplicant.addInterface·exception:·"); |
| 137 | ····················sb2.append(ex2); | 138 | ····················sb2.append(ex2); |
| 138 | ····················Log.e(s2,·sb2.toString()); | 139 | ····················Log.e(s2,·sb2.toString()); |
| 139 | ····················final·Object·value; | 140 | ····················final·Object·value; |
| 140 | ····················((SupplicantStaIfaceHal)value).handle | 141 | ····················((SupplicantStaIfaceHal)value).handleNoSuchElementException(ex2,·"addInterface"); |
|  | 142 | ····················return·null; | |
|  | 143 | ················} | |
|  | 144 | ················catch·(RemoteException·ex3)·{ | |
|  | 145 | ····················final·String·s3·=·"SupplicantStaIfaceHal"; | |
|  | 146 | ····················final·StringBuilder·sb3·=·new·StringBuilder(); | |
|  | 147 | ····················sb3.append("ISupplicant.addInterface·exception:·"); | |
|  | 148 | ····················sb3.append(ex3); | |
|  | 149 | ····················Log.e(s3,·sb3.toString()); | |
|  | 150 | ····················final·Object·value; | |
|  | 151 | ····················((SupplicantStaIfaceHal)value).handleRemoteException(ex3,·"addInterface"); | |
| 141 | ····················return·null; | 152 | ····················return·null; |
| 142 | ················} | 153 | ················} |
| 143 | ············} | 154 | ············} |
| 144 | ············catch·( | 155 | ············catch·(IllegalArgumentException·ex4)·{} |
| 145 | ············catch·( | 156 | ············catch·(NoSuchElementException·ex5)·{} |
|  | 157 | ············catch·(RemoteException·ex6)·{} | |
| 146 | ········} | 158 | ········} |
| 147 | ····} | 159 | ····} |
| 148 | ···· | 160 | ···· |
| 149 | ····private·SupplicantStaNetworkHal·addNetwork(final·String·s)·{ | 161 | ····private·SupplicantStaNetworkHal·addNetwork(final·String·s)·{ |
| 150 | ········final·Object·mLock·=·this.mLock; | 162 | ········final·Object·mLock·=·this.mLock; |
| 151 | ········//·monitorenter(mLock) | 163 | ········//·monitorenter(mLock) |
| 152 | ········final·String·s2·=·"addNetwork"; | 164 | ········final·String·s2·=·"addNetwork"; |
| Offset 271, 36 lines modified | Offset 283, 46 lines modified | ||
| 271 | ················this.handleRemoteException(ex,·"getTransport"); | 283 | ················this.handleRemoteException(ex,·"getTransport"); |
| 272 | ················return·false; | 284 | ················return·false; |
| 273 | ············} | 285 | ············} |
| 274 | ········} | 286 | ········} |
| 275 | ····} | 287 | ····} |
| 276 | ···· | 288 | ···· |
| 277 | ····private·boolean·checkStatusAndLogFailure(final·SupplicantStatus·supplicantStatus,·String·s)·{ | 289 | ····private·boolean·checkStatusAndLogFailure(final·SupplicantStatus·supplicantStatus,·String·s)·{ |
| 278 | ········ | 290 | ········final·Object·mLock·=·this.mLock; |
| 279 | ········ | 291 | ········//·monitorenter(mLock) |
| 280 | ········ | 292 | ········Label_0094:·{ |
| 281 | ············ | 293 | ············if·(supplicantStatus·==·null)·{ |
| 282 | ················ | 294 | ················break·Label_0094; |
| 283 | ················sb.append(s); |  | |
| 284 | ················s·=·"·failed:·"; |  | |
| 285 | ················sb.append(s); |  | |
| 286 | ················sb.append(supplicantStatus); |  | |
| 287 | ················Log.e(s2,·sb.toString()); |  | |
| 288 | ················return·false; |  | |
| 289 | ············} | 295 | ············} |
| 290 | ············ | 296 | ············try·{ |
| 291 | ················ | 297 | ················if·(supplicantStatus.code·!=·0)·{ |
| 292 | ················final·String | 298 | ····················final·String·s2·=·"SupplicantStaIfaceHal"; |
| 293 | ················ | 299 | ····················final·StringBuilder·sb·=·new·StringBuilder(); |
| 294 | ················sb | 300 | ····················sb.append("ISupplicantStaIface."); |
| 295 | ················ | 301 | ····················sb.append(s); |
| 296 | ················s | 302 | ····················s·=·"·failed:·"; |
| 297 | ················ | 303 | ····················sb.append(s); |
|  | 304 | ····················sb.append(supplicantStatus); | |
|  | 305 | ····················Log.e(s2,·sb.toString()); | |
|  | 306 | ····················return·false; | |
|  | 307 | ················} | |
|  | 308 | ················if·(this.mVerboseLoggingEnabled)·{ | |
|  | 309 | ····················final·String·s3·=·"SupplicantStaIfaceHal"; | |
|  | 310 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); | |
|  | 311 | ····················sb2.append("ISupplicantStaIface."); | |
|  | 312 | ····················sb2.append(s); | |
|  | 313 | ····················s·=·"·succeeded"; | |
|  | 314 | ····················sb2.append(s); | |
|  | 315 | ····················Log.d(s3,·sb2.toString()); | |
|  | 316 | ················} | |
|  | 317 | ················return·true; | |
| 298 | ············} | 318 | ············} |
| 299 | ············ | 319 | ············finally·{ |
|  | 320 | ············} | |
|  | 321 | ············//·monitorexit(mLock) | |
| 300 | ········} | 322 | ········} |
| 301 | ····} | 323 | ····} |
| 302 | ···· | 324 | ···· |
| 303 | ····private·boolean·checkSupplicantAndLogFailure(String·string)·{ | 325 | ····private·boolean·checkSupplicantAndLogFailure(String·string)·{ |
| 304 | ········synchronized·(this.mLock)·{ | 326 | ········synchronized·(this.mLock)·{ |
| 305 | ············if·(this.mISupplicant·==·null)·{ | 327 | ············if·(this.mISupplicant·==·null)·{ |
| 306 | ················final·String·s·=·"SupplicantStaIfaceHal"; | 328 | ················final·String·s·=·"SupplicantStaIfaceHal"; |
| Offset 563, 14 lines modified | Offset 585, 28 lines modified | ||
| 563 | ········} | 585 | ········} |
| 564 | ········if·(technology·!=·n2)·{ | 586 | ········if·(technology·!=·n2)·{ |
| 565 | ············return·0; | 587 | ············return·0; |
| 566 | ········} | 588 | ········} |
| 567 | ········return·6; | 589 | ········return·6; |
| 568 | ····} | 590 | ····} |
| 569 | ···· | 591 | ···· |
|  | 592 | ····private·void·handleIllegalArgumentException(final·IllegalArgumentException·ex,·String·string)·{ | |
|  | 593 | ········synchronized·(this.mLock)·{ | |
| ... Open expanded diff ... | |||
| Offset 373, 26 lines modified | Offset 373, 42 lines modified | ||
| 373 | ···· | 373 | ···· |
| 374 | ····private·Set·clearInternalDataForCurrentUser()·{ | 374 | ····private·Set·clearInternalDataForCurrentUser()·{ |
| 375 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 375 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 376 | ········sb.append("clearInternalUserData:·Clearing·user·internal·data·for·"); | 376 | ········sb.append("clearInternalUserData:·Clearing·user·internal·data·for·"); |
| 377 | ········sb.append(this.mCurrentUserId); | 377 | ········sb.append(this.mCurrentUserId); |
| 378 | ········this.localLog(sb.toString()); | 378 | ········this.localLog(sb.toString()); |
| 379 | ········final·HashSet<Integer>·set·=·new·HashSet<Integer>(); | 379 | ········final·HashSet<Integer>·set·=·new·HashSet<Integer>(); |
| 380 | ········f | 380 | ········final·Iterator·iterator·=·this.getConfiguredNetworks().iterator(); |
| 381 | ········ | 381 | ········int·n; |
| 382 | ········ | 382 | ········while·(true)·{ |
| 383 | ············ | 383 | ············final·boolean·hasNext·=·iterator.hasNext(); |
| 384 | ············ | 384 | ············n·=·1; |
| 385 | ············ | 385 | ············if·(!hasNext)·{ |
| 386 | ················ | 386 | ················break; |
| 387 | ············ | 387 | ············} |
| 388 | ············· | 388 | ············final·WifiConfiguration·wifiConfiguration·=·(WifiConfiguration)iterator.next(); |
| 389 | ············ | 389 | ············if·((!wifiConfiguration.shared·||·!this.doesUidBelongToCurrentUser(wifiConfiguration.creatorUid))·&&·!wifiConfiguration.ephemeral)·{ |
|  | 390 | ················continue; | |
|  | 391 | ············} | |
|  | 392 | ············set.add(wifiConfiguration.networkId); | |
|  | 393 | ············final·StringBuilder·sb2·=·new·StringBuilder(); | |
|  | 394 | ············sb2.append("clearInternalUserData:·removed·config.·netId="); | |
|  | 395 | ············sb2.append(wifiConfiguration.networkId); | |
|  | 396 | ············sb2.append("·configKey="); | |
|  | 397 | ············sb2.append(wifiConfiguration.getKey()); | |
|  | 398 | ············this.localLog(sb2.toString()); | |
|  | 399 | ············this.mConfiguredNetworks.remove(wifiConfiguration.networkId); | |
|  | 400 | ············final·Iterator<WifiConfigManager$OnNetworkUpdateListener>·iterator2·=·(Iterator<WifiConfigManager$OnNetworkUpdateListener>)this.mListeners.iterator(); | |
|  | 401 | ············while·(iterator2.hasNext())·{ | |
|  | 402 | ················((WifiConfigManager$OnNetworkUpdateListener)iterator2.next()).onNetworkRemoved(this.createExternalWifiConfiguration(wifiConfiguration,·(boolean)(n·!=·0),·1010)); | |
| 390 | ············} | 403 | ············} |
| 391 | ········} | 404 | ········} |
|  | 405 | ········if·(!set.isEmpty())·{ | |
|  | 406 | ············this.sendConfiguredNetworkChangedBroadcast(n); | |
|  | 407 | ········} | |
| 392 | ········this.mUserTemporarilyDisabledList.clear(); | 408 | ········this.mUserTemporarilyDisabledList.clear(); |
| 393 | ········this.mScanDetailCaches.clear(); | 409 | ········this.mScanDetailCaches.clear(); |
| 394 | ········this.clearLastSelectedNetwork(); | 410 | ········this.clearLastSelectedNetwork(); |
| 395 | ········return·set; | 411 | ········return·set; |
| 396 | ····} | 412 | ····} |
| 397 | ···· | 413 | ···· |
| 398 | ····private·WifiConfiguration·createExternalWifiConfiguration(final·WifiConfiguration·wifiConfiguration,·final·boolean·b,·final·int·n)·{ | 414 | ····private·WifiConfiguration·createExternalWifiConfiguration(final·WifiConfiguration·wifiConfiguration,·final·boolean·b,·final·int·n)·{ |
| Offset 414, 15 lines modified | Offset 430, 14 lines modified | ||
| 414 | ········defaultsInWifiConfiguration.networkId·=·this.mNextNetworkId++; | 430 | ········defaultsInWifiConfiguration.networkId·=·this.mNextNetworkId++; |
| 415 | ········this.setDefaultsInWifiConfiguration(defaultsInWifiConfiguration); | 431 | ········this.setDefaultsInWifiConfiguration(defaultsInWifiConfiguration); |
| 416 | ········this.mergeWithInternalWifiConfiguration(defaultsInWifiConfiguration,·wifiConfiguration); | 432 | ········this.mergeWithInternalWifiConfiguration(defaultsInWifiConfiguration,·wifiConfiguration); |
| 417 | ········defaultsInWifiConfiguration.requirePmf·=·wifiConfiguration.requirePmf; | 433 | ········defaultsInWifiConfiguration.requirePmf·=·wifiConfiguration.requirePmf; |
| 418 | ········defaultsInWifiConfiguration.noInternetAccessExpected·=·wifiConfiguration.noInternetAccessExpected; | 434 | ········defaultsInWifiConfiguration.noInternetAccessExpected·=·wifiConfiguration.noInternetAccessExpected; |
| 419 | ········defaultsInWifiConfiguration.ephemeral·=·wifiConfiguration.ephemeral; | 435 | ········defaultsInWifiConfiguration.ephemeral·=·wifiConfiguration.ephemeral; |
| 420 | ········defaultsInWifiConfiguration.osu·=·wifiConfiguration.osu; | 436 | ········defaultsInWifiConfiguration.osu·=·wifiConfiguration.osu; |
| 421 | ········defaultsInWifiConfiguration.trusted·=·wifiConfiguration.trusted; |  | |
| 422 | ········defaultsInWifiConfiguration.fromWifiNetworkSuggestion·=·wifiConfiguration.fromWifiNetworkSuggestion; | 437 | ········defaultsInWifiConfiguration.fromWifiNetworkSuggestion·=·wifiConfiguration.fromWifiNetworkSuggestion; |
| 423 | ········defaultsInWifiConfiguration.fromWifiNetworkSpecifier·=·wifiConfiguration.fromWifiNetworkSpecifier; | 438 | ········defaultsInWifiConfiguration.fromWifiNetworkSpecifier·=·wifiConfiguration.fromWifiNetworkSpecifier; |
| 424 | ········defaultsInWifiConfiguration.useExternalScores·=·wifiConfiguration.useExternalScores; | 439 | ········defaultsInWifiConfiguration.useExternalScores·=·wifiConfiguration.useExternalScores; |
| 425 | ········defaultsInWifiConfiguration.shared·=·wifiConfiguration.shared; | 440 | ········defaultsInWifiConfiguration.shared·=·wifiConfiguration.shared; |
| 426 | ········defaultsInWifiConfiguration.updateIdentifier·=·wifiConfiguration.updateIdentifier; | 441 | ········defaultsInWifiConfiguration.updateIdentifier·=·wifiConfiguration.updateIdentifier; |
| 427 | ········defaultsInWifiConfiguration.setPasspointUniqueId(wifiConfiguration.getPasspointUniqueId()); | 442 | ········defaultsInWifiConfiguration.setPasspointUniqueId(wifiConfiguration.getPasspointUniqueId()); |
| 428 | ········defaultsInWifiConfiguration.lastUpdateUid·=·n; | 443 | ········defaultsInWifiConfiguration.lastUpdateUid·=·n; |
| Offset 1182, 15 lines modified | Offset 1197, 15 lines modified | ||
| 1182 | ····} | 1197 | ····} |
| 1183 | ···· | 1198 | ···· |
| 1184 | ····private·boolean·tryEnableNetwork(final·WifiConfiguration·wifiConfiguration)·{ | 1199 | ····private·boolean·tryEnableNetwork(final·WifiConfiguration·wifiConfiguration)·{ |
| 1185 | ········final·WifiConfiguration$NetworkSelectionStatus·networkSelectionStatus·=·wifiConfiguration.getNetworkSelectionStatus(); | 1200 | ········final·WifiConfiguration$NetworkSelectionStatus·networkSelectionStatus·=·wifiConfiguration.getNetworkSelectionStatus(); |
| 1186 | ········if·(networkSelectionStatus.isNetworkTemporaryDisabled())·{ | 1201 | ········if·(networkSelectionStatus.isNetworkTemporaryDisabled())·{ |
| 1187 | ············final·long·n·=·this.mClock.getElapsedSinceBootMillis()·-·networkSelectionStatus.getDisableTime(); | 1202 | ············final·long·n·=·this.mClock.getElapsedSinceBootMillis()·-·networkSelectionStatus.getDisableTime(); |
| 1188 | ············final·int·networkSelectionDisableReason·=·networkSelectionStatus.getNetworkSelectionDisableReason(); | 1203 | ············final·int·networkSelectionDisableReason·=·networkSelectionStatus.getNetworkSelectionDisableReason(); |
| 1189 | ············final·int·min·=·Math.min(10,·this.mWifiInjector.getBssidBlocklistMonitor(). | 1204 | ············final·int·min·=·Math.min(10,·this.mWifiInjector.getBssidBlocklistMonitor().updateAndGetNumBlockedBssidsForSsid(wifiConfiguration.SSID)); |
| 1190 | ············long·n2·=·0L; | 1205 | ············long·n2·=·0L; |
| 1191 | ············if·(min·>·0)·{ | 1206 | ············if·(min·>·0)·{ |
| 1192 | ················n2·=·(long)(getNetworkSelectionDisableTimeoutMillis(networkSelectionDisableReason)·*·Math.pow(2.0,·(double)min·-·1.0)); | 1207 | ················n2·=·(long)(getNetworkSelectionDisableTimeoutMillis(networkSelectionDisableReason)·*·Math.pow(2.0,·(double)min·-·1.0)); |
| 1193 | ············} | 1208 | ············} |
| 1194 | ············if·(n·>=·n2)·{ | 1209 | ············if·(n·>=·n2)·{ |
| 1195 | ················return·this.updateNetworkSelectionStatus(wifiConfiguration,·0); | 1210 | ················return·this.updateNetworkSelectionStatus(wifiConfiguration,·0); |
| 1196 | ············} | 1211 | ············} |
| Offset 119, 38 lines modified | Offset 119, 56 lines modified | ||
| 119 | ········} | 119 | ········} |
| 120 | ········if·(wifiConfiguration.hiddenSSID·!=·wifiConfiguration2.hiddenSSID)·{ | 120 | ········if·(wifiConfiguration.hiddenSSID·!=·wifiConfiguration2.hiddenSSID)·{ |
| 121 | ············return·b; | 121 | ············return·b; |
| 122 | ········} | 122 | ········} |
| 123 | ········if·(wifiConfiguration.requirePmf·!=·wifiConfiguration2.requirePmf)·{ | 123 | ········if·(wifiConfiguration.requirePmf·!=·wifiConfiguration2.requirePmf)·{ |
| 124 | ············return·b; | 124 | ············return·b; |
| 125 | ········} | 125 | ········} |
|  | 126 | ········if·(wifiConfiguration.carrierId·!=·wifiConfiguration2.carrierId)·{ | |
|  | 127 | ············return·b; | |
|  | 128 | ········} | |
| 126 | ········return·hasEnterpriseConfigChanged(wifiConfiguration.enterpriseConfig,·wifiConfiguration2.enterpriseConfig)·&&·b; | 129 | ········return·hasEnterpriseConfigChanged(wifiConfiguration.enterpriseConfig,·wifiConfiguration2.enterpriseConfig)·&&·b; |
| 127 | ····} | 130 | ····} |
| 128 | ···· | 131 | ···· |
| 129 | ····public·static·boolean·hasEnterpriseConfigChanged(final·WifiEnterpriseConfig·wifiEnterpriseConfig,·final·WifiEnterpriseConfig·wifiEnterpriseConfig2)·{ | 132 | ····public·static·boolean·hasEnterpriseConfigChanged(final·WifiEnterpriseConfig·wifiEnterpriseConfig,·final·WifiEnterpriseConfig·wifiEnterpriseConfig2)·{ |
| 130 | ········final·boolean·b·=·true; | 133 | ········final·boolean·b·=·true; |
| 131 | ········if·(wifiEnterpriseConfig·!=·null·&&·wifiEnterpriseConfig2·!=·null)·{ | 134 | ········if·(wifiEnterpriseConfig·!=·null·&&·wifiEnterpriseConfig2·!=·null)·{ |
| 132 | ············if·(wifiEnterpriseConfig.getEapMethod()·!=·wifiEnterpriseConfig2.getEapMethod())·{ | 135 | ············if·(wifiEnterpriseConfig.getEapMethod()·!=·wifiEnterpriseConfig2.getEapMethod())·{ |
| 133 | ················return·b; | 136 | ················return·b; |
| 134 | ············} | 137 | ············} |
|  | 138 | ············if·(wifiEnterpriseConfig.isAuthenticationSimBased())·{ | |
|  | 139 | ················return·false; | |
|  | 140 | ············} | |
| 135 | ············if·(wifiEnterpriseConfig.getPhase2Method()·!=·wifiEnterpriseConfig2.getPhase2Method())·{ | 141 | ············if·(wifiEnterpriseConfig.getPhase2Method()·!=·wifiEnterpriseConfig2.getPhase2Method())·{ |
| 136 | ················return·b; | 142 | ················return·b; |
| 137 | ············} | 143 | ············} |
| 138 | ············if·(!TextUtils.equals((CharSequence)wifiEnterpriseConfig.getIdentity(),·(CharSequence)wifiEnterpriseConfig2.getIdentity()))·{ | 144 | ············if·(!TextUtils.equals((CharSequence)wifiEnterpriseConfig.getIdentity(),·(CharSequence)wifiEnterpriseConfig2.getIdentity()))·{ |
| 139 | ················return·b; | 145 | ················return·b; |
| 140 | ············} | 146 | ············} |
| 141 | ············if·(! | 147 | ············if·(!TextUtils.equals((CharSequence)wifiEnterpriseConfig.getAnonymousIdentity(),·(CharSequence)wifiEnterpriseConfig2.getAnonymousIdentity()))·{ |
| 142 | ················return·b; | 148 | ················return·b; |
| 143 | ············} | 149 | ············} |
| 144 | ············if·(!TextUtils.equals((CharSequence)wifiEnterpriseConfig.getPassword(),·(CharSequence)wifiEnterpriseConfig2.getPassword()))·{ | 150 | ············if·(!TextUtils.equals((CharSequence)wifiEnterpriseConfig.getPassword(),·(CharSequence)wifiEnterpriseConfig2.getPassword()))·{ |
| 145 | ················return·b; | 151 | ················return·b; |
| 146 | ············} | 152 | ············} |
| 147 | ············if·(!Arrays.equals(wifiEnterpriseConfig.getCaCertificates(),·wifiEnterpriseConfig2.getCaCertificates()))·{ | 153 | ············if·(!Arrays.equals(wifiEnterpriseConfig.getCaCertificates(),·wifiEnterpriseConfig2.getCaCertificates()))·{ |
| 148 | ················return·b; | 154 | ················return·b; |
| 149 | ············} | 155 | ············} |
|  | 156 | ············if·(!Arrays.equals(wifiEnterpriseConfig2.getCaCertificateAliases(),·wifiEnterpriseConfig.getCaCertificateAliases()))·{ | |
|  | 157 | ················return·b; | |
|  | 158 | ············} | |
|  | 159 | ············if·(!TextUtils.equals((CharSequence)wifiEnterpriseConfig2.getClientCertificateAlias(),·(CharSequence)wifiEnterpriseConfig.getClientCertificateAlias()))·{ | |
|  | 160 | ················return·b; | |
|  | 161 | ············} | |
|  | 162 | ············if·(!TextUtils.equals((CharSequence)wifiEnterpriseConfig2.getAltSubjectMatch(),·(CharSequence)wifiEnterpriseConfig.getAltSubjectMatch()))·{ | |
|  | 163 | ················return·b; | |
|  | 164 | ············} | |
|  | 165 | ············if·(wifiEnterpriseConfig2.getOcsp()·!=·wifiEnterpriseConfig.getOcsp())·{ | |
|  | 166 | ················return·b; | |
|  | 167 | ············} | |
| 150 | ········} | 168 | ········} |
| 151 | ········else·if·(wifiEnterpriseConfig·!=·null·||·wifiEnterpriseConfig2·!=·null)·{ | 169 | ········else·if·(wifiEnterpriseConfig·!=·null·||·wifiEnterpriseConfig2·!=·null)·{ |
| 152 | ············return·b; | 170 | ············return·b; |
| 153 | ········} | 171 | ········} |
| 154 | ········return·false; | 172 | ········return·false; |
| 155 | ····} | 173 | ····} |
| 156 | ···· | 174 | ···· |
| Offset 441, 28 lines modified | Offset 441, 29 lines modified | ||
| 441 | ············return·this.mCurrentSingleScanScheduleSec; | 441 | ············return·this.mCurrentSingleScanScheduleSec; |
| 442 | ········} | 442 | ········} |
| 443 | ····} | 443 | ····} |
| 444 | ···· | 444 | ···· |
| 445 | ····private·boolean·handleScanResults(final·List·list,·String·ssid,·final·boolean·b)·{ | 445 | ····private·boolean·handleScanResults(final·List·list,·String·ssid,·final·boolean·b)·{ |
| 446 | ········this.mWifiChannelUtilization.refreshChannelStatsAndChannelUtilization(this.mStateMachine.getWifiLinkLayerStats(),·-1); | 446 | ········this.mWifiChannelUtilization.refreshChannelStatsAndChannelUtilization(this.mStateMachine.getWifiLinkLayerStats(),·-1); |
| 447 | ········this.updateUserDisabledList(list); | 447 | ········this.updateUserDisabledList(list); |
| 448 | ········ | 448 | ········this.mBssidBlocklistMonitor.tryEnablingBlockedBssids(list); |
|  | 449 | ········final·Set·updateAndGetBssidBlocklistForSsid·=·this.mBssidBlocklistMonitor.updateAndGetBssidBlocklistForSsid(this.mWifiInfo.getSSID()); | |
| 449 | ········if·(this.mStateMachine.isSupplicantTransientState())·{ | 450 | ········if·(this.mStateMachine.isSupplicantTransientState())·{ |
| 450 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 451 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 451 | ············sb.append(ssid); | 452 | ············sb.append(ssid); |
| 452 | ············sb.append("·onResults:·No·network·selection·because·supplicantTransientState·is·"); | 453 | ············sb.append("·onResults:·No·network·selection·because·supplicantTransientState·is·"); |
| 453 | ············sb.append(this.mStateMachine.isSupplicantTransientState()); | 454 | ············sb.append(this.mStateMachine.isSupplicantTransientState()); |
| 454 | ············this.localLog(sb.toString()); | 455 | ············this.localLog(sb.toString()); |
| 455 | ············return·false; | 456 | ············return·false; |
| 456 | ········} | 457 | ········} |
| 457 | ········final·StringBuilder·sb2·=·new·StringBuilder(); | 458 | ········final·StringBuilder·sb2·=·new·StringBuilder(); |
| 458 | ········sb2.append(ssid); | 459 | ········sb2.append(ssid); |
| 459 | ········sb2.append("·onResults:·start·network·selection"); | 460 | ········sb2.append("·onResults:·start·network·selection"); |
| 460 | ········this.localLog(sb2.toString()); | 461 | ········this.localLog(sb2.toString()); |
| 461 | ········List·mLatestCandidates·=·this.mNetworkSelector.getCandidatesFromScan(list,·updateAndGetBssidBlocklist,·this.mWifiInfo,·this.mStateMachine.isConnected(),·this.mStateMachine.isDisconnected(),·this.mUntrustedConnectionAllowed); | 462 | ········List·mLatestCandidates·=·this.mNetworkSelector.getCandidatesFromScan(list,·updateAndGetBssidBlocklistForSsid,·this.mWifiInfo,·this.mStateMachine.isConnected(),·this.mStateMachine.isDisconnected(),·this.mUntrustedConnectionAllowed); |
| 462 | ········this.mLatestCandidates·=·mLatestCandidates; | 463 | ········this.mLatestCandidates·=·mLatestCandidates; |
| 463 | ········this.mLatestCandidatesTimestampMs·=·this.mClock.getElapsedSinceBootMillis(); | 464 | ········this.mLatestCandidatesTimestampMs·=·this.mClock.getElapsedSinceBootMillis(); |
| 464 | ········final·int·mDeviceMobilityState·=·this.mDeviceMobilityState; | 465 | ········final·int·mDeviceMobilityState·=·this.mDeviceMobilityState; |
| 465 | ········final·boolean·b2·=·true; | 466 | ········final·boolean·b2·=·true; |
| 466 | ········if·(mDeviceMobilityState·==·(b2·?·1·:·0)·&&·this.mContext.getResources().getBoolean(2130837510))·{ | 467 | ········if·(mDeviceMobilityState·==·(b2·?·1·:·0)·&&·this.mContext.getResources().getBoolean(2130837510))·{ |
| 467 | ············mLatestCandidates·=·this.filterCandidatesHighMovement(mLatestCandidates,·ssid,·b); | 468 | ············mLatestCandidates·=·this.filterCandidatesHighMovement(mLatestCandidates,·ssid,·b); |
| 468 | ········} | 469 | ········} |
| Offset 563, 31 lines modified | Offset 564, 29 lines modified | ||
| 563 | ········} | 564 | ········} |
| 564 | ········Preconditions.checkNotNull((Object)(this.mScanner·=·this.mWifiInjector.getWifiScanner())); | 565 | ········Preconditions.checkNotNull((Object)(this.mScanner·=·this.mWifiInjector.getWifiScanner())); |
| 565 | ········this.mScanner.registerScanListener((Executor)new·HandlerExecutor(this.mEventHandler),·(WifiScanner$ScanListener)this.mAllSingleScanListener); | 566 | ········this.mScanner.registerScanListener((Executor)new·HandlerExecutor(this.mEventHandler),·(WifiScanner$ScanListener)this.mAllSingleScanListener); |
| 566 | ····} | 567 | ····} |
| 567 | ···· | 568 | ···· |
| 568 | ····private·void·retryConnectionOnLatestCandidates(String·string,·final·String·s)·{ | 569 | ····private·void·retryConnectionOnLatestCandidates(String·string,·final·String·s)·{ |
| 569 | ········try·{ | 570 | ········try·{ |
| 570 | ············Label_02 | 571 | ············Label_0275:·{ |
| 571 | ················if·(this.mLatestCandidates·==·null)·{ | 572 | ················if·(this.mLatestCandidates·==·null)·{ |
| 572 | ····················break·Label_02 | 573 | ····················break·Label_0275; |
| 573 | ················} | 574 | ················} |
| 574 | ················final·List·mLatestCandidates·=·this.mLatestCandidates; | 575 | ················final·List·mLatestCandidates·=·this.mLatestCandidates; |
| 575 | ················try·{ | 576 | ················try·{ |
| 576 | ····················if·(mLatestCandidates.size()·==·0)·{ | 577 | ····················if·(mLatestCandidates.size()·==·0)·{ |
| 577 | ························break·Label_02 | 578 | ························break·Label_0275; |
| 578 | ····················} | 579 | ····················} |
| 579 | ····················final·Clock·mClock·=·this.mClock; | 580 | ····················final·Clock·mClock·=·this.mClock; |
| 580 | ····················try·{ | 581 | ····················try·{ |
| 581 | ························final·long·elapsedSinceBootMillis·=·mClock.getElapsedSinceBootMillis(); | 582 | ························final·long·elapsedSinceBootMillis·=·mClock.getElapsedSinceBootMillis(); |
| 582 | ························try·{ | 583 | ························try·{ |
| 583 | ···························· | 584 | ····························if·(elapsedSinceBootMillis·-·this.mLatestCandidatesTimestampMs·>·10000L)·{ |
| 584 | ···························· | 585 | ································break·Label_0275; |
| 585 | ····························if·(n·>·n2)·{ |  | |
| 586 | ································break·Label_0260; |  | |
| 587 | ····························} | 586 | ····························} |
| 588 | ····························final·MacAddress·fromString·=·MacAddress.fromString(string); | 587 | ····························final·MacAddress·fromString·=·MacAddress.fromString(string); |
| 589 | ····························try·{ | 588 | ····························try·{ |
| 590 | ································final·List·mLatestCandidates2·=·this.mLatestCandidates; | 589 | ································final·List·mLatestCandidates2·=·this.mLatestCandidates; |
| 591 | ································try·{ | 590 | ································try·{ |
| 592 | ····································final·int·size·=·mLatestCandidates2.size(); | 591 | ····································final·int·size·=·mLatestCandidates2.size(); |
| 593 | ····································try·{ | 592 | ····································try·{ |
| Offset 614, 15 lines modified | Offset 613, 15 lines modified | ||
| 614 | ····································································return; | 613 | ····································································return; |
| 615 | ································································} | 614 | ································································} |
| 616 | ································································try·{ | 615 | ································································try·{ |
| 617 | ····································································final·StringBuilder·sb·=·new·StringBuilder(); | 616 | ····································································final·StringBuilder·sb·=·new·StringBuilder(); |
| 618 | ····································································sb.append("Automatic·retry·on·the·next·best·WNS·candidate-"); | 617 | ····································································sb.append("Automatic·retry·on·the·next·best·WNS·candidate-"); |
| 619 | ····································································sb.append(selectNetwork.SSID); | 618 | ····································································sb.append(selectNetwork.SSID); |
| 620 | ····································································this.localLog(sb.toString()); | 619 | ····································································this.localLog(sb.toString()); |
| 621 | ····································································this.mBssidBlocklistMonitor.blockBssidForDurationMs(string,·s,· | 620 | ····································································this.mBssidBlocklistMonitor.blockBssidForDurationMs(string,·s,·10000L,·10,·0); |
| 622 | ····································································try·{ | 621 | ····································································try·{ |
| 623 | ········································································this.connectToNetwork(selectNetwork); | 622 | ········································································this.connectToNetwork(selectNetwork); |
| 624 | ········································································return; | 623 | ········································································return; |
| 625 | ········································································this.mLatestCandidates·=·null; | 624 | ········································································this.mLatestCandidates·=·null; |
| 626 | ····································································} | 625 | ····································································} |
| 627 | ····································································catch·(IllegalArgumentException·ex)·{ | 626 | ····································································catch·(IllegalArgumentException·ex)·{ |
| 628 | ········································································final·StringBuilder·sb2·=·new·StringBuilder(); | 627 | ········································································final·StringBuilder·sb2·=·new·StringBuilder(); |
| Offset 794, 15 lines modified | Offset 793, 15 lines modified | ||
| 794 | ········if·(size·==·0)·{ | 793 | ········if·(size·==·0)·{ |
| 795 | ············this.localLog("No·saved·network·for·starting·disconnected·PNO."); | 794 | ············this.localLog("No·saved·network·for·starting·disconnected·PNO."); |
| 796 | ············return; | 795 | ············return; |
| 797 | ········} | 796 | ········} |
| 798 | ········final·WifiScanner$PnoSettings$PnoNetwork[]·networkList·=·new·WifiScanner$PnoSettings$PnoNetwork[size]; | 797 | ········final·WifiScanner$PnoSettings$PnoNetwork[]·networkList·=·new·WifiScanner$PnoSettings$PnoNetwork[size]; |
| 799 | ········wifiScanner$PnoSettings.networkList·=·networkList; | 798 | ········wifiScanner$PnoSettings.networkList·=·networkList; |
| 800 | ········wifiScanner$PnoSettings.networkList·=·retrievePnoNetworkList.toArray(networkList); | 799 | ········wifiScanner$PnoSettings.networkList·=·retrievePnoNetworkList.toArray(networkList); |
| 801 | ········wifiScanner$PnoSettings.min6GHzRssi·=·this.mScoringParams.getEntryRssi(59 | 800 | ········wifiScanner$PnoSettings.min6GHzRssi·=·this.mScoringParams.getEntryRssi(5955); |
| 802 | ········wifiScanner$PnoSettings.min5GHzRssi·=·this.mScoringParams.getEntryRssi(5160); | 801 | ········wifiScanner$PnoSettings.min5GHzRssi·=·this.mScoringParams.getEntryRssi(5160); |
| 803 | ········wifiScanner$PnoSettings.min24GHzRssi·=·this.mScoringParams.getEntryRssi(2412); | 802 | ········wifiScanner$PnoSettings.min24GHzRssi·=·this.mScoringParams.getEntryRssi(2412); |
| 804 | ········final·WifiScanner$ScanSettings·wifiScanner$ScanSettings·=·new·WifiScanner$ScanSettings(); | 803 | ········final·WifiScanner$ScanSettings·wifiScanner$ScanSettings·=·new·WifiScanner$ScanSettings(); |
| 805 | ········wifiScanner$ScanSettings.band·=·this.getScanBand(); | 804 | ········wifiScanner$ScanSettings.band·=·this.getScanBand(); |
| 806 | ········wifiScanner$ScanSettings.reportEvents·=·4; | 805 | ········wifiScanner$ScanSettings.reportEvents·=·4; |
| 807 | ········wifiScanner$ScanSettings.numBssidsPerScan·=·0; | 806 | ········wifiScanner$ScanSettings.numBssidsPerScan·=·0; |
| 808 | ········wifiScanner$ScanSettings.periodInMs·=·this.deviceMobilityStateToPnoScanIntervalMs(this.mDeviceMobilityState); | 807 | ········wifiScanner$ScanSettings.periodInMs·=·this.deviceMobilityStateToPnoScanIntervalMs(this.mDeviceMobilityState); |
| Offset 1, 22 lines modified | Offset 1, 23 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
|  | 2 | import·android.content.pm.PackageInfo; | |
|  | 3 | import·android.content.pm.ModuleInfo; | |
|  | 4 | import·android.content.pm.PackageManager; | |
|  | 5 | import·android.content.pm.PackageManager$NameNotFoundException; | |
| 2 | import·java.io.PrintWriter; | 6 | import·java.io.PrintWriter; |
| 3 | import·java.io.FileDescriptor; | 7 | import·java.io.FileDescriptor; |
| 4 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$HealthMonitorMetrics; | 8 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$HealthMonitorMetrics; |
| 5 | import·com.android.server.wifi.proto.WifiStatsLog; | 9 | import·com.android.server.wifi.proto.WifiStatsLog; |
| 6 | import·java.util.Calendar; | 10 | import·java.util.Calendar; |
| 7 | import·android.net.wifi.WifiScanner$ScanListener; | 11 | import·android.net.wifi.WifiScanner$ScanListener; |
|  | 12 | import·android.util.Log; | |
| 8 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$HealthMonitorFailureStats; | 13 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$HealthMonitorFailureStats; |
| 9 | import·android.content.pm.PackageInfo; |  | |
| 10 | import·android.content.pm.PackageManager; |  | |
| 11 | import·android.os.Build; | 14 | import·android.os.Build; |
| 12 | import·android.content.pm.PackageManager$NameNotFoundException; |  | |
| 13 | import·android.util.Log; |  | |
| 14 | import·java.util.Iterator; | 15 | import·java.util.Iterator; |
| 15 | import·android.net.wifi.WifiConfiguration; | 16 | import·android.net.wifi.WifiConfiguration; |
| 16 | import·java.util.List; | 17 | import·java.util.List; |
| 17 | import·android.net.wifi.WifiScanner; | 18 | import·android.net.wifi.WifiScanner; |
| 18 | import·android.os.Handler; | 19 | import·android.os.Handler; |
| 19 | import·android.app.AlarmManager$OnAlarmListener; | 20 | import·android.app.AlarmManager$OnAlarmListener; |
| 20 | import·android.content.Context; | 21 | import·android.content.Context; |
| Offset 43, 15 lines modified | Offset 44, 15 lines modified | ||
| 43 | ····public·static·final·int·REASON_AUTH_FAILURE·=·2; | 44 | ····public·static·final·int·REASON_AUTH_FAILURE·=·2; |
| 44 | ····public·static·final·int·REASON_CONNECTION_FAILURE·=·3; | 45 | ····public·static·final·int·REASON_CONNECTION_FAILURE·=·3; |
| 45 | ····public·static·final·int·REASON_DISCONNECTION_NONLOCAL·=·4; | 46 | ····public·static·final·int·REASON_DISCONNECTION_NONLOCAL·=·4; |
| 46 | ····public·static·final·int·REASON_NO_FAILURE·=·255; | 47 | ····public·static·final·int·REASON_NO_FAILURE·=·255; |
| 47 | ····public·static·final·int·REASON_SHORT_CONNECTION_NONLOCAL·=·5; | 48 | ····public·static·final·int·REASON_SHORT_CONNECTION_NONLOCAL·=·5; |
| 48 | ····private·static·final·String·SYSTEM_INFO_DATA_NAME·=·"systemInfoData"; | 49 | ····private·static·final·String·SYSTEM_INFO_DATA_NAME·=·"systemInfoData"; |
| 49 | ····private·static·final·String·TAG·=·"WifiHealthMonitor"; | 50 | ····private·static·final·String·TAG·=·"WifiHealthMonitor"; |
| 50 | ····private·static·final·String·WIFI_AP | 51 | ····private·static·final·String·WIFI_APEX_NAME·=·"com.android.wifi"; |
| 51 | ····private·final·AlarmManager·mAlarmManager; | 52 | ····private·final·AlarmManager·mAlarmManager; |
| 52 | ····private·final·Clock·mClock; | 53 | ····private·final·Clock·mClock; |
| 53 | ····private·final·Context·mContext; | 54 | ····private·final·Context·mContext; |
| 54 | ····private·final·AlarmManager$OnAlarmListener·mDailyDetectionListener; | 55 | ····private·final·AlarmManager$OnAlarmListener·mDailyDetectionListener; |
| 55 | ····private·final·DeviceConfigFacade·mDeviceConfigFacade; | 56 | ····private·final·DeviceConfigFacade·mDeviceConfigFacade; |
| 56 | ····private·int·mDeviceMobilityState; | 57 | ····private·int·mDeviceMobilityState; |
| 57 | ····private·WifiHealthMonitor$FailureStats·mFailureStatsDecrease; | 58 | ····private·WifiHealthMonitor$FailureStats·mFailureStatsDecrease; |
| Offset 162, 36 lines modified | Offset 163, 21 lines modified | ||
| 162 | ········//·monitorexit(this) | 163 | ········//·monitorexit(this) |
| 163 | ····} | 164 | ····} |
| 164 | ···· | 165 | ···· |
| 165 | ····private·WifiHealthMonitor$WifiSoftwareBuildInfo·extractCurrentSoftwareBuildInfo()·{ | 166 | ····private·WifiHealthMonitor$WifiSoftwareBuildInfo·extractCurrentSoftwareBuildInfo()·{ |
| 166 | ········if·(!this.mWifiEnabled)·{ | 167 | ········if·(!this.mWifiEnabled)·{ |
| 167 | ············return·null; | 168 | ············return·null; |
| 168 | ········} | 169 | ········} |
| 169 | ········final· | 170 | ········final·long·wifiStackVersion·=·this.getWifiStackVersion(); |
| 170 | ········long·longVersionCode·=·0L; |  | |
| 171 | ········final·String·s·=·"com.google.android.wifi"; |  | |
| 172 | ········final·int·n·=·1073741824; |  | |
| 173 | ········final·PackageManager·packageManager2·=·packageManager; |  | |
| 174 | ········final·String·s2·=·s; |  | |
| 175 | ········try·{ |  | |
| 176 | ············final·PackageInfo·packageInfo·=·packageManager2.getPackageInfo(s2,·n); |  | |
| 177 | ············try·{ |  | |
| 178 | ················longVersionCode·=·packageInfo.getLongVersionCode(); |  | |
| 179 | ············} |  | |
| 180 | ············catch·(PackageManager$NameNotFoundException·ex)·{ |  | |
| 181 | ················Log.e("WifiHealthMonitor",·"·Hit·PackageManager·exception",·(Throwable)ex); |  | |
| 182 | ············} |  | |
| 183 | ········} |  | |
| 184 | ········catch·(PackageManager$NameNotFoundException·ex2)·{} |  | |
| 185 | ········final·String·replaceNullByEmptyString·=·this.replaceNullByEmptyString(Build.DISPLAY); | 171 | ········final·String·replaceNullByEmptyString·=·this.replaceNullByEmptyString(Build.DISPLAY); |
| 186 | ········final·WifiNative·mWifiNative·=·this.mWifiNative; | 172 | ········final·WifiNative·mWifiNative·=·this.mWifiNative; |
| 187 | ········if·(mWifiNative·==·null)·{ | 173 | ········if·(mWifiNative·==·null)·{ |
| 188 | ············return·null; | 174 | ············return·null; |
| 189 | ········} | 175 | ········} |
| 190 | ········return·new·WifiHealthMonitor$WifiSoftwareBuildInfo(this,·replaceNullByEmptyString,· | 176 | ········return·new·WifiHealthMonitor$WifiSoftwareBuildInfo(this,·replaceNullByEmptyString,·wifiStackVersion,·this.replaceNullByEmptyString(mWifiNative.getDriverVersion()),·this.replaceNullByEmptyString(this.mWifiNative.getFirmwareVersion())); |
| 191 | ····} | 177 | ····} |
| 192 | ···· | 178 | ···· |
| 193 | ····private·WifiMetricsProto$HealthMonitorFailureStats·failureStatsToProto(final·WifiHealthMonitor$FailureStats·wifiHealthMonitor$FailureStats)·{ | 179 | ····private·WifiMetricsProto$HealthMonitorFailureStats·failureStatsToProto(final·WifiHealthMonitor$FailureStats·wifiHealthMonitor$FailureStats)·{ |
| 194 | ········final·WifiMetricsProto$HealthMonitorFailureStats·wifiMetricsProto$HealthMonitorFailureStats·=·new·WifiMetricsProto$HealthMonitorFailureStats(); | 180 | ········final·WifiMetricsProto$HealthMonitorFailureStats·wifiMetricsProto$HealthMonitorFailureStats·=·new·WifiMetricsProto$HealthMonitorFailureStats(); |
| 195 | ········wifiMetricsProto$HealthMonitorFailureStats.cntAssocRejection·=·wifiHealthMonitor$FailureStats.getCount(0); | 181 | ········wifiMetricsProto$HealthMonitorFailureStats.cntAssocRejection·=·wifiHealthMonitor$FailureStats.getCount(0); |
| 196 | ········wifiMetricsProto$HealthMonitorFailureStats.cntAssocTimeout·=·wifiHealthMonitor$FailureStats.getCount(1); | 182 | ········wifiMetricsProto$HealthMonitorFailureStats.cntAssocTimeout·=·wifiHealthMonitor$FailureStats.getCount(1); |
| 197 | ········wifiMetricsProto$HealthMonitorFailureStats.cntAuthFailure·=·wifiHealthMonitor$FailureStats.getCount(2); | 183 | ········wifiMetricsProto$HealthMonitorFailureStats.cntAuthFailure·=·wifiHealthMonitor$FailureStats.getCount(2); |
| Offset 448, 23 lines modified | Offset 434, 39 lines modified | ||
| 448 | ········else·{ | 434 | ········else·{ |
| 449 | ············n·=·this.mDeviceConfigFacade.getNonstationaryScanRssiValidTimeMs(); | 435 | ············n·=·this.mDeviceConfigFacade.getNonstationaryScanRssiValidTimeMs(); |
| 450 | ········} | 436 | ········} |
| 451 | ········return·n; | 437 | ········return·n; |
| 452 | ····} | 438 | ····} |
| 453 | ···· | 439 | ···· |
| 454 | ····public·long·getWifiStackVersion()·{ | 440 | ····public·long·getWifiStackVersion()·{ |
| 455 | ········final· | 441 | ········final·PackageManager·packageManager·=·this.mContext.getPackageManager(); |
| 456 | ········long· | 442 | ········long·longVersionCode·=·0L; |
| 457 | ········i | 443 | ········final·String·s·=·"com.android.wifi"; |
| 458 | ········ | 444 | ········final·int·n·=·1; |
| 459 | ········ | 445 | ········final·PackageManager·packageManager2·=·packageManager; |
| 460 | ········ | 446 | ········final·String·s2·=·s; |
| 461 | ········ | 447 | ········try·{ |
|  | 448 | ············final·ModuleInfo·moduleInfo·=·packageManager2.getModuleInfo(s2,·n); | |
|  | 449 | ············try·{ | |
|  | 450 | ················final·String·packageName·=·moduleInfo.getPackageName(); | |
|  | 451 | ················if·(packageName·==·null)·{ | |
|  | 452 | ····················return·longVersionCode; | |
|  | 453 | ················} | |
|  | 454 | ················final·PackageInfo·packageInfo·=·packageManager.getPackageInfo(packageName,·1073741824); | |
|  | 455 | ················try·{ | |
|  | 456 | ····················longVersionCode·=·packageInfo.getLongVersionCode(); | |
|  | 457 | ················} | |
|  | 458 | ················catch·(PackageManager$NameNotFoundException·ex)·{ | |
|  | 459 | ····················Log.e("WifiHealthMonitor",·"·Hit·PackageManager·exception",·(Throwable)ex); | |
|  | 460 | ················} | |
|  | 461 | ············} | |
|  | 462 | ············catch·(PackageManager$NameNotFoundException·ex2)·{} | |
| 462 | ········} | 463 | ········} |
| 463 | ········ | 464 | ········catch·(PackageManager$NameNotFoundException·ex3)·{} |
|  | 465 | ········return·longVersionCode; | |
| 464 | ····} | 466 | ····} |
| 465 | ···· | 467 | ···· |
| 466 | ····WifiHealthMonitor$WifiSystemInfoStats·getWifiSystemInfoStats()·{ | 468 | ····WifiHealthMonitor$WifiSystemInfoStats·getWifiSystemInfoStats()·{ |
| 467 | ········return·this.mWifiSystemInfoStats; | 469 | ········return·this.mWifiSystemInfoStats; |
| 468 | ····} | 470 | ····} |
| 469 | ···· | 471 | ···· |
| 470 | ····public·void·installMemoryStoreSetUpDetectionAlarm(final·WifiScoreCard$MemoryStore·wifiScoreCard$MemoryStore)·{ | 472 | ····public·void·installMemoryStoreSetUpDetectionAlarm(final·WifiScoreCard$MemoryStore·wifiScoreCard$MemoryStore)·{ |
| Offset 151, 15 lines modified | Offset 151, 16 lines modified | ||
| 151 | ············(this.mAsyncChannelHandlerThread·=·new·HandlerThread("AsyncChannelHandlerThread")).start(); | 151 | ············(this.mAsyncChannelHandlerThread·=·new·HandlerThread("AsyncChannelHandlerThread")).start(); |
| 152 | ············(this.mWifiHandlerThread·=·new·HandlerThread("WifiHandlerThread")).start(); | 152 | ············(this.mWifiHandlerThread·=·new·HandlerThread("WifiHandlerThread")).start(); |
| 153 | ············final·Looper·looper·=·this.mWifiHandlerThread.getLooper(); | 153 | ············final·Looper·looper·=·this.mWifiHandlerThread.getLooper(); |
| 154 | ············final·Handler·handler·=·new·Handler(looper); | 154 | ············final·Handler·handler·=·new·Handler(looper); |
| 155 | ············this.mFrameworkFacade·=·new·FrameworkFacade(); | 155 | ············this.mFrameworkFacade·=·new·FrameworkFacade(); |
| 156 | ············this.mMacAddressUtil·=·new·MacAddressUtil(); | 156 | ············this.mMacAddressUtil·=·new·MacAddressUtil(); |
| 157 | ············this.mContext·=·mContext; | 157 | ············this.mContext·=·mContext; |
| 158 | ············this.mS | 158 | ············this.mScoringParams·=·new·ScoringParams((Context)mContext); |
|  | 159 | ············this.mSettingsMigrationDataHolder·=·new·SettingsMigrationDataHolder((Context)this.mContext); | |
| 159 | ············this.mConnectionFailureNotificationBuilder·=·new·ConnectionFailureNotificationBuilder(this.mContext,·this.getWifiStackPackageName(),·this.mFrameworkFacade); | 160 | ············this.mConnectionFailureNotificationBuilder·=·new·ConnectionFailureNotificationBuilder(this.mContext,·this.getWifiStackPackageName(),·this.mFrameworkFacade); |
| 160 | ············this.mBatteryStats·=·(BatteryStatsManager)((ContextWrapper)mContext).getSystemService((Class)BatteryStatsManager.class); | 161 | ············this.mBatteryStats·=·(BatteryStatsManager)((ContextWrapper)mContext).getSystemService((Class)BatteryStatsManager.class); |
| 161 | ············this.mWifiPermissionsWrapper·=·new·WifiPermissionsWrapper((Context)this.mContext); | 162 | ············this.mWifiPermissionsWrapper·=·new·WifiPermissionsWrapper((Context)this.mContext); |
| 162 | ············this.mNetworkScoreManager·=·(NetworkScoreManager)((ContextWrapper)this.mContext).getSystemService((Class)NetworkScoreManager.class); | 163 | ············this.mNetworkScoreManager·=·(NetworkScoreManager)((ContextWrapper)this.mContext).getSystemService((Class)NetworkScoreManager.class); |
| 163 | ············this.mWifiNetworkScoreCache·=·new·WifiNetworkScoreCache((Context)this.mContext); | 164 | ············this.mWifiNetworkScoreCache·=·new·WifiNetworkScoreCache((Context)this.mContext); |
| 164 | ············this.mNetworkScoreManager.registerNetworkScoreCallback(1,·0,·(Executor)new·HandlerExecutor(handler),·(NetworkScoreManager$NetworkScoreCallback)this.mWifiNetworkScoreCache); | 165 | ············this.mNetworkScoreManager.registerNetworkScoreCallback(1,·0,·(Executor)new·HandlerExecutor(handler),·(NetworkScoreManager$NetworkScoreCallback)this.mWifiNetworkScoreCache); |
| 165 | ············final·UserManager·mUserManager·=·(UserManager)((ContextWrapper)this.mContext).getSystemService((Class)UserManager.class); | 166 | ············final·UserManager·mUserManager·=·(UserManager)((ContextWrapper)this.mContext).getSystemService((Class)UserManager.class); |
| Offset 244, 26 lines modified | Offset 245, 24 lines modified | ||
| 244 | ············if·(((ActivityManager)((ContextWrapper)this.mContext).getSystemService((Class)ActivityManager.class)).isLowRamDevice())·{ | 245 | ············if·(((ActivityManager)((ContextWrapper)this.mContext).getSystemService((Class)ActivityManager.class)).isLowRamDevice())·{ |
| 245 | ················n2·=·256; | 246 | ················n2·=·256; |
| 246 | ············} | 247 | ············} |
| 247 | ············else·{ | 248 | ············else·{ |
| 248 | ················n2·=·512; | 249 | ················n2·=·512; |
| 249 | ············} | 250 | ············} |
| 250 | ············this.mConnectivityLocalLog·=·new·LocalLog(n2); | 251 | ············this.mConnectivityLocalLog·=·new·LocalLog(n2); |
| 251 | ············ | 252 | ············this.mWifiMetrics.setScoringParams(this.mScoringParams); |
| 252 | ············this.mScoringParams·=·scoringParams; |  | |
| 253 | ············this.mWifiMetrics.setScoringParams(scoringParams); |  | |
| 254 | ············final·ThroughputPredictor·mThroughputPredictor·=·new·ThroughputPredictor((Context)this.mContext); | 253 | ············final·ThroughputPredictor·mThroughputPredictor·=·new·ThroughputPredictor((Context)this.mContext); |
| 255 | ············this.mThroughputPredictor·=·mThroughputPredictor; | 254 | ············this.mThroughputPredictor·=·mThroughputPredictor; |
| 256 | ············(this.mWifiNetworkSelector·=·new·WifiNetworkSelector((Context)this.mContext,·this.mWifiScoreCard,·this.mScoringParams,·this.mWifiConfigManager,·this.mClock,·this.mConnectivityLocalLog,·this.mWifiMetrics,·this.mWifiNative,·mThroughputPredictor)).registerCandidateScorer((WifiCandidates$CandidateScorer)new·CompatibilityScorer(this.mScoringParams)); | 255 | ············(this.mWifiNetworkSelector·=·new·WifiNetworkSelector((Context)this.mContext,·this.mWifiScoreCard,·this.mScoringParams,·this.mWifiConfigManager,·this.mClock,·this.mConnectivityLocalLog,·this.mWifiMetrics,·this.mWifiNative,·mThroughputPredictor)).registerCandidateScorer((WifiCandidates$CandidateScorer)new·CompatibilityScorer(this.mScoringParams)); |
| 257 | ············this.mWifiNetworkSelector.registerCandidateScorer((WifiCandidates$CandidateScorer)new·ScoreCardBasedScorer(this.mScoringParams)); | 256 | ············this.mWifiNetworkSelector.registerCandidateScorer((WifiCandidates$CandidateScorer)new·ScoreCardBasedScorer(this.mScoringParams)); |
| 258 | ············this.mWifiNetworkSelector.registerCandidateScorer((WifiCandidates$CandidateScorer)new·BubbleFunScorer(this.mScoringParams)); | 257 | ············this.mWifiNetworkSelector.registerCandidateScorer((WifiCandidates$CandidateScorer)new·BubbleFunScorer(this.mScoringParams)); |
| 259 | ············this.mWifiNetworkSelector.registerCandidateScorer((WifiCandidates$CandidateScorer)new·ThroughputScorer(this.mScoringParams)); | 258 | ············this.mWifiNetworkSelector.registerCandidateScorer((WifiCandidates$CandidateScorer)new·ThroughputScorer(this.mScoringParams)); |
| 260 | ············this.mWifiMetrics.setWifiNetworkSelector(this.mWifiNetworkSelector); | 259 | ············this.mWifiMetrics.setWifiNetworkSelector(this.mWifiNetworkSelector); |
| 261 | ············this.mWifiNetworkSuggestionsManager·=·new·WifiNetworkSuggestionsManager(this.mContext,·handler4,·this,·this.mWifiPermissionsUtil,·this.mWifiConfigManager,·this.mWifiConfigStore,·this.mWifiMetrics,·this.mWifiCarrierInfoManager,·this.mWifiKeyStore,·this.mLruConnectionTracker); | 260 | ············this.mWifiNetworkSuggestionsManager·=·new·WifiNetworkSuggestionsManager(this.mContext,·handler4,·this,·this.mWifiPermissionsUtil,·this.mWifiConfigManager,·this.mWifiConfigStore,·this.mWifiMetrics,·this.mWifiCarrierInfoManager,·this.mWifiKeyStore,·this.mLruConnectionTracker); |
| 262 | ············final·PasspointManager·mPasspointManager·=·new·PasspointManager((Context)this.mContext,·this,·handler4,·this.mWifiNative,·this.mWifiKeyStore,·this.mClock,·new·PasspointObjectFactory(),·this.mWifiConfigManager,·this.mWifiConfigStore,·this.mWifiMetrics,·this.mWifiCarrierInfoManager); | 261 | ············final·PasspointManager·mPasspointManager·=·new·PasspointManager((Context)this.mContext,·this,·handler4,·this.mWifiNative,·this.mWifiKeyStore,·this.mClock,·new·PasspointObjectFactory(),·this.mWifiConfigManager,·this.mWifiConfigStore,·this.mWifiMetrics,·this.mWifiCarrierInfoManager,·this.mMacAddressUtil); |
| 263 | ············this.mPasspointManager·=·mPasspointManager; | 262 | ············this.mPasspointManager·=·mPasspointManager; |
| 264 | ············final·PasspointNetworkNominateHelper·passpointNetworkNominateHelper·=·new·PasspointNetworkNominateHelper(mPasspointManager,·this.mWifiConfigManager,·this.mConnectivityLocalLog); | 263 | ············final·PasspointNetworkNominateHelper·passpointNetworkNominateHelper·=·new·PasspointNetworkNominateHelper(mPasspointManager,·this.mWifiConfigManager,·this.mConnectivityLocalLog); |
| 265 | ············this.mSavedNetworkNominator·=·new·SavedNetworkNominator(this.mWifiConfigManager,·passpointNetworkNominateHelper,·this.mConnectivityLocalLog,·this.mWifiCarrierInfoManager,·this.mWifiPermissionsUtil,·this.mWifiNetworkSuggestionsManager); | 264 | ············this.mSavedNetworkNominator·=·new·SavedNetworkNominator(this.mWifiConfigManager,·passpointNetworkNominateHelper,·this.mConnectivityLocalLog,·this.mWifiCarrierInfoManager,·this.mWifiPermissionsUtil,·this.mWifiNetworkSuggestionsManager); |
| 266 | ············this.mNetworkSuggestionNominator·=·new·NetworkSuggestionNominator(this.mWifiNetworkSuggestionsManager,·this.mWifiConfigManager,·passpointNetworkNominateHelper,·this.mConnectivityLocalLog,·this.mWifiCarrierInfoManager); | 265 | ············this.mNetworkSuggestionNominator·=·new·NetworkSuggestionNominator(this.mWifiNetworkSuggestionsManager,·this.mWifiConfigManager,·passpointNetworkNominateHelper,·this.mConnectivityLocalLog,·this.mWifiCarrierInfoManager); |
| 267 | ············final·WifiContext·mContext4·=·this.mContext; | 266 | ············final·WifiContext·mContext4·=·this.mContext; |
| 268 | ············this.mScoredNetworkNominator·=·new·ScoredNetworkNominator((Context)mContext4,·handler4,·this.mFrameworkFacade,·this.mNetworkScoreManager,·((ContextWrapper)mContext4).getPackageManager(),·this.mWifiConfigManager,·this.mConnectivityLocalLog,·this.mWifiNetworkScoreCache,·this.mWifiPermissionsUtil); | 267 | ············this.mScoredNetworkNominator·=·new·ScoredNetworkNominator((Context)mContext4,·handler4,·this.mFrameworkFacade,·this.mNetworkScoreManager,·((ContextWrapper)mContext4).getPackageManager(),·this.mWifiConfigManager,·this.mConnectivityLocalLog,·this.mWifiNetworkScoreCache,·this.mWifiPermissionsUtil); |
| 269 | ············this.mWifiMetrics.setPasspointManager(this.mPasspointManager); | 268 | ············this.mWifiMetrics.setPasspointManager(this.mPasspointManager); |
| Offset 663, 15 lines modified | Offset 662, 15 lines modified | ||
| 663 | ···· | 662 | ···· |
| 664 | ····public·WifiConnectivityManager·makeWifiConnectivityManager(final·ClientModeImpl·clientModeImpl)·{ | 663 | ····public·WifiConnectivityManager·makeWifiConnectivityManager(final·ClientModeImpl·clientModeImpl)·{ |
| 665 | ········final·WifiContext·mContext·=·this.mContext; | 664 | ········final·WifiContext·mContext·=·this.mContext; |
| 666 | ········final·Looper·looper·=·this.mWifiHandlerThread.getLooper(); | 665 | ········final·Looper·looper·=·this.mWifiHandlerThread.getLooper(); |
| 667 | ········final·FrameworkFacade·mFrameworkFacade·=·this.mFrameworkFacade; | 666 | ········final·FrameworkFacade·mFrameworkFacade·=·this.mFrameworkFacade; |
| 668 | ········this.mOpenNetworkNotifier·=·new·OpenNetworkNotifier((Context)mContext,·looper,·mFrameworkFacade,·this.mClock,·this.mWifiMetrics,·this.mWifiConfigManager,·this.mWifiConfigStore,·clientModeImpl,·new·ConnectToNetworkNotificationBuilder(this.mContext,·this,·mFrameworkFacade)); | 667 | ········this.mOpenNetworkNotifier·=·new·OpenNetworkNotifier((Context)mContext,·looper,·mFrameworkFacade,·this.mClock,·this.mWifiMetrics,·this.mWifiConfigManager,·this.mWifiConfigStore,·clientModeImpl,·new·ConnectToNetworkNotificationBuilder(this.mContext,·this,·mFrameworkFacade)); |
| 669 | ········this.mWifiLastResortWatchdog·=·new·WifiLastResortWatchdog(this,·(Context)this.mContext,·this.mClock,·this.mWifiMetrics,·clientModeImpl,·this.mWifiHandlerThread.getLooper(),·this.mDeviceConfigFacade,·this.mWifiThreadRunner); | 668 | ········this.mWifiLastResortWatchdog·=·new·WifiLastResortWatchdog(this,·(Context)this.mContext,·this.mClock,·this.mWifiMetrics,·clientModeImpl,·this.mWifiHandlerThread.getLooper(),·this.mDeviceConfigFacade,·this.mWifiThreadRunner); |
| 670 | ········final·BssidBlocklistMonitor·bssidBlocklistMonitor·=·new·BssidBlocklistMonitor((Context)this.mContext,·this.mWifiConnectivityHelper,·this.mWifiLastResortWatchdog,·this.mClock,·this.mConnectivityLocalLog,·this.mWifiScoreCard); | 669 | ········final·BssidBlocklistMonitor·bssidBlocklistMonitor·=·new·BssidBlocklistMonitor((Context)this.mContext,·this.mWifiConnectivityHelper,·this.mWifiLastResortWatchdog,·this.mClock,·this.mConnectivityLocalLog,·this.mWifiScoreCard,·this.mScoringParams); |
| 671 | ········this.mBssidBlocklistMonitor·=·bssidBlocklistMonitor; | 670 | ········this.mBssidBlocklistMonitor·=·bssidBlocklistMonitor; |
| 672 | ········this.mWifiMetrics.setBssidBlocklistMonitor(bssidBlocklistMonitor); | 671 | ········this.mWifiMetrics.setBssidBlocklistMonitor(bssidBlocklistMonitor); |
| 673 | ········this.mWifiChannelUtilizationScan·=·new·WifiChannelUtilization(this.mClock,·(Context)this.mContext); | 672 | ········this.mWifiChannelUtilizationScan·=·new·WifiChannelUtilization(this.mClock,·(Context)this.mContext); |
| 674 | ········return·new·WifiConnectivityManager((Context)this.mContext,·this.getScoringParams(),·clientModeImpl,·this,·this.mWifiConfigManager,·this.mWifiNetworkSuggestionsManager,·clientModeImpl.getWifiInfo(),·this.mWifiNetworkSelector,·this.mWifiConnectivityHelper,·this.mWifiLastResortWatchdog,·this.mOpenNetworkNotifier,·this.mWifiMetrics,·new·Handler(this.mWifiHandlerThread.getLooper()),·this.mClock,·this.mConnectivityLocalLog,·this.mWifiScoreCard); | 673 | ········return·new·WifiConnectivityManager((Context)this.mContext,·this.getScoringParams(),·clientModeImpl,·this,·this.mWifiConfigManager,·this.mWifiNetworkSuggestionsManager,·clientModeImpl.getWifiInfo(),·this.mWifiNetworkSelector,·this.mWifiConnectivityHelper,·this.mWifiLastResortWatchdog,·this.mOpenNetworkNotifier,·this.mWifiMetrics,·new·Handler(this.mWifiHandlerThread.getLooper()),·this.mClock,·this.mConnectivityLocalLog,·this.mWifiScoreCard); |
| 675 | ····} | 674 | ····} |
| 676 | ···· | 675 | ···· |
| 677 | ····public·WifiNetworkFactory·makeWifiNetworkFactory(final·NetworkCapabilities·networkCapabilities,·final·WifiConnectivityManager·wifiConnectivityManager)·{ | 676 | ····public·WifiNetworkFactory·makeWifiNetworkFactory(final·NetworkCapabilities·networkCapabilities,·final·WifiConnectivityManager·wifiConnectivityManager)·{ |
| Offset 1, 28 lines modified | Offset 1, 28 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
| 2 | import·java.util.BitSet; |  | |
| 3 | import·java.util.Set; | 2 | import·java.util.Set; |
| 4 | import·android.net.wifi.WifiConfiguration; | 3 | import·android.net.wifi.WifiConfiguration; |
| 5 | import·android.text.TextUtils; |  | |
| 6 | import·java.security.KeyStoreException; | 4 | import·java.security.KeyStoreException; |
| 7 | import·android.security.KeyChain; | 5 | import·android.security.KeyChain; |
| 8 | import·java.util.Iterator; | 6 | import·java.util.Iterator; |
| 9 | import·java.util.List; | 7 | import·java.util.List; |
| 10 | import·java.security.cert.X509Certificate; |  | |
| 11 | import·java.util.ArrayList; | 8 | import·java.util.ArrayList; |
| 12 | import·java.util.Collection; | 9 | import·java.util.Collection; |
| 13 | import·java.util.Arrays; | 10 | import·java.util.Arrays; |
| 14 | import·android.util.ArraySet; | 11 | import·android.util.ArraySet; |
| 15 | import·com.android.server.wifi.util.ArrayUtils; | 12 | import·com.android.server.wifi.util.ArrayUtils; |
| 16 | import·com.android.wifi.x.com.android.internal.util.Preconditions; | 13 | import·com.android.wifi.x.com.android.internal.util.Preconditions; |
| 17 | import·android.net.wifi.WifiEnterpriseConfig; | 14 | import·android.net.wifi.WifiEnterpriseConfig; |
| 18 | import·java.security.Key; | 15 | import·java.security.Key; |
| 19 | import·java.security.cert.Certificate; | 16 | import·java.security.cert.Certificate; |
|  | 17 | import·javax.security.auth.x500.X500Principal; | |
|  | 18 | import·android.text.TextUtils; | |
|  | 19 | import·java.security.cert.X509Certificate; | |
| 20 | import·android.util.Log; | 20 | import·android.util.Log; |
| 21 | import·java.security.KeyStore; | 21 | import·java.security.KeyStore; |
| Â | Â | ||
| 22 | public·class·WifiKeyStore | 22 | public·class·WifiKeyStore |
| 23 | { | 23 | { |
| 24 | ····private·static·final·String·TAG·=·"WifiKeyStore"; | 24 | ····private·static·final·String·TAG·=·"WifiKeyStore"; |
| 25 | ····private·final·KeyStore·mKeyStore; | 25 | ····private·final·KeyStore·mKeyStore; |
| Offset 32, 14 lines modified | Offset 32, 46 lines modified | ||
| 32 | ········this.mVerboseLoggingEnabled·=·false; | 32 | ········this.mVerboseLoggingEnabled·=·false; |
| 33 | ········this.mKeyStore·=·mKeyStore; | 33 | ········this.mKeyStore·=·mKeyStore; |
| 34 | ········if·(mKeyStore·==·null)·{ | 34 | ········if·(mKeyStore·==·null)·{ |
| 35 | ············Log.e("WifiKeyStore",·"Unable·to·retrieve·keystore,·all·key·operations·will·fail"); | 35 | ············Log.e("WifiKeyStore",·"Unable·to·retrieve·keystore,·all·key·operations·will·fail"); |
| 36 | ········} | 36 | ········} |
| 37 | ····} | 37 | ····} |
| 38 | ···· | 38 | ···· |
|  | 39 | ····private·int·getSuiteBCipherFromCert(final·X509Certificate·x509Certificate)·{ | |
|  | 40 | ········final·String·sigAlgOID·=·x509Certificate.getSigAlgOID(); | |
|  | 41 | ········final·boolean·mVerboseLoggingEnabled·=·this.mVerboseLoggingEnabled; | |
|  | 42 | ········final·String·s·=·"WifiKeyStore"; | |
|  | 43 | ········if·(mVerboseLoggingEnabled)·{ | |
|  | 44 | ············final·X500Principal·subjectX500Principal·=·x509Certificate.getSubjectX500Principal(); | |
|  | 45 | ············if·(subjectX500Principal·!=·null·&&·!TextUtils.isEmpty((CharSequence)subjectX500Principal.getName()))·{ | |
|  | 46 | ················final·StringBuilder·sb·=·new·StringBuilder(); | |
|  | 47 | ················sb.append("Checking·cert·"); | |
|  | 48 | ················sb.append(subjectX500Principal.getName()); | |
|  | 49 | ················Log.d(s,·sb.toString()); | |
|  | 50 | ············} | |
|  | 51 | ········} | |
|  | 52 | ········if·(sigAlgOID.equals("1.2.840.113549.1.1.12"))·{ | |
|  | 53 | ············if·(this.mVerboseLoggingEnabled)·{ | |
|  | 54 | ················Log.d(s,·"Found·Suite-B·RSA·certificate"); | |
|  | 55 | ············} | |
|  | 56 | ············return·1; | |
|  | 57 | ········} | |
|  | 58 | ········if·(sigAlgOID.equals("1.2.840.10045.4.3.3"))·{ | |
|  | 59 | ············if·(this.mVerboseLoggingEnabled)·{ | |
|  | 60 | ················Log.d(s,·"Found·Suite-B·ECDSA·certificate"); | |
|  | 61 | ············} | |
|  | 62 | ············return·0; | |
|  | 63 | ········} | |
|  | 64 | ········final·StringBuilder·sb2·=·new·StringBuilder(); | |
|  | 65 | ········sb2.append("Invalid·certificate·type·for·Suite-B:·"); | |
|  | 66 | ········sb2.append(sigAlgOID); | |
|  | 67 | ········Log.e(s,·sb2.toString()); | |
|  | 68 | ········return·-1; | |
|  | 69 | ····} | |
|  | 70 | ···· | |
| 39 | ····private·static·boolean·hasHardwareBackedKey(final·Certificate·certificate)·{ | 71 | ····private·static·boolean·hasHardwareBackedKey(final·Certificate·certificate)·{ |
| 40 | ········return·isHardwareBackedKey(certificate.getPublicKey()); | 72 | ········return·isHardwareBackedKey(certificate.getPublicKey()); |
| 41 | ····} | 73 | ····} |
| 42 | ···· | 74 | ···· |
| 43 | ····private·boolean·installKeys(final·WifiEnterpriseConfig·wifiEnterpriseConfig,·final·WifiEnterpriseConfig·wifiEnterpriseConfig2,·final·String·s,·final·String·clientCertificateAlias)·{ | 75 | ····private·boolean·installKeys(final·WifiEnterpriseConfig·wifiEnterpriseConfig,·final·WifiEnterpriseConfig·wifiEnterpriseConfig2,·final·String·s,·final·String·clientCertificateAlias)·{ |
| 44 | ········Preconditions.checkNotNull((Object)this.mKeyStore); | 76 | ········Preconditions.checkNotNull((Object)this.mKeyStore); |
| 45 | ········final·X509Certificate[]·clientCertificateChain·=·wifiEnterpriseConfig2.getClientCertificateChain(); | 77 | ········final·X509Certificate[]·clientCertificateChain·=·wifiEnterpriseConfig2.getClientCertificateChain(); |
| Offset 170, 132 lines modified | Offset 202, 358 lines modified | ||
| 170 | ························} | 202 | ························} |
| 171 | ····················} | 203 | ····················} |
| 172 | ················} | 204 | ················} |
| 173 | ············} | 205 | ············} |
| 174 | ········} | 206 | ········} |
| 175 | ····} | 207 | ····} |
| 176 | ···· | 208 | ···· |
| 177 | ····public·boolean·updateNetworkKeys( | 209 | ····public·boolean·updateNetworkKeys(final·WifiConfiguration·p0,·final·WifiConfiguration·p1)·{ |
| 178 | ········ | 210 | ········//· |
| 179 | ········ | 211 | ········//·This·method·could·not·be·decompiled. |
| 180 | ········ | 212 | ········//· |
| 181 | ········ | 213 | ········//·Original·Bytecode: |
| 182 | ········ | 214 | ········//· |
| 183 | ········ | 215 | ········//·····2:·astore_3······· |
| 184 | ········ | 216 | ········//·····3:·aload_0········ |
| 185 | ········ | 217 | ········//·····4:·getfield········com/android/server/wifi/WifiKeyStore.mKeyStore:Ljava/security/KeyStore; |
| 186 | ········i | 218 | ········//·····7:·invokestatic····com/android/wifi/x/com/android/internal/util/Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object; |
| 187 | ········ | 219 | ········//····10:·pop············ |
| 188 | ········ | 220 | ········//····11:·aload_1········ |
| 189 | ············ | 221 | ········//····12:·getfield········android/net/wifi/WifiConfiguration.enterpriseConfig:Landroid/net/wifi/WifiEnterpriseConfig; |
| 190 | ········ | 222 | ········//····15:·invokestatic····com/android/wifi/x/com/android/internal/util/Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object; |
| 191 | ········ | 223 | ········//····18:·pop············ |
| 192 | ············ | 224 | ········//····19:·aload_1········ |
| 193 | ············enterpriseConfig | 225 | ········//····20:·getfield········android/net/wifi/WifiConfiguration.enterpriseConfig:Landroid/net/wifi/WifiEnterpriseConfig; |
| 194 | ········ | 226 | ········//····23:·astore··········4 |
| 195 | ········ | 227 | ········//····25:·aload_1········ |
| 196 | ········ | 228 | ········//····26:·aload_2········ |
| 197 | ········if | 229 | ········//····27:·invokevirtual···android/net/wifi/WifiConfiguration.getKeyIdForCredentials:(Landroid/net/wifi/WifiConfiguration;)Ljava/lang/String; |
| 198 | ············ | 230 | ········//····30:·astore··········5 |
| 199 | ········ | 231 | ········//····32:·aconst_null···· |
| 200 | ········ | 232 | ········//····33:·astore··········6 |
| 201 | ········ | 233 | ········//····35:·aload_2········ |
| 202 | ········ | 234 | ········//····36:·ifnull··········62 |
| 203 | ········ | 235 | ········//····39:·aload_2········ |
| 204 | ············La | 236 | ········//····40:·getfield········android/net/wifi/WifiConfiguration.enterpriseConfig:Landroid/net/wifi/WifiEnterpriseConfig; |
| 205 | ············ | 237 | ········//····43:·invokestatic····com/android/wifi/x/com/android/internal/util/Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object; |
| 206 | ········ | 238 | ········//····46:·pop············ |
| 207 | ················ | 239 | ········//····47:·aload_2········ |
| 208 | ················tr | 240 | ········//····48:·getfield········android/net/wifi/WifiConfiguration.enterpriseConfig:Landroid/net/wifi/WifiEnterpriseConfig; |
| 209 | ········ | 241 | ········//····51:·astore··········7 |
| 210 | ········ | 242 | ········//····53:·aload_2········ |
| 211 | ········ | 243 | ········//····54:·aload_2········ |
| 212 | ················ | 244 | ········//····55:·invokevirtual···android/net/wifi/WifiConfiguration.getKeyIdForCredentials:(Landroid/net/wifi/WifiConfiguration;)Ljava/lang/String; |
| 213 | ········ | 245 | ········//····58:·astore_2······· |
| 214 | ········ | 246 | ········//····59:·goto············73 |
| 215 | ········ | 247 | ········//····62:·iconst_0······· |
| 216 | ········ | 248 | ········//····63:·istore··········8 |
| 217 | ········ | 249 | ········//····65:·aconst_null···· |
| ... Open expanded diff ... | |||
| Offset 12, 11 lines modified | Offset 12, 11 lines modified | ||
| 12 | ····WifiMetrics$1(final·WifiMetrics·this$0,·final·Looper·looper)·{ | 12 | ····WifiMetrics$1(final·WifiMetrics·this$0,·final·Looper·looper)·{ |
| 13 | ········this.this$0·=·this$0; | 13 | ········this.this$0·=·this$0; |
| 14 | ········super(looper); | 14 | ········super(looper); |
| 15 | ····} | 15 | ····} |
| 16 | ···· | 16 | ···· |
| 17 | ····public·void·handleMessage(final·Message·message)·{ | 17 | ····public·void·handleMessage(final·Message·message)·{ |
| 18 | ········synchronized·(WifiMetrics.access$000(this.this$0))·{ | 18 | ········synchronized·(WifiMetrics.access$000(this.this$0))·{ |
| 19 | ············WifiMetrics.access$1 | 19 | ············WifiMetrics.access$1400(this.this$0,·message); |
| 20 | ········} | 20 | ········} |
| 21 | ····} | 21 | ····} |
| 22 | } | 22 | } |
| Offset 32, 15 lines modified | Offset 32, 15 lines modified | ||
| 32 | ········this.this$0·=·this$0; | 32 | ········this.this$0·=·this$0; |
| 33 | ········this.mConnectionEvent·=·new·WifiMetricsProto$ConnectionEvent(); | 33 | ········this.mConnectionEvent·=·new·WifiMetricsProto$ConnectionEvent(); |
| 34 | ········final·long·n·=·0L; | 34 | ········final·long·n·=·0L; |
| 35 | ········this.mRealEndTime·=·n; | 35 | ········this.mRealEndTime·=·n; |
| 36 | ········this.mRealStartTime·=·n; | 36 | ········this.mRealStartTime·=·n; |
| 37 | ········final·WifiMetrics$RouterFingerPrint·mRouterFingerPrint·=·new·WifiMetrics$RouterFingerPrint(this$0); | 37 | ········final·WifiMetrics$RouterFingerPrint·mRouterFingerPrint·=·new·WifiMetrics$RouterFingerPrint(this$0); |
| 38 | ········this.mRouterFingerPrint·=·mRouterFingerPrint; | 38 | ········this.mRouterFingerPrint·=·mRouterFingerPrint; |
| 39 | ········this.mConnectionEvent.routerFingerprint·=·WifiMetrics$RouterFingerPrint.access$1 | 39 | ········this.mConnectionEvent.routerFingerprint·=·WifiMetrics$RouterFingerPrint.access$1300(mRouterFingerPrint); |
| 40 | ········final·String·s·=·"<NULL>"; | 40 | ········final·String·s·=·"<NULL>"; |
| 41 | ········this.mConfigSsid·=·s; | 41 | ········this.mConfigSsid·=·s; |
| 42 | ········this.mConfigBssid·=·s; | 42 | ········this.mConfigBssid·=·s; |
| 43 | ········this.mWifiState·=·0; | 43 | ········this.mWifiState·=·0; |
| 44 | ········this.mScreenOn·=·false; | 44 | ········this.mScreenOn·=·false; |
| 45 | ····} | 45 | ····} |
| 46 | ···· | 46 | ···· |
| Offset 199, 15 lines modified | Offset 199, 15 lines modified | ||
| 199 | ··#194·=·NameAndType········#193:#180·····//·getOcsp:()I | 199 | ··#194·=·NameAndType········#193:#180·····//·getOcsp:()I |
| 200 | ··#195·=·Methodref··········#178.#194·····//·android/net/wifi/WifiEnterpriseConfig.getOcsp:()I | 200 | ··#195·=·Methodref··········#178.#194·····//·android/net/wifi/WifiEnterpriseConfig.getOcsp:()I |
| 201 | ··#196·=·Utf8···············access$600 | 201 | ··#196·=·Utf8···············access$600 |
| 202 | ··#197·=·NameAndType········#196:#184·····//·access$600:(Lcom/android/server/wifi/WifiMetrics;I)I | 202 | ··#197·=·NameAndType········#196:#184·····//·access$600:(Lcom/android/server/wifi/WifiMetrics;I)I |
| 203 | ··#198·=·Methodref··········#21.#197······//·com/android/server/wifi/WifiMetrics.access$600:(Lcom/android/server/wifi/WifiMetrics;I)I | 203 | ··#198·=·Methodref··········#21.#197······//·com/android/server/wifi/WifiMetrics.access$600:(Lcom/android/server/wifi/WifiMetrics;I)I |
| 204 | ··#199·=·Utf8···············Code | 204 | ··#199·=·Utf8···············Code |
| 205 | ··#200·=·Utf8···············(Lcom/android/server/wifi/WifiMetrics;)V | 205 | ··#200·=·Utf8···············(Lcom/android/server/wifi/WifiMetrics;)V |
| 206 | ··#201·=·Utf8···············access$1 | 206 | ··#201·=·Utf8···············access$1300 |
| 207 | ··#202·=·Utf8···············(Lcom/android/server/wifi/WifiMetrics$RouterFingerPrint;)Lcom/android/server/wifi/proto/nano/WifiMetricsProto$RouterFingerPrint; | 207 | ··#202·=·Utf8···············(Lcom/android/server/wifi/WifiMetrics$RouterFingerPrint;)Lcom/android/server/wifi/proto/nano/WifiMetricsProto$RouterFingerPrint; |
| 208 | ··#203·=·Utf8···············setMaxSupportedLinkSpeedMbps | 208 | ··#203·=·Utf8···············setMaxSupportedLinkSpeedMbps |
| 209 | ··#204·=·Utf8···············(II)V | 209 | ··#204·=·Utf8···············(II)V |
| 210 | ··#205·=·Utf8···············setPmkCache | 210 | ··#205·=·Utf8···············setPmkCache |
| 211 | ··#206·=·Utf8···············(Z)V | 211 | ··#206·=·Utf8···············(Z)V |
| 212 | ··#207·=·Utf8···············updateFromWifiConfiguration | 212 | ··#207·=·Utf8···············updateFromWifiConfiguration |
| 213 | ··#208·=·Utf8···············(Landroid/net/wifi/WifiConfiguration;)V | 213 | ··#208·=·Utf8···············(Landroid/net/wifi/WifiConfiguration;)V |
| Offset 235, 15 lines modified | Offset 235, 15 lines modified | ||
| 235 | ········13:·aload_1 | 235 | ········13:·aload_1 |
| 236 | ········14:·invokespecial·#17·················//·Method·com/android/server/wifi/proto/nano/WifiMetricsProto$RouterFingerPrint."<init>":()V | 236 | ········14:·invokespecial·#17·················//·Method·com/android/server/wifi/proto/nano/WifiMetricsProto$RouterFingerPrint."<init>":()V |
| 237 | ········17:·aload_0 | 237 | ········17:·aload_0 |
| 238 | ········18:·aload_1 | 238 | ········18:·aload_1 |
| 239 | ········19:·putfield······#19·················//·Field·mRouterFingerPrintProto:Lcom/android/server/wifi/proto/nano/WifiMetricsProto$RouterFingerPrint; | 239 | ········19:·putfield······#19·················//·Field·mRouterFingerPrintProto:Lcom/android/server/wifi/proto/nano/WifiMetricsProto$RouterFingerPrint; |
| 240 | ········22:·return | 240 | ········22:·return |
| Â | Â | ||
| 241 | ··static·com.android.server.wifi.proto.nano.WifiMetricsProto$RouterFingerPrint·access$1 | 241 | ··static·com.android.server.wifi.proto.nano.WifiMetricsProto$RouterFingerPrint·access$1300(com.android.server.wifi.WifiMetrics$RouterFingerPrint); |
| 242 | ····descriptor:·(Lcom/android/server/wifi/WifiMetrics$RouterFingerPrint;)Lcom/android/server/wifi/proto/nano/WifiMetricsProto$RouterFingerPrint; | 242 | ····descriptor:·(Lcom/android/server/wifi/WifiMetrics$RouterFingerPrint;)Lcom/android/server/wifi/proto/nano/WifiMetricsProto$RouterFingerPrint; |
| 243 | ····flags:·ACC_STATIC,·ACC_SYNTHETIC | 243 | ····flags:·ACC_STATIC,·ACC_SYNTHETIC |
| 244 | ····Code: | 244 | ····Code: |
| 245 | ······stack=300,·locals=1,·args_size=1 | 245 | ······stack=300,·locals=1,·args_size=1 |
| 246 | ·········0:·aload_0 | 246 | ·········0:·aload_0 |
| 247 | ·········1:·getfield······#19·················//·Field·mRouterFingerPrintProto:Lcom/android/server/wifi/proto/nano/WifiMetricsProto$RouterFingerPrint; | 247 | ·········1:·getfield······#19·················//·Field·mRouterFingerPrintProto:Lcom/android/server/wifi/proto/nano/WifiMetricsProto$RouterFingerPrint; |
| 248 | ·········4:·areturn | 248 | ·········4:·areturn |
| Offset 1, 50 lines modified | Offset 1, 50 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
|  | 2 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$NetworkDisableReason; | |
|  | 3 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$WifiStatus; | |
|  | 4 | import·java.util.Arrays; | |
| 2 | import·java.util.Calendar; | 5 | import·java.util.Calendar; |
| 3 | import·android.net.wifi.WifiConfiguration; | 6 | import·android.net.wifi.WifiConfiguration; |
| 4 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$TargetNetworkInfo; | 7 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$TargetNetworkInfo; |
| 5 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$UserActionEvent; | 8 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$UserActionEvent; |
| Â | Â | ||
| 6 | class·WifiMetrics$UserActionEventWithTime | 9 | class·WifiMetrics$UserActionEventWithTime |
| 7 | { | 10 | { |
| 8 | ····private·WifiMetricsProto$UserActionEvent·mUserActionEvent; | 11 | ····private·WifiMetricsProto$UserActionEvent·mUserActionEvent; |
| 9 | ····private·long·mWallClockTimeMs; | 12 | ····private·long·mWallClockTimeMs; |
| 10 | ····final·/*·synthetic·*/·WifiMetrics·this$0; | 13 | ····final·/*·synthetic·*/·WifiMetrics·this$0; |
| 11 | ···· | 14 | ···· |
| 12 | ····WifiMetrics$UserActionEventWithTime(final·WifiMetrics· | 15 | ····WifiMetrics$UserActionEventWithTime(final·WifiMetrics·wifiMetrics,·final·int·n,·final·int·n2)·{ |
| 13 | ········this | 16 | ········this(wifiMetrics,·n,·null); |
| 14 | ········ | 17 | ········if·(n2·>=·0)·{ |
| 15 | ········final·Wifi | 18 | ············final·WifiConfiguration·configuredNetwork·=·WifiMetrics.access$1000(wifiMetrics).getConfiguredNetwork(n2); |
| 16 | ········this.mUserActionEvent·=·mUserActionEvent; |  | |
| 17 | ········mUserActionEvent.eventType·=·eventType; |  | |
| 18 | ········mUserActionEvent.startTimeMillis·=·WifiMetrics.access$800(this$0).getElapsedSinceBootMillis(); |  | |
| 19 | ········this.mWallClockTimeMs·=·WifiMetrics.access$800(this$0).getWallClockMillis(); |  | |
| 20 | ········if·(ephemeral·>=·0)·{ |  | |
| 21 | ············final·WifiConfiguration·configuredNetwork·=·WifiMetrics.access$900(this$0).getConfiguredNetwork(ephemeral); |  | |
| 22 | ············if·(configuredNetwork·!=·null)·{ | 19 | ············if·(configuredNetwork·!=·null)·{ |
| 23 | ················final·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo·=·new·WifiMetricsProto$TargetNetworkInfo(); | 20 | ················final·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo·=·new·WifiMetricsProto$TargetNetworkInfo(); |
| 24 | ················ephemeral·=· | 21 | ················targetNetworkInfo.isEphemeral·=·configuredNetwork.isEphemeral(); |
| 25 | ················targetNetworkInfo.isEphemeral·=·(ephemeral·!=·0); |  | |
| 26 | ················targetNetworkInfo.isPasspoint·=·configuredNetwork.isPasspoint(); | 22 | ················targetNetworkInfo.isPasspoint·=·configuredNetwork.isPasspoint(); |
| 27 | ················t | 23 | ················final·WifiMetricsProto$UserActionEvent·mUserActionEvent·=·this.mUserActionEvent; |
|  | 24 | ················mUserActionEvent.targetNetworkInfo·=·targetNetworkInfo; | |
|  | 25 | ················mUserActionEvent.networkDisableReason·=·WifiMetrics.access$1200(wifiMetrics,·configuredNetwork,·WifiMetrics.access$1100(wifiMetrics).getFailureReasonsForSsid(configuredNetwork.SSID)); | |
| 28 | ············} | 26 | ············} |
| 29 | ········} | 27 | ········} |
| 30 | ····} | 28 | ····} |
| 31 | ···· | 29 | ···· |
| 32 | ····WifiMetrics$UserActionEventWithTime(final·WifiMetrics·this$0,·final·int·eventType,·final·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo)·{ | 30 | ····WifiMetrics$UserActionEventWithTime(final·WifiMetrics·this$0,·final·int·eventType,·final·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo)·{ |
| 33 | ········this.this$0·=·this$0; | 31 | ········this.this$0·=·this$0; |
| 34 | ········this.mWallClockTimeMs·=·0L; | 32 | ········this.mWallClockTimeMs·=·0L; |
| 35 | ········final·WifiMetricsProto$UserActionEvent·mUserActionEvent·=·new·WifiMetricsProto$UserActionEvent(); | 33 | ········final·WifiMetricsProto$UserActionEvent·mUserActionEvent·=·new·WifiMetricsProto$UserActionEvent(); |
| 36 | ········this.mUserActionEvent·=·mUserActionEvent; | 34 | ········this.mUserActionEvent·=·mUserActionEvent; |
| 37 | ········mUserActionEvent.eventType·=·eventType; | 35 | ········mUserActionEvent.eventType·=·eventType; |
| 38 | ········mUserActionEvent.startTimeMillis·=·WifiMetrics.access$800(this$0).getElapsedSinceBootMillis(); | 36 | ········mUserActionEvent.startTimeMillis·=·WifiMetrics.access$800(this$0).getElapsedSinceBootMillis(); |
| 39 | ········this.mWallClockTimeMs·=·WifiMetrics.access$800(this$0).getWallClockMillis(); | 37 | ········this.mWallClockTimeMs·=·WifiMetrics.access$800(this$0).getWallClockMillis(); |
| 40 | ········t | 38 | ········final·WifiMetricsProto$UserActionEvent·mUserActionEvent2·=·this.mUserActionEvent; |
|  | 39 | ········mUserActionEvent2.targetNetworkInfo·=·targetNetworkInfo; | |
|  | 40 | ········mUserActionEvent2.wifiStatus·=·WifiMetrics.access$900(this$0).toProto(); | |
| 41 | ····} | 41 | ····} |
| 42 | ···· | 42 | ···· |
| 43 | ····public·WifiMetricsProto$UserActionEvent·toProto()·{ | 43 | ····public·WifiMetricsProto$UserActionEvent·toProto()·{ |
| 44 | ········return·this.mUserActionEvent; | 44 | ········return·this.mUserActionEvent; |
| 45 | ····} | 45 | ····} |
| 46 | ···· | 46 | ···· |
| 47 | ····public·String·toString()·{ | 47 | ····public·String·toString()·{ |
| Offset 54, 14 lines modified | Offset 54, 18 lines modified | ||
| 54 | ········sb.append(String.format("%tm-%td·%tH:%tM:%tS.%tL",·instance,·instance,·instance,·instance,·instance,·instance)); | 54 | ········sb.append(String.format("%tm-%td·%tH:%tM:%tS.%tL",·instance,·instance,·instance,·instance,·instance,·instance)); |
| 55 | ········String·s·=·null; | 55 | ········String·s·=·null; |
| 56 | ········switch·(this.mUserActionEvent.eventType)·{ | 56 | ········switch·(this.mUserActionEvent.eventType)·{ |
| 57 | ············default:·{ | 57 | ············default:·{ |
| 58 | ················s·=·"UNKNOWN"; | 58 | ················s·=·"UNKNOWN"; |
| 59 | ················break; | 59 | ················break; |
| 60 | ············} | 60 | ············} |
|  | 61 | ············case·13:·{ | |
|  | 62 | ················s·=·"EVENT_ADD_OR_UPDATE_NETWORK"; | |
|  | 63 | ················break; | |
|  | 64 | ············} | |
| 61 | ············case·12:·{ | 65 | ············case·12:·{ |
| 62 | ················s·=·"EVENT_CONFIGURE_METERED_STATUS_AUTO"; | 66 | ················s·=·"EVENT_CONFIGURE_METERED_STATUS_AUTO"; |
| 63 | ················break; | 67 | ················break; |
| 64 | ············} | 68 | ············} |
| 65 | ············case·11:·{ | 69 | ············case·11:·{ |
| 66 | ················s·=·"EVENT_MANUAL_CONNECT"; | 70 | ················s·=·"EVENT_MANUAL_CONNECT"; |
| 67 | ················break; | 71 | ················break; |
| Offset 114, 10 lines modified | Offset 118, 36 lines modified | ||
| 114 | ········final·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo·=·this.mUserActionEvent.targetNetworkInfo; | 118 | ········final·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo·=·this.mUserActionEvent.targetNetworkInfo; |
| 115 | ········if·(targetNetworkInfo·!=·null)·{ | 119 | ········if·(targetNetworkInfo·!=·null)·{ |
| 116 | ············sb.append("·isEphemeral="); | 120 | ············sb.append("·isEphemeral="); |
| 117 | ············sb.append(targetNetworkInfo.isEphemeral); | 121 | ············sb.append(targetNetworkInfo.isEphemeral); |
| 118 | ············sb.append("·isPasspoint="); | 122 | ············sb.append("·isPasspoint="); |
| 119 | ············sb.append(targetNetworkInfo.isPasspoint); | 123 | ············sb.append(targetNetworkInfo.isPasspoint); |
| 120 | ········} | 124 | ········} |
|  | 125 | ········final·WifiMetricsProto$WifiStatus·wifiStatus·=·this.mUserActionEvent.wifiStatus; | |
|  | 126 | ········if·(wifiStatus·!=·null)·{ | |
|  | 127 | ············sb.append("\nWifiStatus:·isConnected="); | |
|  | 128 | ············sb.append(wifiStatus.isConnected); | |
|  | 129 | ············sb.append("·isValidated="); | |
|  | 130 | ············sb.append(wifiStatus.isValidated); | |
|  | 131 | ············sb.append("·lastRssi="); | |
|  | 132 | ············sb.append(wifiStatus.lastRssi); | |
|  | 133 | ············sb.append("·estimatedTxKbps="); | |
|  | 134 | ············sb.append(wifiStatus.estimatedTxKbps); | |
|  | 135 | ············sb.append("·estimatedRxKbps="); | |
|  | 136 | ············sb.append(wifiStatus.estimatedRxKbps); | |
|  | 137 | ············sb.append("·isStuckDueToUserConnectChoice="); | |
|  | 138 | ············sb.append(wifiStatus.isStuckDueToUserConnectChoice); | |
|  | 139 | ········} | |
|  | 140 | ········final·WifiMetricsProto$NetworkDisableReason·networkDisableReason·=·this.mUserActionEvent.networkDisableReason; | |
|  | 141 | ········if·(networkDisableReason·!=·null)·{ | |
|  | 142 | ············sb.append("\nNetworkDisableReason:·DisableReason="); | |
|  | 143 | ············sb.append(networkDisableReason.disableReason); | |
|  | 144 | ············sb.append("·configTemporarilyDisabled="); | |
|  | 145 | ············sb.append(networkDisableReason.configTemporarilyDisabled); | |
|  | 146 | ············sb.append("·configPermanentlyDisabled="); | |
|  | 147 | ············sb.append(networkDisableReason.configPermanentlyDisabled); | |
|  | 148 | ············sb.append("·bssidDisableReasons="); | |
|  | 149 | ············sb.append(Arrays.toString(networkDisableReason.bssidDisableReasons)); | |
|  | 150 | ········} | |
| 121 | ········return·sb.toString(); | 151 | ········return·sb.toString(); |
| 122 | ····} | 152 | ····} |
| 123 | } | 153 | } |
| Offset 16, 15 lines modified | Offset 16, 14 lines modified | ||
| 16 | import·java.util.function.Function; | 16 | import·java.util.function.Function; |
| 17 | import·com.android.server.wifi.hotspot2.ANQPNetworkKey; | 17 | import·com.android.server.wifi.hotspot2.ANQPNetworkKey; |
| 18 | import·com.android.server.wifi.hotspot2.Utils; | 18 | import·com.android.server.wifi.hotspot2.Utils; |
| 19 | import·com.android.server.wifi.hotspot2.PasspointProvider; | 19 | import·com.android.server.wifi.hotspot2.PasspointProvider; |
| 20 | import·java.util.HashSet; | 20 | import·java.util.HashSet; |
| 21 | import·android.net.wifi.WifiInfo; | 21 | import·android.net.wifi.WifiInfo; |
| 22 | import·com.android.server.wifi.proto.WifiStatsLog; | 22 | import·com.android.server.wifi.proto.WifiStatsLog; |
| 23 | import·java.util.Set; |  | |
| 24 | import·org.json.JSONException; | 23 | import·org.json.JSONException; |
| 25 | import·org.json.JSONArray; | 24 | import·org.json.JSONArray; |
| 26 | import·org.json.JSONObject; | 25 | import·org.json.JSONObject; |
| 27 | import·android.util.Base64; | 26 | import·android.util.Base64; |
| 28 | import·com.android.wifi.x.com.google.protobuf.nano.MessageNano; | 27 | import·com.android.wifi.x.com.google.protobuf.nano.MessageNano; |
| 29 | import·java.io.FileDescriptor; | 28 | import·java.io.FileDescriptor; |
| 30 | import·com.android.server.wifi.hotspot2.NetworkDetail$HSRelease; | 29 | import·com.android.server.wifi.hotspot2.NetworkDetail$HSRelease; |
| Offset 33, 24 lines modified | Offset 32, 25 lines modified | ||
| 33 | import·com.android.server.wifi.hotspot2.NetworkDetail; | 32 | import·com.android.server.wifi.hotspot2.NetworkDetail; |
| 34 | import·android.net.wifi.SupplicantState; | 33 | import·android.net.wifi.SupplicantState; |
| 35 | import·com.android.wifi.x.android.hardware.wifi.supplicant.V1_0.ISupplicantStaIfaceCallback$StatusCode; | 34 | import·com.android.wifi.x.android.hardware.wifi.supplicant.V1_0.ISupplicantStaIfaceCallback$StatusCode; |
| 36 | import·com.android.wifi.x.android.hardware.wifi.supplicant.V1_0.ISupplicantStaIfaceCallback$ReasonCode; | 35 | import·com.android.wifi.x.android.hardware.wifi.supplicant.V1_0.ISupplicantStaIfaceCallback$ReasonCode; |
| 37 | import·android.os.RemoteException; | 36 | import·android.os.RemoteException; |
| 38 | import·android.net.wifi.IOnWifiUsabilityStatsListener; | 37 | import·android.net.wifi.IOnWifiUsabilityStatsListener; |
| 39 | import·com.android.server.wifi.util.MetricsUtils$GenericBucket; | 38 | import·com.android.server.wifi.util.MetricsUtils$GenericBucket; |
| 40 | import·com.android.server.wifi.util.MetricsUtils; |  | |
| 41 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$WifiConfigStoreIO$DurationBucket; | 39 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$WifiConfigStoreIO$DurationBucket; |
| 42 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$NumConnectableNetworksBucket; | 40 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$NumConnectableNetworksBucket; |
| 43 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$NetworkSelectionExperimentDecisions; | 41 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$NetworkSelectionExperimentDecisions; |
| 44 | import·android.util.Pair; | 42 | import·android.util.Pair; |
| 45 | import·java.io.PrintWriter; | 43 | import·java.io.PrintWriter; |
| 46 | import·android.util.Log; | 44 | import·android.util.Log; |
| 47 | import·android.net.wifi.WifiUsabilityStatsEntry; | 45 | import·android.net.wifi.WifiUsabilityStatsEntry; |
| 48 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$WifiUsabilityStatsEntry; | 46 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$WifiUsabilityStatsEntry; |
| 49 | import·android.net.wifi.WifiConfiguration; | 47 | import·android.net.wifi.WifiConfiguration$NetworkSelectionStatus; |
|  | 48 | import·java.util.function.ToIntFunction; | |
|  | 49 | import·com.android.server.wifi.util.MetricsUtils; | |
| 50 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$PasspointProfileTypeCount; | 50 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$PasspointProfileTypeCount; |
| 51 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$HealthMonitorMetrics; | 51 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$HealthMonitorMetrics; |
| 52 | import·java.util.Iterator; | 52 | import·java.util.Iterator; |
| 53 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$InitPartialScanStats; | 53 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$InitPartialScanStats; |
| 54 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$ThroughputMbpsHistogram; | 54 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$ThroughputMbpsHistogram; |
| 55 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$ChannelUtilizationHistogram; | 55 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$ChannelUtilizationHistogram; |
| 56 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$PasspointProvisionStats$ProvisionFailureCount; | 56 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$PasspointProvisionStats$ProvisionFailureCount; |
| Offset 81, 14 lines modified | Offset 81, 17 lines modified | ||
| 81 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$RssiPollCount; | 81 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$RssiPollCount; |
| 82 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$StaEvent$ConfigInfo; | 82 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$StaEvent$ConfigInfo; |
| 83 | import·java.util.BitSet; | 83 | import·java.util.BitSet; |
| 84 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$StaEvent; | 84 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$StaEvent; |
| 85 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$SoftApConnectedClientsEvent; | 85 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$SoftApConnectedClientsEvent; |
| 86 | import·android.net.wifi.ScanResult; | 86 | import·android.net.wifi.ScanResult; |
| 87 | import·android.os.Message; | 87 | import·android.os.Message; |
|  | 88 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$NetworkDisableReason; | |
|  | 89 | import·java.util.Set; | |
|  | 90 | import·android.net.wifi.WifiConfiguration; | |
| 88 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$DeviceMobilityStatePnoScanStats; | 91 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$DeviceMobilityStatePnoScanStats; |
| 89 | import·android.util.ArrayMap; | 92 | import·android.util.ArrayMap; |
| 90 | import·java.util.HashMap; | 93 | import·java.util.HashMap; |
| 91 | import·java.util.ArrayList; | 94 | import·java.util.ArrayList; |
| 92 | import·android.os.Looper; | 95 | import·android.os.Looper; |
| 93 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$WifiToggleStats; | 96 | import·com.android.server.wifi.proto.nano.WifiMetricsProto$WifiToggleStats; |
| 94 | import·com.android.server.wifi.p2p.WifiP2pMetrics; | 97 | import·com.android.server.wifi.p2p.WifiP2pMetrics; |
| Offset 326, 14 lines modified | Offset 329, 15 lines modified | ||
| 326 | ····private·final·WifiMetricsProto$WifiNetworkSuggestionApiLog·mWifiNetworkSuggestionApiLog; | 329 | ····private·final·WifiMetricsProto$WifiNetworkSuggestionApiLog·mWifiNetworkSuggestionApiLog; |
| 327 | ····private·final·WifiMetrics$WifiOffMetrics·mWifiOffMetrics; | 330 | ····private·final·WifiMetrics$WifiOffMetrics·mWifiOffMetrics; |
| 328 | ····private·final·WifiP2pMetrics·mWifiP2pMetrics; | 331 | ····private·final·WifiP2pMetrics·mWifiP2pMetrics; |
| 329 | ····private·WifiPowerMetrics·mWifiPowerMetrics; | 332 | ····private·WifiPowerMetrics·mWifiPowerMetrics; |
| 330 | ····private·WifiScoreCard·mWifiScoreCard; | 333 | ····private·WifiScoreCard·mWifiScoreCard; |
| 331 | ····private·final·SparseIntArray·mWifiScoreCounts; | 334 | ····private·final·SparseIntArray·mWifiScoreCounts; |
| 332 | ····private·int·mWifiState; | 335 | ····private·int·mWifiState; |
|  | 336 | ····private·WifiMetrics$WifiStatusBuilder·mWifiStatusBuilder; | |
| 333 | ····private·final·SparseIntArray·mWifiSystemStateEntries; | 337 | ····private·final·SparseIntArray·mWifiSystemStateEntries; |
| 334 | ····private·final·WifiMetricsProto$WifiToggleStats·mWifiToggleStats; | 338 | ····private·final·WifiMetricsProto$WifiToggleStats·mWifiToggleStats; |
| 335 | ····private·final·SparseIntArray·mWifiUsabilityScoreCounts; | 339 | ····private·final·SparseIntArray·mWifiUsabilityScoreCounts; |
| 336 | ····private·int·mWifiUsabilityStatsCounter; | 340 | ····private·int·mWifiUsabilityStatsCounter; |
| 337 | ····private·final·LinkedList·mWifiUsabilityStatsEntriesList; | 341 | ····private·final·LinkedList·mWifiUsabilityStatsEntriesList; |
| 338 | ····private·final·LinkedList·mWifiUsabilityStatsListBad; | 342 | ····private·final·LinkedList·mWifiUsabilityStatsListBad; |
| 339 | ····private·final·LinkedList·mWifiUsabilityStatsListGood; | 343 | ····private·final·LinkedList·mWifiUsabilityStatsListGood; |
| Offset 448, 14 lines modified | Offset 452, 15 lines modified | ||
| 448 | ········this.mProbeStatusSinceLastUpdate·=·n; | 452 | ········this.mProbeStatusSinceLastUpdate·=·n; |
| 449 | ········this.mProbeElapsedTimeSinceLastUpdateMs·=·mLastScoreNoReset; | 453 | ········this.mProbeElapsedTimeSinceLastUpdateMs·=·mLastScoreNoReset; |
| 450 | ········this.mProbeMcsRateSinceLastUpdate·=·mLastScoreNoReset; | 454 | ········this.mProbeMcsRateSinceLastUpdate·=·mLastScoreNoReset; |
| 451 | ········final·long·mCurrentDeviceMobilityStatePnoScanStartMs·=·(long)(-1); | 455 | ········final·long·mCurrentDeviceMobilityStatePnoScanStartMs·=·(long)(-1); |
| 452 | ········this.mScoreBreachLowTimeMillis·=·mCurrentDeviceMobilityStatePnoScanStartMs; | 456 | ········this.mScoreBreachLowTimeMillis·=·mCurrentDeviceMobilityStatePnoScanStartMs; |
| 453 | ········this.mStaEventList·=·new·LinkedList(); | 457 | ········this.mStaEventList·=·new·LinkedList(); |
| 454 | ········this.mUserActionEventList·=·new·LinkedList(); | 458 | ········this.mUserActionEventList·=·new·LinkedList(); |
|  | 459 | ········this.mWifiStatusBuilder·=·new·WifiMetrics$WifiStatusBuilder(this); | |
| 455 | ········this.mLastPollRssi·=·-127; | 460 | ········this.mLastPollRssi·=·-127; |
| 456 | ········this.mLastPollLinkSpeed·=·mLastScoreNoReset; | 461 | ········this.mLastPollLinkSpeed·=·mLastScoreNoReset; |
| 457 | ········this.mLastPollRxLinkSpeed·=·mLastScoreNoReset; | 462 | ········this.mLastPollRxLinkSpeed·=·mLastScoreNoReset; |
| 458 | ········this.mLastPollFreq·=·mLastScoreNoReset; | 463 | ········this.mLastPollFreq·=·mLastScoreNoReset; |
| 459 | ········this.mLastScore·=·mLastScoreNoReset; | 464 | ········this.mLastScore·=·mLastScoreNoReset; |
| 460 | ········this.mAdaptiveConnectivityEnabled·=·(n·!=·0); | 465 | ········this.mAdaptiveConnectivityEnabled·=·(n·!=·0); |
| 461 | ········this.mWifiLogProto·=·new·WifiMetricsProto$WifiLog(); | 466 | ········this.mWifiLogProto·=·new·WifiMetricsProto$WifiLog(); |
| Offset 611, 26 lines modified | Offset 616, 28 lines modified | ||
| 611 | ············Label_0028:·{ | 616 | ············Label_0028:·{ |
| 612 | ················if·(n·==·2)·{ | 617 | ················if·(n·==·2)·{ |
| 613 | ····················break·Label_0028; | 618 | ····················break·Label_0028; |
| 614 | ················} | 619 | ················} |
| 615 | ················try·{ | 620 | ················try·{ |
| 616 | ····················//·monitorexit(mLock) | 621 | ····················//·monitorexit(mLock) |
| 617 | ····················return; | 622 | ····················return; |
| 618 | ···················· | 623 | ····················//·iftrue(Label_0067:,·list.size()·<=·256) |
| 619 | ····················L | 624 | ····················List·list; |
| 620 | ···················· | 625 | ····················while·(true)·{ |
| 621 | ························Label_0067:·{ |  | |
| 622 | ····························wifiMetricsProto$SoftApConnectedClientsEvent.timeStampMillis·=·this.mClock.getElapsedSinceBootMillis(); |  | |
| 623 | ························} |  | |
| 624 | ························list.add(wifiMetricsProto$SoftApConnectedClientsEvent); |  | |
| 625 | ························return; | 626 | ························return; |
|  | 627 | ························list·=·this.mSoftApEventListTethered; | |
|  | 628 | ························continue; | |
| 626 | ························list·=·this.mSoftApEventListLocalOnly; | 629 | ························list·=·this.mSoftApEventListLocalOnly; |
|  | 630 | ························continue; | |
|  | 631 | ····················} | |
|  | 632 | ····················Label_0067:·{ | |
|  | 633 | ························wifiMetricsProto$SoftApConnectedClientsEvent.timeStampMillis·=·this.mClock.getElapsedSinceBootMillis(); | |
| 627 | ····················} | 634 | ····················} |
|  | 635 | ····················list.add(wifiMetricsProto$SoftApConnectedClientsEvent); | |
| 628 | ················} | 636 | ················} |
| 629 | ················//·iftrue(Label_0067:,·list.size()·<=·256) |  | |
| 630 | ················finally·{ | 637 | ················finally·{ |
| 631 | ················} | 638 | ················} |
| 632 | ················//·monitorexit(mLock) | 639 | ················//·monitorexit(mLock) |
| 633 | ············} | 640 | ············} |
| 634 | ········} | 641 | ········} |
| 635 | ····} | 642 | ····} |
| 636 | ···· | 643 | ···· |
| Offset 1060, 36 lines modified | Offset 1067, 36 lines modified | ||
| ... Open expanded diff (truncated) ... | |||
| Offset 21, 15 lines modified | Offset 21, 14 lines modified | ||
| 21 | ····public·static·final·int·ANQP_DONE_EVENT·=·147500; | 21 | ····public·static·final·int·ANQP_DONE_EVENT·=·147500; |
| 22 | ····public·static·final·int·ASSOCIATED_BSSID_EVENT·=·147501; | 22 | ····public·static·final·int·ASSOCIATED_BSSID_EVENT·=·147501; |
| 23 | ····public·static·final·int·ASSOCIATION_REJECTION_EVENT·=·147499; | 23 | ····public·static·final·int·ASSOCIATION_REJECTION_EVENT·=·147499; |
| 24 | ····public·static·final·int·AUTHENTICATION_FAILURE_EVENT·=·147463; | 24 | ····public·static·final·int·AUTHENTICATION_FAILURE_EVENT·=·147463; |
| 25 | ····private·static·final·int·BASE·=·147456; | 25 | ····private·static·final·int·BASE·=·147456; |
| 26 | ····private·static·final·int·CONFIG_AUTH_FAILURE·=·18; | 26 | ····private·static·final·int·CONFIG_AUTH_FAILURE·=·18; |
| 27 | ····private·static·final·int·CONFIG_MULTIPLE_PBC_DETECTED·=·12; | 27 | ····private·static·final·int·CONFIG_MULTIPLE_PBC_DETECTED·=·12; |
| 28 | ····public·static·final·int·FILS_NETWORK_CONNECTION_EVENT·=·147518; |  | |
| 29 | ····public·static·final·int·GAS_QUERY_DONE_EVENT·=·147508; | 28 | ····public·static·final·int·GAS_QUERY_DONE_EVENT·=·147508; |
| 30 | ····public·static·final·int·GAS_QUERY_START_EVENT·=·147507; | 29 | ····public·static·final·int·GAS_QUERY_START_EVENT·=·147507; |
| 31 | ····public·static·final·int·HS20_REMEDIATION_EVENT·=·147517; | 30 | ····public·static·final·int·HS20_REMEDIATION_EVENT·=·147517; |
| 32 | ····public·static·final·int·MBO_OCE_BSS_TM_HANDLING_DONE·=·147527; | 31 | ····public·static·final·int·MBO_OCE_BSS_TM_HANDLING_DONE·=·147527; |
| 33 | ····public·static·final·int·NETWORK_CONNECTION_EVENT·=·147459; | 32 | ····public·static·final·int·NETWORK_CONNECTION_EVENT·=·147459; |
| 34 | ····public·static·final·int·NETWORK_DISCONNECTION_EVENT·=·147460; | 33 | ····public·static·final·int·NETWORK_DISCONNECTION_EVENT·=·147460; |
| 35 | ····public·static·final·int·PNO_SCAN_RESULTS_EVENT·=·147474; | 34 | ····public·static·final·int·PNO_SCAN_RESULTS_EVENT·=·147474; |
| Offset 157, 24 lines modified | Offset 156, 20 lines modified | ||
| 157 | ········this.sendMessage(s,·147463,·n,·n2); | 156 | ········this.sendMessage(s,·147463,·n,·n2); |
| 158 | ····} | 157 | ····} |
| 159 | ···· | 158 | ···· |
| 160 | ····public·void·broadcastBssTmHandlingDoneEvent(final·String·s,·final·MboOceController$BtmFrameData·mboOceController$BtmFrameData)·{ | 159 | ····public·void·broadcastBssTmHandlingDoneEvent(final·String·s,·final·MboOceController$BtmFrameData·mboOceController$BtmFrameData)·{ |
| 161 | ········this.sendMessage(s,·147527,·mboOceController$BtmFrameData); | 160 | ········this.sendMessage(s,·147527,·mboOceController$BtmFrameData); |
| 162 | ····} | 161 | ····} |
| 163 | ···· | 162 | ···· |
| 164 | ····public·void·broadcastFilsNetworkConnectionEvent(final·String·s,·final·int·n,·final·String·s2)·{ |  | |
| 165 | ········this.sendMessage(s,·147518,·n,·0,·s2); |  | |
| 166 | ····} |  | |
| 167 | ···· |  | |
| 168 | ····public·void·broadcastIconDoneEvent(final·String·s,·final·IconEvent·iconEvent)·{ | 163 | ····public·void·broadcastIconDoneEvent(final·String·s,·final·IconEvent·iconEvent)·{ |
| 169 | ········this.sendMessage(s,·147509,·iconEvent); | 164 | ········this.sendMessage(s,·147509,·iconEvent); |
| 170 | ····} | 165 | ····} |
| 171 | ···· | 166 | ···· |
| 172 | ····public·void·broadcastNetworkConnectionEvent(final·String·s,·final·int·n,·final·String·s2)·{ | 167 | ····public·void·broadcastNetworkConnectionEvent(final·String·s,·final·int·n,·final·boolean·b,·final·String·s2)·{ |
| 173 | ········this.sendMessage(s,·147459,·n,·0,·s2); | 168 | ········this.sendMessage(s,·147459,·n,·b·?·1·:·0,·s2); |
| 174 | ····} | 169 | ····} |
| 175 | ···· | 170 | ···· |
| 176 | ····public·void·broadcastNetworkDisconnectionEvent(final·String·s,·final·int·n,·final·int·n2,·final·String·s2)·{ | 171 | ····public·void·broadcastNetworkDisconnectionEvent(final·String·s,·final·int·n,·final·int·n2,·final·String·s2)·{ |
| 177 | ········this.sendMessage(s,·147460,·n,·n2,·s2); | 172 | ········this.sendMessage(s,·147460,·n,·n2,·s2); |
| 178 | ····} | 173 | ····} |
| 179 | ···· | 174 | ···· |
| 180 | ····public·void·broadcastNetworkGsmAuthRequestEvent(final·String·s,·final·int·n,·final·String·s2,·final·String[]·array)·{ | 175 | ····public·void·broadcastNetworkGsmAuthRequestEvent(final·String·s,·final·int·n,·final·String·s2,·final·String[]·array)·{ |
| Offset 1, 10 lines modified | Offset 1, 11 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
|  | 2 | import·java.util.Collection; | |
| 2 | import·android.net.wifi.WifiScanner$ScanData; | 3 | import·android.net.wifi.WifiScanner$ScanData; |
| 3 | import·android.net.wifi.ScanResult; | 4 | import·android.net.wifi.ScanResult; |
| 4 | import·android.util.Log; | 5 | import·android.util.Log; |
| 5 | import·android.net.wifi.WifiScanner$ScanListener; | 6 | import·android.net.wifi.WifiScanner$ScanListener; |
| Â | Â | ||
| 6 | class·WifiNetworkFactory$NetworkFactoryScanListener·implements·WifiScanner$ScanListener | 7 | class·WifiNetworkFactory$NetworkFactoryScanListener·implements·WifiScanner$ScanListener |
| 7 | { | 8 | { |
| Offset 45, 16 lines modified | Offset 46, 18 lines modified | ||
| 45 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 46 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 46 | ············sb.append("Received·"); | 47 | ············sb.append("Received·"); |
| 47 | ············sb.append(results.length); | 48 | ············sb.append(results.length); |
| 48 | ············sb.append("·scan·results"); | 49 | ············sb.append("·scan·results"); |
| 49 | ············Log.v(s,·sb.toString()); | 50 | ············Log.v(s,·sb.toString()); |
| 50 | ········} | 51 | ········} |
| 51 | ········WifiNetworkFactory.access$200(this.this$0,·results); | 52 | ········WifiNetworkFactory.access$200(this.this$0,·results); |
| 52 | ········ | 53 | ········if·(WifiNetworkFactory.access$300(this.this$0)·!=·null)·{ |
| 53 | ········ | 54 | ············final·WifiNetworkFactory·this$0·=·this.this$0; |
|  | 55 | ············WifiNetworkFactory.access$400(this$0,·(Collection)WifiNetworkFactory.access$300(this$0).values()); | |
|  | 56 | ········} | |
| 54 | ········WifiNetworkFactory.access$100(this.this$0); | 57 | ········WifiNetworkFactory.access$100(this.this$0); |
| 55 | ····} | 58 | ····} |
| 56 | ···· | 59 | ···· |
| 57 | ····public·void·onSuccess()·{ | 60 | ····public·void·onSuccess()·{ |
| 58 | ········if·(WifiNetworkFactory.access$000(this.this$0))·{ | 61 | ········if·(WifiNetworkFactory.access$000(this.this$0))·{ |
| 59 | ············Log.d("WifiNetworkFactory",·"Scan·request·succeeded"); | 62 | ············Log.d("WifiNetworkFactory",·"Scan·request·succeeded"); |
| 60 | ········} | 63 | ········} |
| Offset 204, 14 lines modified | Offset 204, 23 lines modified | ||
| 204 | ············sb9.append("Networks·filtered·out·due·to·mbo·association·disallowed·indication:·"); | 204 | ············sb9.append("Networks·filtered·out·due·to·mbo·association·disallowed·indication:·"); |
| 205 | ············sb9.append((Object)sb4); | 205 | ············sb9.append((Object)sb4); |
| 206 | ············this.localLog(sb9.toString()); | 206 | ············this.localLog(sb9.toString()); |
| 207 | ········} | 207 | ········} |
| 208 | ········return·list2; | 208 | ········return·list2; |
| 209 | ····} | 209 | ····} |
| 210 | ···· | 210 | ···· |
|  | 211 | ····private·ScanDetail·findScanDetailForBssid(final·List·list,·final·String·s)·{ | |
|  | 212 | ········for·(final·ScanDetail·scanDetail·:·list)·{ | |
|  | 213 | ············if·(scanDetail.getScanResult().BSSID.equals(s))·{ | |
|  | 214 | ················return·scanDetail; | |
|  | 215 | ············} | |
|  | 216 | ········} | |
|  | 217 | ········return·null; | |
|  | 218 | ····} | |
|  | 219 | ···· | |
| 211 | ····private·WifiCandidates$CandidateScorer·getActiveCandidateScorer()·{ | 220 | ····private·WifiCandidates$CandidateScorer·getActiveCandidateScorer()·{ |
| 212 | ········WifiCandidates$CandidateScorer·wifiCandidates$CandidateScorer·=·(WifiCandidates$CandidateScorer)this.mCandidateScorers.get("ThroughputScorer"); | 221 | ········WifiCandidates$CandidateScorer·wifiCandidates$CandidateScorer·=·(WifiCandidates$CandidateScorer)this.mCandidateScorers.get("ThroughputScorer"); |
| 213 | ········final·int·experimentIdentifier·=·this.mScoringParams.getExperimentIdentifier(); | 222 | ········final·int·experimentIdentifier·=·this.mScoringParams.getExperimentIdentifier(); |
| 214 | ········if·(experimentIdentifier·>=·42000000)·{ | 223 | ········if·(experimentIdentifier·>=·42000000)·{ |
| 215 | ············for·(final·WifiCandidates$CandidateScorer·wifiCandidates$CandidateScorer2·:·this.mCandidateScorers.values())·{ | 224 | ············for·(final·WifiCandidates$CandidateScorer·wifiCandidates$CandidateScorer2·:·this.mCandidateScorers.values())·{ |
| 216 | ················if·(experimentIdFromIdentifier(wifiCandidates$CandidateScorer2.getIdentifier())·==·experimentIdentifier)·{ | 225 | ················if·(experimentIdFromIdentifier(wifiCandidates$CandidateScorer2.getIdentifier())·==·experimentIdentifier)·{ |
| 217 | ····················wifiCandidates$CandidateScorer·=·wifiCandidates$CandidateScorer2; | 226 | ····················wifiCandidates$CandidateScorer·=·wifiCandidates$CandidateScorer2; |
| Offset 550, 23 lines modified | Offset 559, 39 lines modified | ||
| 550 | ············return·null; | 559 | ············return·null; |
| 551 | ········} | 560 | ········} |
| 552 | ········this.updateConfiguredNetworks(); | 561 | ········this.updateConfiguredNetworks(); |
| 553 | ········final·Iterator<WifiNetworkSelector$NetworkNominator>·iterator·=·(Iterator<WifiNetworkSelector$NetworkNominator>)this.mNominators.iterator(); | 562 | ········final·Iterator<WifiNetworkSelector$NetworkNominator>·iterator·=·(Iterator<WifiNetworkSelector$NetworkNominator>)this.mNominators.iterator(); |
| 554 | ········while·(iterator.hasNext())·{ | 563 | ········while·(iterator.hasNext())·{ |
| 555 | ············((WifiNetworkSelector$NetworkNominator)iterator.next()).update(list); | 564 | ············((WifiNetworkSelector$NetworkNominator)iterator.next()).update(list); |
| 556 | ········} | 565 | ········} |
| 557 | ········ | 566 | ········int·predictThroughput·=·0; |
|  | 567 | ········boolean·b4; | |
|  | 568 | ········Set·set2; | |
|  | 569 | ········if·(b·&&·wifiInfo.getScore()·>=·40)·{ | |
|  | 570 | ············b4·=·true; | |
|  | 571 | ············set2·=·set; | |
|  | 572 | ········} | |
|  | 573 | ········else·{ | |
|  | 574 | ············set2·=·set; | |
|  | 575 | ············b4·=·false; | |
|  | 576 | ········} | |
|  | 577 | ········final·List·filterScanResults·=·this.filterScanResults(list,·set2,·b4,·bssid); | |
| 558 | ········this.mFilteredNetworks·=·filterScanResults; | 578 | ········this.mFilteredNetworks·=·filterScanResults; |
| 559 | ········if·(filterScanResults.size()·==·0)·{ | 579 | ········if·(filterScanResults.size()·==·0)·{ |
| 560 | ············return·null; | 580 | ············return·null; |
| 561 | ········} | 581 | ········} |
| 562 | ········final·WifiCandidates·wifiCandidates·=·new·WifiCandidates(this.mWifiScoreCard,·this.mContext); | 582 | ········final·WifiCandidates·wifiCandidates·=·new·WifiCandidates(this.mWifiScoreCard,·this.mContext); |
| 563 | ········if·(configuredNetwork·!=·null)·{ | 583 | ········if·(configuredNetwork·!=·null)·{ |
| 564 | ············wifiCandidates.setCurrent(configuredNetwork.networkId,·bssid); | 584 | ············wifiCandidates.setCurrent(configuredNetwork.networkId,·bssid); |
| 565 | ············ | 585 | ············final·WifiCandidates$Key·wifiCandidates$Key·=·new·WifiCandidates$Key(ScanResultMatchInfo.fromWifiConfiguration(configuredNetwork),·MacAddress.fromString(bssid),·configuredNetwork.networkId); |
|  | 586 | ············final·ScanDetail·scanDetailForBssid·=·this.findScanDetailForBssid(this.mFilteredNetworks,·bssid); | |
|  | 587 | ············if·(scanDetailForBssid·!=·null)·{ | |
|  | 588 | ················predictThroughput·=·this.predictThroughput(scanDetailForBssid); | |
|  | 589 | ············} | |
|  | 590 | ············wifiCandidates.add(wifiCandidates$Key,·configuredNetwork,·5,·wifiInfo.getRssi(),·wifiInfo.getFrequency(),·this.calculateLastSelectionWeight(configuredNetwork.networkId),·WifiConfiguration.isMetered(configuredNetwork,·wifiInfo),·isFromCarrierOrPrivilegedApp(configuredNetwork),·predictThroughput); | |
| 566 | ········} | 591 | ········} |
| 567 | ········for·(final·WifiNetworkSelector$NetworkNominator·wifiNetworkSelector$NetworkNominator·:·this.mNominators)·{ | 592 | ········for·(final·WifiNetworkSelector$NetworkNominator·wifiNetworkSelector$NetworkNominator·:·this.mNominators)·{ |
| 568 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 593 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 569 | ············sb.append("About·to·run·"); | 594 | ············sb.append("About·to·run·"); |
| 570 | ············sb.append(wifiNetworkSelector$NetworkNominator.getName()); | 595 | ············sb.append(wifiNetworkSelector$NetworkNominator.getName()); |
| 571 | ············sb.append("·:"); | 596 | ············sb.append("·:"); |
| 572 | ············this.localLog(sb.toString()); | 597 | ············this.localLog(sb.toString()); |
| Offset 15, 14 lines modified | Offset 15, 15 lines modified | ||
| 15 | import·com.android.server.wifi.proto.WifiScoreCardProto$Network$Builder; | 15 | import·com.android.server.wifi.proto.WifiScoreCardProto$Network$Builder; |
| 16 | import·android.util.Base64; | 16 | import·android.util.Base64; |
| 17 | import·android.util.Pair; | 17 | import·android.util.Pair; |
| 18 | import·com.android.server.wifi.proto.WifiScoreCardProto$Event; | 18 | import·com.android.server.wifi.proto.WifiScoreCardProto$Event; |
| 19 | import·java.security.NoSuchAlgorithmException; | 19 | import·java.security.NoSuchAlgorithmException; |
| 20 | import·java.nio.ByteBuffer; | 20 | import·java.nio.ByteBuffer; |
| 21 | import·java.security.MessageDigest; | 21 | import·java.security.MessageDigest; |
|  | 22 | import·java.util.ArrayList; | |
| 22 | import·com.android.server.wifi.util.NativeUtil; | 23 | import·com.android.server.wifi.util.NativeUtil; |
| 23 | import·java.util.Iterator; | 24 | import·java.util.Iterator; |
| 24 | import·android.util.Log; | 25 | import·android.util.Log; |
| 25 | import·android.net.MacAddress; | 26 | import·android.net.MacAddress; |
| 26 | import·android.util.ArrayMap; | 27 | import·android.util.ArrayMap; |
| 27 | import·java.util.Map; | 28 | import·java.util.Map; |
| Â | Â | ||
| Offset 130, 50 lines modified | Offset 131, 64 lines modified | ||
| 130 | ····················Log.v("WifiScoreCard",·sb.toString()); | 131 | ····················Log.v("WifiScoreCard",·sb.toString()); |
| 131 | ················} | 132 | ················} |
| 132 | ············} | 133 | ············} |
| 133 | ············this.mApForBssidReferenced·=·0; | 134 | ············this.mApForBssidReferenced·=·0; |
| 134 | ········} | 135 | ········} |
| 135 | ····} | 136 | ····} |
| 136 | ···· | 137 | ···· |
| 137 | ····public·static·long·computeHashLong( | 138 | ····public·static·long·computeHashLong(String·s,·final·MacAddress·macAddress,·final·String·s2)·{ |
| 138 | ········final·in | 139 | ········final·String·s3·=·"WifiScoreCard"; |
| 139 | ········final· | 140 | ········final·long·n·=·0L; |
| 140 | ········array[0]·=·s2.getBytes(); |  | |
| 141 | ········final·byte[]·byteArrayFromArrayList·=·NativeUtil.byteArrayFromArrayList(NativeUtil.decodeSsid(s)); |  | |
| 142 | ········final·int·n2·=·1; |  | |
| 143 | ········array[n2]·=·byteArrayFromArrayList; |  | |
| 144 | ········array[2]·=·macAddress.toByteArray(); |  | |
| 145 | ········int·i·=·0; |  | |
| 146 | ········int·n3·=·0; |  | |
| 147 | ········while·(i·<·n)·{ |  | |
| 148 | ············n3·+=·array[i].length·+·n2; |  | |
| 149 | ············++i; |  | |
| 150 | ········} |  | |
| 151 | ········final·byte[]·array2·=·new·byte[n3]; |  | |
| 152 | ········int·j·=·0; |  | |
| 153 | ········int·n4·=·0; |  | |
| 154 | ········while·(j·<·n)·{ |  | |
| 155 | ············final·byte[]·array3·=·array[j]; |  | |
| 156 | ············final·int·n5·=·n4·+·1; |  | |
| 157 | ············array2[n4]·=·(byte)array3.length; |  | |
| 158 | ············n4·=·n5; |  | |
| 159 | ············int·n6; |  | |
| 160 | ············for·(int·k·=·0;·k·<·array3.length;·++k,·n4·=·n6)·{ |  | |
| 161 | ················n6·=·n4·+·1; |  | |
| 162 | ················array2[n4]·=·array3[k]; |  | |
| 163 | ············} |  | |
| 164 | ············++j; |  | |
| 165 | ········} |  | |
| 166 | ········final·String·s3·=·"SHA-256"; |  | |
| 167 | ········try·{ | 141 | ········try·{ |
| 168 | ············ | 142 | ············s·=·(String)NativeUtil.decodeSsid(s); |
|  | 143 | ············final·int·n2·=·3; | |
|  | 144 | ············final·byte[][]·array·=·new·byte[n2][]; | |
|  | 145 | ············array[0]·=·s2.getBytes(); | |
|  | 146 | ············s·=·(String)(Object)NativeUtil.byteArrayFromArrayList((ArrayList)s); | |
|  | 147 | ············final·int·n3·=·1; | |
|  | 148 | ············array[n3]·=·(byte[])(Object)s; | |
|  | 149 | ············array[2]·=·macAddress.toByteArray(); | |
|  | 150 | ············int·i·=·0; | |
|  | 151 | ············s·=·null; | |
|  | 152 | ············int·n4·=·0; | |
|  | 153 | ············while·(i·<·n2)·{ | |
|  | 154 | ················n4·+=·array[i].length·+·n3; | |
|  | 155 | ················++i; | |
|  | 156 | ············} | |
|  | 157 | ············s·=·(String)(Object)new·byte[n4]; | |
|  | 158 | ············int·j·=·0; | |
|  | 159 | ············int·n5·=·0; | |
|  | 160 | ············while·(j·<·n2)·{ | |
|  | 161 | ················final·byte[]·array2·=·array[j]; | |
|  | 162 | ················final·int·n6·=·n5·+·1; | |
|  | 163 | ················s[n5]·=·(byte)array2.length; | |
|  | 164 | ················n5·=·n6; | |
|  | 165 | ················int·n7; | |
|  | 166 | ················for·(int·k·=·0;·k·<·array2.length;·++k,·n5·=·n7)·{ | |
|  | 167 | ····················n7·=·n5·+·1; | |
|  | 168 | ····················s[n5]·=·array2[k]; | |
|  | 169 | ················} | |
|  | 170 | ················++j; | |
|  | 171 | ············} | |
|  | 172 | ············final·String·s4·=·"SHA-256"; | |
|  | 173 | ············try·{ | |
|  | 174 | ················return·ByteBuffer.wrap(MessageDigest.getInstance(s4).digest((byte[])(Object)s)).getLong(); | |
|  | 175 | ············} | |
|  | 176 | ············catch·(NoSuchAlgorithmException·ex)·{ | |
|  | 177 | ················Log.e(s3,·"SHA-256·not·supported."); | |
|  | 178 | ················return·n; | |
|  | 179 | ············} | |
| 169 | ········} | 180 | ········} |
| 170 | ········catch·( | 181 | ········catch·(IllegalArgumentException·ex2)·{ |
| 171 | ············ | 182 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 172 | ············ret | 183 | ············sb.append("NativeUtil.decodeSsid·failed:·malformed·string:·"); |
|  | 184 | ············sb.append(s); | |
|  | 185 | ············s·=·sb.toString(); | |
|  | 186 | ············Log.e(s3,·s); | |
|  | 187 | ············return·n; | |
| 173 | ········} | 188 | ········} |
| 174 | ····} | 189 | ····} |
| 175 | ···· | 190 | ···· |
| 176 | ····private·int·detectAbnormalFailureReason(final·WifiScoreCard$NetworkConnectionStats·wifiScoreCard$NetworkConnectionStats,·final·int·n,·final·int·n2,·final·int·n3,·final·int·n4,·final·int·n5)·{ | 191 | ····private·int·detectAbnormalFailureReason(final·WifiScoreCard$NetworkConnectionStats·wifiScoreCard$NetworkConnectionStats,·final·int·n,·final·int·n2,·final·int·n3,·final·int·n4,·final·int·n5)·{ |
| 177 | ········final·int·bugReportThresholdExtraRatio·=·this.mDeviceConfigFacade.getBugReportThresholdExtraRatio(); | 192 | ········final·int·bugReportThresholdExtraRatio·=·this.mDeviceConfigFacade.getBugReportThresholdExtraRatio(); |
| 178 | ········if·(this.isHighPercentageAndEnoughCount(wifiScoreCard$NetworkConnectionStats,·n,·n2,·n3·*·bugReportThresholdExtraRatio,·n4·*·bugReportThresholdExtraRatio,·n5))·{ | 193 | ········if·(this.isHighPercentageAndEnoughCount(wifiScoreCard$NetworkConnectionStats,·n,·n2,·n3·*·bugReportThresholdExtraRatio,·n4·*·bugReportThresholdExtraRatio,·n5))·{ |
| 179 | ············return·n2; | 194 | ············return·n2; |
| Offset 19, 15 lines modified | Offset 19, 15 lines modified | ||
| 19 | ···· | 19 | ···· |
| 20 | ····public·boolean·getValue()·{ | 20 | ····public·boolean·getValue()·{ |
| 21 | ········final·WifiScoreReport·this$0·=·this.this$0; | 21 | ········final·WifiScoreReport·this$0·=·this.this$0; |
| 22 | ········final·FrameworkFacade·mFrameworkFacade·=·this$0.mFrameworkFacade; | 22 | ········final·FrameworkFacade·mFrameworkFacade·=·this$0.mFrameworkFacade; |
| 23 | ········final·Context·access$1200·=·WifiScoreReport.access$1200(this$0); | 23 | ········final·Context·access$1200·=·WifiScoreReport.access$1200(this$0); |
| 24 | ········final·String·s·=·"adaptive_connectivity_enabled"; | 24 | ········final·String·s·=·"adaptive_connectivity_enabled"; |
| 25 | ········int·n·=·1; | 25 | ········int·n·=·1; |
| 26 | ········if·(mFrameworkFacade.get | 26 | ········if·(mFrameworkFacade.getIntegerSetting(access$1200,·s,·n)·!=·n)·{ |
| 27 | ············n·=·0; | 27 | ············n·=·0; |
| 28 | ········} | 28 | ········} |
| 29 | ········return·n·!=·0; | 29 | ········return·n·!=·0; |
| 30 | ····} | 30 | ····} |
| 31 | ···· | 31 | ···· |
| 32 | ····public·void·initialize()·{ | 32 | ····public·void·initialize()·{ |
| 33 | ········final·Uri·uri·=·Settings$Secure.getUriFor("adaptive_connectivity_enabled"); | 33 | ········final·Uri·uri·=·Settings$Secure.getUriFor("adaptive_connectivity_enabled"); |
| Offset 21, 15 lines modified | Offset 21, 14 lines modified | ||
| 21 | import·android.os.Handler; | 21 | import·android.os.Handler; |
| 22 | import·android.content.Context; | 22 | import·android.content.Context; |
| Â | Â | ||
| 23 | public·class·WifiScoreReport | 23 | public·class·WifiScoreReport |
| 24 | { | 24 | { |
| 25 | ····private·static·final·int·DUMPSYS_ENTRY_COUNT_LIMIT·=·3600; | 25 | ····private·static·final·int·DUMPSYS_ENTRY_COUNT_LIMIT·=·3600; |
| 26 | ····public·static·final·String·DUMP_ARG·=·"WifiScoreReport"; | 26 | ····public·static·final·String·DUMP_ARG·=·"WifiScoreReport"; |
| 27 | ····private·static·final·long·DURATION_TO_BLOCKLIST_BSSID_AFTER_FIRST_EXITING_MILLIS·=·30000L; |  | |
| 28 | ····private·static·final·long·FIRST_REASONABLE_WALL_CLOCK·=·1490000000000L; | 27 | ····private·static·final·long·FIRST_REASONABLE_WALL_CLOCK·=·1490000000000L; |
| 29 | ····private·static·final·int·INVALID_SESSION_ID·=·255; | 28 | ····private·static·final·int·INVALID_SESSION_ID·=·255; |
| 30 | ····private·static·final·long·INVALID_WALL_CLOCK_MILLIS·=·255L; | 29 | ····private·static·final·long·INVALID_WALL_CLOCK_MILLIS·=·255L; |
| 31 | ····private·static·final·long·MIN_TIME_TO_KEEP_BELOW_TRANSITION_SCORE_MILLIS·=·9000L; | 30 | ····private·static·final·long·MIN_TIME_TO_KEEP_BELOW_TRANSITION_SCORE_MILLIS·=·9000L; |
| 32 | ····private·static·final·long·MIN_TIME_TO_WAIT_BEFORE_BLOCKLIST_BSSID_MILLIS·=·29000L; | 31 | ····private·static·final·long·MIN_TIME_TO_WAIT_BEFORE_BLOCKLIST_BSSID_MILLIS·=·29000L; |
| 33 | ····private·static·final·long·NUD_THROTTLE_MILLIS·=·5000L; | 32 | ····private·static·final·long·NUD_THROTTLE_MILLIS·=·5000L; |
| 34 | ····public·static·final·String·SETTINGS_SECURE_ADAPTIVE_CONNECTIVITY_ENABLED·=·"adaptive_connectivity_enabled"; | 33 | ····public·static·final·String·SETTINGS_SECURE_ADAPTIVE_CONNECTIVITY_ENABLED·=·"adaptive_connectivity_enabled"; |
| Offset 198, 21 lines modified | Offset 197, 21 lines modified | ||
| 198 | ····private·void·reportNetworkScoreToConnectivityServiceIfNecessary(int·n)·{ | 197 | ····private·void·reportNetworkScoreToConnectivityServiceIfNecessary(int·n)·{ |
| 199 | ········if·(this.mNetworkAgent·==·null)·{ | 198 | ········if·(this.mNetworkAgent·==·null)·{ |
| 200 | ············return; | 199 | ············return; |
| 201 | ········} | 200 | ········} |
| 202 | ········if·(this.mWifiConnectedNetworkScorerHolder·==·null·&&·n·==·this.mWifiInfo.getScore())·{ | 201 | ········if·(this.mWifiConnectedNetworkScorerHolder·==·null·&&·n·==·this.mWifiInfo.getScore())·{ |
| 203 | ············return; | 202 | ············return; |
| 204 | ········} | 203 | ········} |
| 205 | ········ | 204 | ········if·(this.mWifiConnectedNetworkScorerHolder·!=·null·&&·this.mContext.getResources().getBoolean(2130837515))·{ |
| 206 | ········final·String·s·=·"WifiScoreReport"; |  | |
| 207 | ········if·(mWifiConnectedNetworkScorerHolder·!=·null·&&·this.mContext.getResources().getBoolean(2130837515))·{ |  | |
| 208 | ············final·long·wallClockMillis·=·this.mClock.getWallClockMillis(); | 205 | ············final·long·wallClockMillis·=·this.mClock.getWallClockMillis(); |
| 209 | ············final·long·mLastScoreBreachLowTimeMillis·=·this.mLastScoreBreachLowTimeMillis; | 206 | ············final·long·mLastScoreBreachLowTimeMillis·=·this.mLastScoreBreachLowTimeMillis; |
| 210 | ············final·long·n2·=·(long)(-1); | 207 | ············final·long·n2·=·(long)(-1); |
| 211 | ············i | 208 | ············final·long·n3·=·lcmp(mLastScoreBreachLowTimeMillis,·n2); |
|  | 209 | ············final·String·s·=·"WifiScoreReport"; | |
|  | 210 | ············if·(n3·!=·0)·{ | |
| 212 | ················if·(this.mWifiInfo.getRssi()·>=·this.mDeviceConfigFacade.getRssiThresholdNotSendLowScoreToCsDbm())·{ | 211 | ················if·(this.mWifiInfo.getRssi()·>=·this.mDeviceConfigFacade.getRssiThresholdNotSendLowScoreToCsDbm())·{ |
| 213 | ····················final·StringBuilder·sb·=·new·StringBuilder(); | 212 | ····················final·StringBuilder·sb·=·new·StringBuilder(); |
| 214 | ····················sb.append("Not·reporting·low·score·because·RSSI·is·high·"); | 213 | ····················sb.append("Not·reporting·low·score·because·RSSI·is·high·"); |
| 215 | ····················sb.append(this.mWifiInfo.getRssi()); | 214 | ····················sb.append(this.mWifiInfo.getRssi()); |
| 216 | ····················Log.d(s,·sb.toString()); | 215 | ····················Log.d(s,·sb.toString()); |
| 217 | ····················return; | 216 | ····················return; |
| 218 | ················} | 217 | ················} |
| Offset 225, 17 lines modified | Offset 224, 14 lines modified | ||
| 225 | ············if·(mLastScoreBreachHighTimeMillis·!=·n2·&&·wallClockMillis·-·mLastScoreBreachHighTimeMillis·<·this.mDeviceConfigFacade.getMinConfirmationDurationSendHighScoreMs())·{ | 224 | ············if·(mLastScoreBreachHighTimeMillis·!=·n2·&&·wallClockMillis·-·mLastScoreBreachHighTimeMillis·<·this.mDeviceConfigFacade.getMinConfirmationDurationSendHighScoreMs())·{ |
| 226 | ················Log.d(s,·"Not·reporting·high·score·because·elapsed·time·is·shorter·than·the·minimum·confirmation·duration"); | 225 | ················Log.d(s,·"Not·reporting·high·score·because·elapsed·time·is·shorter·than·the·minimum·confirmation·duration"); |
| 227 | ················return; | 226 | ················return; |
| 228 | ············} | 227 | ············} |
| 229 | ········} | 228 | ········} |
| 230 | ········if·(!this.mAdaptiveConnectivityEnabled)·{ | 229 | ········if·(!this.mAdaptiveConnectivityEnabled)·{ |
| 231 | ············n·=·51; | 230 | ············n·=·51; |
| 232 | ············if·(this.mVerboseLoggingEnabled)·{ |  | |
| 233 | ················Log.d(s,·"Adaptive·connectivity·disabled·-·Stay·a·notch·above·the·transition·score"); |  | |
| 234 | ············} |  | |
| 235 | ········} | 231 | ········} |
| 236 | ········this.mNetworkAgent.sendNetworkScore(n); | 232 | ········this.mNetworkAgent.sendNetworkScore(n); |
| 237 | ····} | 233 | ····} |
| 238 | ···· | 234 | ···· |
| 239 | ····private·void·revertToDefaultConnectedScorer()·{ | 235 | ····private·void·revertToDefaultConnectedScorer()·{ |
| 240 | ········Log.d("WifiScoreReport",·"Using·VelocityBasedConnectedScore"); | 236 | ········Log.d("WifiScoreReport",·"Using·VelocityBasedConnectedScore"); |
| 241 | ········this.mVelocityBasedConnectedScore·=·new·VelocityBasedConnectedScore(this.mScoringParams,·this.mClock); | 237 | ········this.mVelocityBasedConnectedScore·=·new·VelocityBasedConnectedScore(this.mScoringParams,·this.mClock); |
| Offset 423, 17 lines modified | Offset 419, 14 lines modified | ||
| 423 | ············} | 419 | ············} |
| 424 | ········} | 420 | ········} |
| 425 | ········return·false; | 421 | ········return·false; |
| 426 | ····} | 422 | ····} |
| 427 | ···· | 423 | ···· |
| 428 | ····public·boolean·shouldCheckIpLayer()·{ | 424 | ····public·boolean·shouldCheckIpLayer()·{ |
| 429 | ········if·(!this.mAdaptiveConnectivityEnabled)·{ | 425 | ········if·(!this.mAdaptiveConnectivityEnabled)·{ |
| 430 | ············if·(this.mVerboseLoggingEnabled)·{ |  | |
| 431 | ················Log.d("WifiScoreReport",·"Adaptive·connectivity·disabled·-·Don't·check·IP·layer"); |  | |
| 432 | ············} |  | |
| 433 | ············return·false; | 426 | ············return·false; |
| 434 | ········} | 427 | ········} |
| 435 | ········final·int·nudKnob·=·this.mScoringParams.getNudKnob(); | 428 | ········final·int·nudKnob·=·this.mScoringParams.getNudKnob(); |
| 436 | ········if·(nudKnob·==·0)·{ | 429 | ········if·(nudKnob·==·0)·{ |
| 437 | ············return·false; | 430 | ············return·false; |
| 438 | ········} | 431 | ········} |
| 439 | ········final·long·n·=·this.mClock.getWallClockMillis()·-·this.mLastKnownNudCheckTimeMillis; | 432 | ········final·long·n·=·this.mClock.getWallClockMillis()·-·this.mLastKnownNudCheckTimeMillis; |
| Offset 456, 14 lines modified | Offset 449, 15 lines modified | ||
| 456 | ········this.mNudYes·=·mNudYes·+·n4; | 449 | ········this.mNudYes·=·mNudYes·+·n4; |
| 457 | ········return·n4·!=·0; | 450 | ········return·n4·!=·0; |
| 458 | ····} | 451 | ····} |
| 459 | ···· | 452 | ···· |
| 460 | ····public·void·startConnectedNetworkScorer(final·int·n)·{ | 453 | ····public·void·startConnectedNetworkScorer(final·int·n)·{ |
| 461 | ········final·int·currentSessionId·=·this.getCurrentSessionId(); | 454 | ········final·int·currentSessionId·=·this.getCurrentSessionId(); |
| 462 | ········if·(this.mWifiConnectedNetworkScorerHolder·!=·null·&&·n·==·this.getCurrentNetId()·&&·currentSessionId·!=·-1)·{ | 455 | ········if·(this.mWifiConnectedNetworkScorerHolder·!=·null·&&·n·==·this.getCurrentNetId()·&&·currentSessionId·!=·-1)·{ |
|  | 456 | ············this.mWifiInfo.setScore(60); | |
| 463 | ············this.mWifiConnectedNetworkScorerHolder.startSession(currentSessionId); | 457 | ············this.mWifiConnectedNetworkScorerHolder.startSession(currentSessionId); |
| 464 | ············final·long·n2·=·(long)(-1); | 458 | ············final·long·n2·=·(long)(-1); |
| 465 | ············this.mLastScoreBreachLowTimeMillis·=·n2; | 459 | ············this.mLastScoreBreachLowTimeMillis·=·n2; |
| 466 | ············this.mLastScoreBreachHighTimeMillis·=·n2; | 460 | ············this.mLastScoreBreachHighTimeMillis·=·n2; |
| 467 | ············return; | 461 | ············return; |
| 468 | ········} | 462 | ········} |
| 469 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 463 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| Offset 483, 12 lines modified | Offset 477, 12 lines modified | ||
| 483 | ············return; | 477 | ············return; |
| 484 | ········} | 478 | ········} |
| 485 | ········mWifiConnectedNetworkScorerHolder.stopSession(); | 479 | ········mWifiConnectedNetworkScorerHolder.stopSession(); |
| 486 | ········final·long·wallClockMillis·=·this.mClock.getWallClockMillis(); | 480 | ········final·long·wallClockMillis·=·this.mClock.getWallClockMillis(); |
| 487 | ········final·long·mLastScoreBreachLowTimeMillis·=·this.mLastScoreBreachLowTimeMillis; | 481 | ········final·long·mLastScoreBreachLowTimeMillis·=·this.mLastScoreBreachLowTimeMillis; |
| 488 | ········final·long·mLastScoreBreachLowTimeMillis2·=·(long)(-1); | 482 | ········final·long·mLastScoreBreachLowTimeMillis2·=·(long)(-1); |
| 489 | ········if·(mLastScoreBreachLowTimeMillis·!=·mLastScoreBreachLowTimeMillis2·&&·wallClockMillis·-·mLastScoreBreachLowTimeMillis·>=·29000L)·{ | 483 | ········if·(mLastScoreBreachLowTimeMillis·!=·mLastScoreBreachLowTimeMillis2·&&·wallClockMillis·-·mLastScoreBreachLowTimeMillis·>=·29000L)·{ |
| 490 | ············this.mBssidBlocklistMonitor. | 484 | ············this.mBssidBlocklistMonitor.handleBssidConnectionFailure(this.mWifiInfo.getBSSID(),·this.mWifiInfo.getSSID(),·11,·this.mWifiInfo.getRssi()); |
| 491 | ············this.mLastScoreBreachLowTimeMillis·=·mLastScoreBreachLowTimeMillis2; | 485 | ············this.mLastScoreBreachLowTimeMillis·=·mLastScoreBreachLowTimeMillis2; |
| 492 | ········} | 486 | ········} |
| 493 | ····} | 487 | ····} |
| 494 | } | 488 | } |
| Offset 153, 14 lines modified | Offset 153, 23 lines modified | ||
| 153 | ········return·this.mSessions; | 153 | ········return·this.mSessions; |
| 154 | ····} | 154 | ····} |
| 155 | ···· | 155 | ···· |
| 156 | ····public·int·getUid()·{ | 156 | ····public·int·getUid()·{ |
| 157 | ········return·this.mUid; | 157 | ········return·this.mUid; |
| 158 | ····} | 158 | ····} |
| 159 | ···· | 159 | ···· |
|  | 160 | ····public·boolean·isRangingEnabled()·{ | |
|  | 161 | ········for·(int·i·=·0;·i·<·this.mSessions.size();·++i)·{ | |
|  | 162 | ············if·(((WifiAwareDiscoverySessionState)this.mSessions.valueAt(i)).isRangingEnabled())·{ | |
|  | 163 | ················return·true; | |
|  | 164 | ············} | |
|  | 165 | ········} | |
|  | 166 | ········return·false; | |
|  | 167 | ····} | |
|  | 168 | ···· | |
| 160 | ····public·void·onClusterChange(int·n,·final·byte[]·array,·final·byte[]·mLastDiscoveryInterfaceMac)·{ | 169 | ····public·void·onClusterChange(int·n,·final·byte[]·array,·final·byte[]·mLastDiscoveryInterfaceMac)·{ |
| 161 | ········n·=·(this.mDbg·?·1·:·0); | 170 | ········n·=·(this.mDbg·?·1·:·0); |
| 162 | ········final·String·s·=·"WifiAwareClientState"; | 171 | ········final·String·s·=·"WifiAwareClientState"; |
| 163 | ········if·(n·!=·0)·{ | 172 | ········if·(n·!=·0)·{ |
| 164 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 173 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 165 | ············sb.append("onClusterChange:·mClientId="); | 174 | ············sb.append("onClusterChange:·mClientId="); |
| 166 | ············sb.append(this.mClientId); | 175 | ············sb.append(this.mClientId); |
| Offset 1, 21 lines modified | Offset 1, 22 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi.aware; | 1 | package·com.android.server.wifi.aware; |
| Â | Â | ||
| 2 | import·android.net.NetworkAgent; | 2 | import·android.net.NetworkAgent; |
| 3 | import·java.net.DatagramSocket; | 3 | import·java.net.DatagramSocket; |
|  | 4 | import·java.util.stream.Stream; | |
| 4 | import·java.util.Enumeration; | 5 | import·java.util.Enumeration; |
| 5 | import·java.net.SocketException; | 6 | import·java.net.SocketException; |
| 6 | import·android.net.IpPrefix; | 7 | import·android.net.IpPrefix; |
| 7 | import·android.net.RouteInfo; | 8 | import·android.net.RouteInfo; |
| 8 | import·android.net.LinkAddress; | 9 | import·android.net.LinkAddress; |
| 9 | import·android.net.NetworkSpecifier; | 10 | import·android.net.NetworkSpecifier; |
| 10 | import·android.net.wifi.aware.WifiAwareAgentNetworkSpecifier; |  | |
| 11 | import·java.util.function.IntFunction; | 11 | import·java.util.function.IntFunction; |
| 12 | import·java.util.function.Function; | 12 | import·java.util.function.Function; |
|  | 13 | import·android.net.wifi.aware.WifiAwareAgentNetworkSpecifier; | |
| 13 | import·java.net.Inet6Address; | 14 | import·java.net.Inet6Address; |
| 14 | import·java.net.InetAddress; | 15 | import·java.net.InetAddress; |
| 15 | import·android.util.Log; | 16 | import·android.util.Log; |
| 16 | import·java.net.NetworkInterface; | 17 | import·java.net.NetworkInterface; |
| 17 | import·android.net.LinkProperties; | 18 | import·android.net.LinkProperties; |
| 18 | import·android.net.NetworkCapabilities$Builder; | 19 | import·android.net.NetworkCapabilities$Builder; |
| 19 | import·java.util.Set; | 20 | import·java.util.Set; |
| Offset 26, 78 lines modified | Offset 27, 77 lines modified | ||
| 26 | ····final·/*·synthetic·*/·WifiAwareDataPathStateManager·this$0; | 27 | ····final·/*·synthetic·*/·WifiAwareDataPathStateManager·this$0; |
| 27 | ···· | 28 | ···· |
| 28 | ····public·WifiAwareDataPathStateManager$NetworkInterfaceWrapper(final·WifiAwareDataPathStateManager·this$0)·{ | 29 | ····public·WifiAwareDataPathStateManager$NetworkInterfaceWrapper(final·WifiAwareDataPathStateManager·this$0)·{ |
| 29 | ········this.this$0·=·this$0; | 30 | ········this.this$0·=·this$0; |
| 30 | ····} | 31 | ····} |
| 31 | ···· | 32 | ···· |
| 32 | ····public·boolean·configureAgentProperties(WifiAwareDataPathStateManager$AwareNetworkRequestInformation·interfaceName,·final·Set·set,·int·n,·final·NetworkCapabilities$Builder·networkCapabilities$Builder,·final·LinkProperties·linkProperties)·{ | 33 | ····public·boolean·configureAgentProperties(WifiAwareDataPathStateManager$AwareNetworkRequestInformation·interfaceName,·final·Set·set,·int·n,·final·NetworkCapabilities$Builder·networkCapabilities$Builder,·final·LinkProperties·linkProperties)·{ |
| 33 | ········ | 34 | ········Object·interfaceName2·=·"onDataPathConfirm:·ACCEPT·nnri="; |
| 34 | ········ | 35 | ········Object·o·=·"WifiAwareDataPathStMgr"; |
| 35 | ········final·int·state·=·106; |  | |
| 36 | ········try·{ | 36 | ········try·{ |
| 37 | ············final·String·interfaceName | 37 | ············final·String·interfaceName3·=·interfaceName.interfaceName; |
| 38 | ············try·{ | 38 | ············try·{ |
| 39 | ················final·NetworkInterface·byName·=·NetworkInterface.getByName(interfaceName | 39 | ················final·NetworkInterface·byName·=·NetworkInterface.getByName(interfaceName3); |
| 40 | ················if·(byName·==·null)·{ | 40 | ················if·(byName·==·null)·{ |
| 41 | ····················final·StringBuilder·sb·=·new·StringBuilder(); | 41 | ····················final·StringBuilder·sb·=·new·StringBuilder(); |
| 42 | ····················sb.append( | 42 | ····················sb.append((String)interfaceName2); |
| 43 | ····················sb.append(interfaceName); | 43 | ····················sb.append(interfaceName); |
| 44 | ····················sb.append(":·can't·get·network·interface·(null)"); | 44 | ····················sb.append(":·can't·get·network·interface·(null)"); |
| 45 | ···················· | 45 | ····················interfaceName2·=·sb.toString(); |
| 46 | ···················· | 46 | ····················Log.v((String)o,·(String)interfaceName2); |
| 47 | ····················interfaceName.state·=·state; |  | |
| 48 | ····················return·false; | 47 | ····················return·false; |
| 49 | ················} | 48 | ················} |
| 50 | ················final·Enumeration<InetAddress>·inetAddresses·=·byName.getInetAddresses(); | 49 | ················final·Enumeration<InetAddress>·inetAddresses·=·byName.getInetAddresses(); |
| 51 | ················while·(true)·{ | 50 | ················while·(true)·{ |
| 52 | ····················while·(inetAddresses.hasMoreElements())·{ | 51 | ····················while·(inetAddresses.hasMoreElements())·{ |
| 53 | ························final·InetAddress·inetAddress·=·(InetAddress)inetAddresses.nextElement(); | 52 | ························final·InetAddress·inetAddress·=·(InetAddress)inetAddresses.nextElement(); |
| 54 | ························if·(inetAddress·instanceof·Inet6Address·&&·((InetAddress)inetAddress).isLinkLocalAddress())·{ | 53 | ························if·(inetAddress·instanceof·Inet6Address·&&·((InetAddress)inetAddress).isLinkLocalAddress())·{ |
| 55 | ····························if·(inetAddress·==·null)·{ | 54 | ····························if·(inetAddress·==·null)·{ |
| 56 | ································final·StringBuilder·sb2·=·new·StringBuilder(); | 55 | ································final·StringBuilder·sb2·=·new·StringBuilder(); |
| 57 | ································sb2.append( | 56 | ································sb2.append((String)interfaceName2); |
| 58 | ································sb2.append(interfaceName); | 57 | ································sb2.append(interfaceName); |
| 59 | ································sb2.append(":·no·link·local·addresses"); | 58 | ································sb2.append(":·no·link·local·addresses"); |
| 60 | ································ | 59 | ································interfaceName2·=·sb2.toString(); |
| 61 | ································ | 60 | ································Log.v((String)o,·(String)interfaceName2); |
| 62 | ································interfaceName.state·=·state; |  | |
| 63 | ································return·false; | 61 | ································return·false; |
| 64 | ····························} | 62 | ····························} |
| 65 | ····························networkCapabilities$Builder.setRequestorUid(interfaceName.uid); | 63 | ····························networkCapabilities$Builder.setRequestorUid(interfaceName.uid); |
| 66 | ···························· | 64 | ····························interfaceName2·=·interfaceName.packageName; |
| 67 | ····························networkCapabilities$Builder.setRequestorPackageName((String)interfaceName | 65 | ····························networkCapabilities$Builder.setRequestorPackageName((String)interfaceName2); |
| 68 | ····························interfaceName | 66 | ····························interfaceName2·=·new(android.net.wifi.aware.WifiAwareAgentNetworkSpecifier.class); |
| 69 | ···························· | 67 | ····························final·Stream·stream·=·set.stream(); |
| 70 | ···························· | 68 | ····························o·=·-$$Lambda$wkmll7qyfEphabr8kLJeyPOD4Sg.INSTANCE; |
| 71 | ···························· | 69 | ····························final·Stream·map·=·stream.map((Function)o); |
| 72 | ···························· | 70 | ····························o·=·-$$Lambda$WifiAwareDataPathStateManager$NetworkInterfaceWrapper$GIG8Zi7l4GsYsA6sZdG-wqJjJmA.INSTANCE; |
| 73 | ···························· | 71 | ····························new·WifiAwareAgentNetworkSpecifier((WifiAwareNetworkSpecifier[])map.toArray((IntFunction)o)); |
| 74 | ···························· | 72 | ····························networkCapabilities$Builder.setNetworkSpecifier((NetworkSpecifier)interfaceName2); |
|  | 73 | ····························interfaceName2·=·interfaceName.interfaceName; | |
|  | 74 | ····························linkProperties.setInterfaceName((String)interfaceName2); | |
|  | 75 | ····························interfaceName2·=·new·LinkAddress((InetAddress)inetAddress,·64); | |
|  | 76 | ····························linkProperties.addLinkAddress((LinkAddress)interfaceName2); | |
|  | 77 | ····························interfaceName2·=·new(android.net.RouteInfo.class); | |
| 75 | ····························final·IpPrefix·ipPrefix·=·new·IpPrefix("fe80::/64"); | 78 | ····························final·IpPrefix·ipPrefix·=·new·IpPrefix("fe80::/64"); |
| 76 | ····························interfaceName·=·(WifiAwareDataPathStateManager$AwareNetworkRequestInformation)interfaceName.interfaceName; | 79 | ····························interfaceName·=·(WifiAwareDataPathStateManager$AwareNetworkRequestInformation)interfaceName.interfaceName; |
| 77 | ····························n·=·1; | 80 | ····························n·=·1; |
| 78 | ····························new·RouteInfo(ipPrefix,·(InetAddress)null,·(String)interfaceName,·n); | 81 | ····························new·RouteInfo(ipPrefix,·(InetAddress)null,·(String)interfaceName,·n); |
| 79 | ····························linkProperties.addRoute((RouteInfo)interfaceName | 82 | ····························linkProperties.addRoute((RouteInfo)interfaceName2); |
| 80 | ····························return·n·!=·0; | 83 | ····························return·n·!=·0; |
| 81 | ························} | 84 | ························} |
| 82 | ····················} | 85 | ····················} |
| 83 | ····················final·InetAddress·inetAddress·=·null; | 86 | ····················final·InetAddress·inetAddress·=·null; |
| 84 | ····················continue; | 87 | ····················continue; |
| 85 | ················} | 88 | ················} |
| 86 | ············} | 89 | ············} |
| 87 | ············catch·(SocketException·ex)·{ | 90 | ············catch·(SocketException·ex)·{ |
| 88 | ················final·StringBuilder·sb3·=·new·StringBuilder(); | 91 | ················final·StringBuilder·sb3·=·new·StringBuilder(); |
| 89 | ················sb3.append( | 92 | ················sb3.append((String)interfaceName2); |
| 90 | ················sb3.append(interfaceName); | 93 | ················sb3.append(interfaceName); |
| 91 | ················sb3.append(":·can't·get·network·interface·-·"); | 94 | ················sb3.append(":·can't·get·network·interface·-·"); |
| 92 | ················sb3.append(ex); | 95 | ················sb3.append(ex); |
| 93 | ················Log. | 96 | ················Log.v((String)o,·sb3.toString()); |
| 94 | ················final·Object·interfaceName3; |  | |
| 95 | ················WifiAwareDataPathStateManager.access$000(((WifiAwareDataPathStateManager$NetworkInterfaceWrapper)interfaceName3).this$0).endDataPath(n); |  | |
| 96 | ················interfaceName.state·=·state; |  | |
| 97 | ················return·false; | 97 | ················return·false; |
| 98 | ············} | 98 | ············} |
| 99 | ········} | 99 | ········} |
| 100 | ········catch·(SocketException·ex2)·{} | 100 | ········catch·(SocketException·ex2)·{} |
| 101 | ····} | 101 | ····} |
| 102 | ···· | 102 | ···· |
| 103 | ····public·boolean·isAddressUsable(LinkProperties·address)·{ | 103 | ····public·boolean·isAddressUsable(LinkProperties·address)·{ |
| Offset 157, 18 lines modified | Offset 157, 16 lines modified | ||
| 157 | ········return·null; | 157 | ········return·null; |
| 158 | ····} | 158 | ····} |
| 159 | ···· | 159 | ···· |
| 160 | ····private·void·handleAddressValidation(final·WifiAwareDataPathStateManager$AwareNetworkRequestInformation·wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·final·int·n,·final·boolean·b,·final·byte[]·array)·{ | 160 | ····private·void·handleAddressValidation(final·WifiAwareDataPathStateManager$AwareNetworkRequestInformation·wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·final·int·n,·final·boolean·b,·final·byte[]·array)·{ |
| 161 | ········final·NetworkCapabilities$Builder·networkCapabilities$Builder·=·new·NetworkCapabilities$Builder(WifiAwareDataPathStateManager.sNetworkCapabilitiesFilter); | 161 | ········final·NetworkCapabilities$Builder·networkCapabilities$Builder·=·new·NetworkCapabilities$Builder(WifiAwareDataPathStateManager.sNetworkCapabilitiesFilter); |
| 162 | ········final·LinkProperties·linkProperties·=·new·LinkProperties(); | 162 | ········final·LinkProperties·linkProperties·=·new·LinkProperties(); |
| 163 | ········this.getInet6Address(wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·array); | 163 | ········this.getInet6Address(wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·array); |
| 164 | ········if·(wifiAwareDataPathStateManager$AwareNetworkRequestInformation.peerIpv6·!=·null)·{ | 164 | ········if·(wifiAwareDataPathStateManager$AwareNetworkRequestInformation.peerIpv6·!=·null·&&·this.mNiWrapper.configureAgentProperties(wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·wifiAwareDataPathStateManager$AwareNetworkRequestInformation.equivalentRequests,·n,·networkCapabilities$Builder,·linkProperties)·&&·this.mNiWrapper.isAddressUsable(linkProperties))·{ |
| 165 | ············networkCapabilities$Builder.setTransportInfo((TransportInfo)new·WifiAwareNetworkInfo(wifiAwareDataPathStateManager$AwareNetworkRequestInformation.peerIpv6,·wifiAwareDataPathStateManager$AwareNetworkRequestInformation.peerPort,·wifiAwareDataPathStateManager$AwareNetworkRequestInformation.peerTransportProtocol)); | 165 | ············networkCapabilities$Builder.setTransportInfo((TransportInfo)new·WifiAwareNetworkInfo(wifiAwareDataPathStateManager$AwareNetworkRequestInformation.peerIpv6,·wifiAwareDataPathStateManager$AwareNetworkRequestInformation.peerPort,·wifiAwareDataPathStateManager$AwareNetworkRequestInformation.peerTransportProtocol)); |
| 166 | ········} |  | |
| 167 | ········if·(this.mNiWrapper.configureAgentProperties(wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·wifiAwareDataPathStateManager$AwareNetworkRequestInformation.equivalentRequests,·n,·networkCapabilities$Builder,·linkProperties)·&&·this.mNiWrapper.isAddressUsable(linkProperties))·{ |  | |
| 168 | ············final·NetworkAgentConfig·build·=·new·NetworkAgentConfig$Builder().setLegacyType(-1).setLegacyTypeName("WIFI_AWARE_FACTORY").build(); | 166 | ············final·NetworkAgentConfig·build·=·new·NetworkAgentConfig$Builder().setLegacyType(-1).setLegacyTypeName("WIFI_AWARE_FACTORY").build(); |
| 169 | ············final·Looper·mLooper·=·this.mLooper; | 167 | ············final·Looper·mLooper·=·this.mLooper; |
| 170 | ············final·Context·mContext·=·this.mContext; | 168 | ············final·Context·mContext·=·this.mContext; |
| 171 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 169 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 172 | ············sb.append("WIFI_AWARE_AGENT_"); | 170 | ············sb.append("WIFI_AWARE_AGENT_"); |
| 173 | ············sb.append(wifiAwareDataPathStateManager$AwareNetworkRequestInformation.ndpId); | 171 | ············sb.append(wifiAwareDataPathStateManager$AwareNetworkRequestInformation.ndpId); |
| 174 | ············final·WifiAwareDataPathStateManager$WifiAwareNetworkAgent·wifiAwareDataPathStateManager$WifiAwareNetworkAgent·=·new·WifiAwareDataPathStateManager$WifiAwareNetworkAgent(this,·mLooper,·mContext,·sb.toString(),·networkCapabilities$Builder.build(),·linkProperties,·1,·build,·((NetworkFactory)this.mNetworkFactory).getProvider(),·wifiAwareDataPathStateManager$AwareNetworkRequestInformation); | 172 | ············final·WifiAwareDataPathStateManager$WifiAwareNetworkAgent·wifiAwareDataPathStateManager$WifiAwareNetworkAgent·=·new·WifiAwareDataPathStateManager$WifiAwareNetworkAgent(this,·mLooper,·mContext,·sb.toString(),·networkCapabilities$Builder.build(),·linkProperties,·1,·build,·((NetworkFactory)this.mNetworkFactory).getProvider(),·wifiAwareDataPathStateManager$AwareNetworkRequestInformation); |
| Offset 183, 14 lines modified | Offset 181, 16 lines modified | ||
| 183 | ············this.mHandler.postDelayed((Runnable)new·-$$Lambda$WifiAwareDataPathStateManager$O9ElSDjPS2ztCQRtqKlurPIVLO0(this,·wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·n,·b,·array),·1000L); | 181 | ············this.mHandler.postDelayed((Runnable)new·-$$Lambda$WifiAwareDataPathStateManager$O9ElSDjPS2ztCQRtqKlurPIVLO0(this,·wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·n,·b,·array),·1000L); |
| 184 | ········} | 182 | ········} |
| 185 | ····} | 183 | ····} |
| 186 | ···· | 184 | ···· |
| 187 | ····private·boolean·isAddressValidationExpired(final·WifiAwareDataPathStateManager$AwareNetworkRequestInformation·wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·final·int·n)·{ | 185 | ····private·boolean·isAddressValidationExpired(final·WifiAwareDataPathStateManager$AwareNetworkRequestInformation·wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·final·int·n)·{ |
| 188 | ········if·(this.mClock.getElapsedSinceBootMillis()·-·wifiAwareDataPathStateManager$AwareNetworkRequestInformation.startValidationTimestamp·>·5000L)·{ | 186 | ········if·(this.mClock.getElapsedSinceBootMillis()·-·wifiAwareDataPathStateManager$AwareNetworkRequestInformation.startValidationTimestamp·>·5000L)·{ |
| 189 | ············Log.e("WifiAwareDataPathStMgr",·"Timed-out·while·waiting·for·IPv6·address·to·be·usable"); | 187 | ············Log.e("WifiAwareDataPathStMgr",·"Timed-out·while·waiting·for·IPv6·address·to·be·usable"); |
|  | 188 | ············this.mMgr.endDataPath(n); | |
|  | 189 | ············wifiAwareDataPathStateManager$AwareNetworkRequestInformation.state·=·106; | |
| 190 | ············this.declareUnfullfillableAndEndDp(wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·n); | 190 | ············this.declareUnfullfillableAndEndDp(wifiAwareDataPathStateManager$AwareNetworkRequestInformation,·n); |
| 191 | ············return·true; | 191 | ············return·true; |
| 192 | ········} | 192 | ········} |
| 193 | ········return·false; | 193 | ········return·false; |
| 194 | ····} | 194 | ····} |
| 195 | ···· | 195 | ···· |
| 196 | ····private·boolean·isInterfaceUpAndUsedByAnotherNdp(final·WifiAwareDataPathStateManager$AwareNetworkRequestInformation·wifiAwareDataPathStateManager$AwareNetworkRequestInformation)·{ | 196 | ····private·boolean·isInterfaceUpAndUsedByAnotherNdp(final·WifiAwareDataPathStateManager$AwareNetworkRequestInformation·wifiAwareDataPathStateManager$AwareNetworkRequestInformation)·{ |
| Offset 180, 14 lines modified | Offset 180, 18 lines modified | ||
| 180 | ················Log.e(s2,·sb2.toString()); | 180 | ················Log.e(s2,·sb2.toString()); |
| 181 | ············} | 181 | ············} |
| 182 | ············return·false; | 182 | ············return·false; |
| 183 | ········} | 183 | ········} |
| 184 | ········return·sendMessage; | 184 | ········return·sendMessage; |
| 185 | ····} | 185 | ····} |
| 186 | ···· | 186 | ···· |
|  | 187 | ····public·void·setRangingEnabled(final·boolean·mIsRangingEnabled)·{ | |
|  | 188 | ········this.mIsRangingEnabled·=·mIsRangingEnabled; | |
|  | 189 | ····} | |
|  | 190 | ···· | |
| 187 | ····public·void·terminate()·{ | 191 | ····public·void·terminate()·{ |
| 188 | ········this.mCallback·=·null; | 192 | ········this.mCallback·=·null; |
| 189 | ········if·(this.mIsPublishSession)·{ | 193 | ········if·(this.mIsPublishSession)·{ |
| 190 | ············this.mWifiAwareNativeApi.stopPublish((short)0,·this.mPubSubId); | 194 | ············this.mWifiAwareNativeApi.stopPublish((short)0,·this.mPubSubId); |
| 191 | ········} | 195 | ········} |
| 192 | ········else·{ | 196 | ········else·{ |
| 193 | ············this.mWifiAwareNativeApi.stopSubscribe((short)0,·this.mPubSubId); | 197 | ············this.mWifiAwareNativeApi.stopSubscribe((short)0,·this.mPubSubId); |
| Offset 1, 12 lines modified | Offset 1, 13 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi.hotspot2; | 1 | package·com.android.server.wifi.hotspot2; |
| Â | Â | ||
| 2 | import·android.net.wifi.hotspot2.IProvisioningCallback; | 2 | import·android.net.wifi.hotspot2.IProvisioningCallback; |
| 3 | import·android.os.Looper; | 3 | import·android.os.Looper; |
|  | 4 | import·android.net.MacAddress; | |
| 4 | import·java.util.Collection; | 5 | import·java.util.Collection; |
| 5 | import·java.util.HashSet; | 6 | import·java.util.HashSet; |
| 6 | import·java.util.Collections; | 7 | import·java.util.Collections; |
| 7 | import·android.net.wifi.WifiSsid; | 8 | import·android.net.wifi.WifiSsid; |
| 8 | import·com.android.server.wifi.hotspot2.anqp.OsuProviderInfo; | 9 | import·com.android.server.wifi.hotspot2.anqp.OsuProviderInfo; |
| 9 | import·com.android.server.wifi.hotspot2.anqp.HSOsuProvidersElement; | 10 | import·com.android.server.wifi.hotspot2.anqp.HSOsuProvidersElement; |
| 10 | import·android.net.wifi.hotspot2.OsuProvider; | 11 | import·android.net.wifi.hotspot2.OsuProvider; |
| Offset 50, 14 lines modified | Offset 51, 15 lines modified | ||
| 50 | import·com.android.server.wifi.Clock; | 51 | import·com.android.server.wifi.Clock; |
| 51 | import·com.android.server.wifi.WifiNative; | 52 | import·com.android.server.wifi.WifiNative; |
| 52 | import·android.content.Context; | 53 | import·android.content.Context; |
| 53 | import·com.android.server.wifi.WifiMetrics; | 54 | import·com.android.server.wifi.WifiMetrics; |
| 54 | import·com.android.server.wifi.WifiInjector; | 55 | import·com.android.server.wifi.WifiInjector; |
| 55 | import·com.android.server.wifi.WifiConfigManager; | 56 | import·com.android.server.wifi.WifiConfigManager; |
| 56 | import·com.android.server.wifi.WifiCarrierInfoManager; | 57 | import·com.android.server.wifi.WifiCarrierInfoManager; |
|  | 58 | import·com.android.server.wifi.MacAddressUtil; | |
| 57 | import·com.android.server.wifi.WifiKeyStore; | 59 | import·com.android.server.wifi.WifiKeyStore; |
| 58 | import·android.os.Handler; | 60 | import·android.os.Handler; |
| 59 | import·java.util.Map; | 61 | import·java.util.Map; |
| 60 | import·android.app.AppOpsManager; | 62 | import·android.app.AppOpsManager; |
| Â | Â | ||
| 61 | public·class·PasspointManager | 63 | public·class·PasspointManager |
| 62 | { | 64 | { |
| Offset 65, 26 lines modified | Offset 67, 27 lines modified | ||
| 65 | ····private·static·PasspointManager·sPasspointManager; | 67 | ····private·static·PasspointManager·sPasspointManager; |
| 66 | ····private·final·AnqpCache·mAnqpCache; | 68 | ····private·final·AnqpCache·mAnqpCache; |
| 67 | ····private·final·ANQPRequestManager·mAnqpRequestManager; | 69 | ····private·final·ANQPRequestManager·mAnqpRequestManager; |
| 68 | ····private·final·AppOpsManager·mAppOps; | 70 | ····private·final·AppOpsManager·mAppOps; |
| 69 | ····private·final·Map·mAppOpsChangedListenerPerApp; | 71 | ····private·final·Map·mAppOpsChangedListenerPerApp; |
| 70 | ····private·final·Handler·mHandler; | 72 | ····private·final·Handler·mHandler; |
| 71 | ····private·final·WifiKeyStore·mKeyStore; | 73 | ····private·final·WifiKeyStore·mKeyStore; |
|  | 74 | ····private·final·MacAddressUtil·mMacAddressUtil; | |
| 72 | ····private·final·PasspointObjectFactory·mObjectFactory; | 75 | ····private·final·PasspointObjectFactory·mObjectFactory; |
| 73 | ····private·final·PasspointEventHandler·mPasspointEventHandler; | 76 | ····private·final·PasspointEventHandler·mPasspointEventHandler; |
| 74 | ····private·final·PasspointProvisioner·mPasspointProvisioner; | 77 | ····private·final·PasspointProvisioner·mPasspointProvisioner; |
| 75 | ····private·long·mProviderIndex; | 78 | ····private·long·mProviderIndex; |
| 76 | ····private·final·Map·mProviders; | 79 | ····private·final·Map·mProviders; |
| 77 | ····private·boolean·mVerboseLoggingEnabled; | 80 | ····private·boolean·mVerboseLoggingEnabled; |
| 78 | ····private·final·WifiCarrierInfoManager·mWifiCarrierInfoManager; | 81 | ····private·final·WifiCarrierInfoManager·mWifiCarrierInfoManager; |
| 79 | ····private·final·WifiConfigManager·mWifiConfigManager; | 82 | ····private·final·WifiConfigManager·mWifiConfigManager; |
| 80 | ····private·final·WifiInjector·mWifiInjector; | 83 | ····private·final·WifiInjector·mWifiInjector; |
| 81 | ····private·final·WifiMetrics·mWifiMetrics; | 84 | ····private·final·WifiMetrics·mWifiMetrics; |
| 82 | ···· | 85 | ···· |
| 83 | ····public·PasspointManager(final·Context·context,·final·WifiInjector·mWifiInjector,·final·Handler·mHandler,·final·WifiNative·wifiNative,·final·WifiKeyStore·mKeyStore,·final·Clock·clock,·final·PasspointObjectFactory·mObjectFactory,·final·WifiConfigManager·mWifiConfigManager,·final·WifiConfigStore·wifiConfigStore,·final·WifiMetrics·mWifiMetrics,·final·WifiCarrierInfoManager·mWifiCarrierInfoManager)·{ | 86 | ····public·PasspointManager(final·Context·context,·final·WifiInjector·mWifiInjector,·final·Handler·mHandler,·final·WifiNative·wifiNative,·final·WifiKeyStore·mKeyStore,·final·Clock·clock,·final·PasspointObjectFactory·mObjectFactory,·final·WifiConfigManager·mWifiConfigManager,·final·WifiConfigStore·wifiConfigStore,·final·WifiMetrics·mWifiMetrics,·final·WifiCarrierInfoManager·mWifiCarrierInfoManager,·final·MacAddressUtil·mMacAddressUtil)·{ |
| 84 | ········this.mAppOpsChangedListenerPerApp·=·new·HashMap(); | 87 | ········this.mAppOpsChangedListenerPerApp·=·new·HashMap(); |
| 85 | ········this.mVerboseLoggingEnabled·=·false; | 88 | ········this.mVerboseLoggingEnabled·=·false; |
| 86 | ········this.mPasspointEventHandler·=·mObjectFactory.makePasspointEventHandler(wifiNative,·(PasspointEventHandler$Callbacks)new·PasspointManager$CallbackHandler(this,·context)); | 89 | ········this.mPasspointEventHandler·=·mObjectFactory.makePasspointEventHandler(wifiNative,·(PasspointEventHandler$Callbacks)new·PasspointManager$CallbackHandler(this,·context)); |
| 87 | ········this.mWifiInjector·=·mWifiInjector; | 90 | ········this.mWifiInjector·=·mWifiInjector; |
| 88 | ········this.mHandler·=·mHandler; | 91 | ········this.mHandler·=·mHandler; |
| 89 | ········this.mKeyStore·=·mKeyStore; | 92 | ········this.mKeyStore·=·mKeyStore; |
| 90 | ········this.mObjectFactory·=·mObjectFactory; | 93 | ········this.mObjectFactory·=·mObjectFactory; |
| Offset 96, 14 lines modified | Offset 99, 15 lines modified | ||
| 96 | ········this.mProviderIndex·=·0L; | 99 | ········this.mProviderIndex·=·0L; |
| 97 | ········this.mWifiCarrierInfoManager·=·mWifiCarrierInfoManager; | 100 | ········this.mWifiCarrierInfoManager·=·mWifiCarrierInfoManager; |
| 98 | ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigUserStoreData(this.mKeyStore,·mWifiCarrierInfoManager,·(PasspointConfigUserStoreData$DataSource)new·PasspointManager$UserDataSourceHandler(this,·(PasspointManager$1)null))); | 101 | ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigUserStoreData(this.mKeyStore,·mWifiCarrierInfoManager,·(PasspointConfigUserStoreData$DataSource)new·PasspointManager$UserDataSourceHandler(this,·(PasspointManager$1)null))); |
| 99 | ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigSharedStoreData((PasspointConfigSharedStoreData$DataSource)new·PasspointManager$SharedDataSourceHandler(this,·(PasspointManager$1)null))); | 102 | ········wifiConfigStore.registerStoreData((WifiConfigStore$StoreData)mObjectFactory.makePasspointConfigSharedStoreData((PasspointConfigSharedStoreData$DataSource)new·PasspointManager$SharedDataSourceHandler(this,·(PasspointManager$1)null))); |
| 100 | ········this.mPasspointProvisioner·=·mObjectFactory.makePasspointProvisioner(context,·wifiNative,·this,·mWifiMetrics); | 103 | ········this.mPasspointProvisioner·=·mObjectFactory.makePasspointProvisioner(context,·wifiNative,·this,·mWifiMetrics); |
| 101 | ········this.mAppOps·=·(AppOpsManager)context.getSystemService("appops"); | 104 | ········this.mAppOps·=·(AppOpsManager)context.getSystemService("appops"); |
| 102 | ········PasspointManager.sPasspointManager·=·this; | 105 | ········PasspointManager.sPasspointManager·=·this; |
|  | 106 | ········this.mMacAddressUtil·=·mMacAddressUtil; | |
| 103 | ····} | 107 | ····} |
| 104 | ···· | 108 | ···· |
| 105 | ····public·static·boolean·addLegacyPasspointConfig(final·WifiConfiguration·wifiConfiguration)·{ | 109 | ····public·static·boolean·addLegacyPasspointConfig(final·WifiConfiguration·wifiConfiguration)·{ |
| 106 | ········final·PasspointManager·sPasspointManager·=·PasspointManager.sPasspointManager; | 110 | ········final·PasspointManager·sPasspointManager·=·PasspointManager.sPasspointManager; |
| 107 | ········final·String·s·=·"PasspointManager"; | 111 | ········final·String·s·=·"PasspointManager"; |
| 108 | ········if·(sPasspointManager·==·null)·{ | 112 | ········if·(sPasspointManager·==·null)·{ |
| 109 | ············Log.e(s,·"PasspointManager·have·not·been·initialized·yet"); | 113 | ············Log.e(s,·"PasspointManager·have·not·been·initialized·yet"); |
| Offset 732, 14 lines modified | Offset 736, 23 lines modified | ||
| 732 | ········final·Iterator<Object>·iterator·=·set.iterator(); | 736 | ········final·Iterator<Object>·iterator·=·set.iterator(); |
| 733 | ········while·(iterator.hasNext())·{ | 737 | ········while·(iterator.hasNext())·{ |
| 734 | ············final·PasspointProvider·passpointProvider·=·(PasspointProvider)this.mProviders.get(iterator.next()); | 738 | ············final·PasspointProvider·passpointProvider·=·(PasspointProvider)this.mProviders.get(iterator.next()); |
| 735 | ············if·(passpointProvider·==·null)·{ | 739 | ············if·(passpointProvider·==·null)·{ |
| 736 | ················continue; | 740 | ················continue; |
| 737 | ············} | 741 | ············} |
| 738 | ············final·WifiConfiguration·wifiConfig·=·passpointProvider.getWifiConfig(); | 742 | ············final·WifiConfiguration·wifiConfig·=·passpointProvider.getWifiConfig(); |
|  | 743 | ············if·(this.mWifiConfigManager.shouldUseAggressiveRandomization(wifiConfig))·{ | |
|  | 744 | ················wifiConfig.setRandomizedMacAddress(MacAddress.fromString("02:00:00:00:00:00")); | |
|  | 745 | ············} | |
|  | 746 | ············else·{ | |
|  | 747 | ················final·MacAddress·calculatePersistentMac·=·this.mMacAddressUtil.calculatePersistentMac(wifiConfig.getKey(),·this.mMacAddressUtil.obtainMacRandHashFunction(1010)); | |
|  | 748 | ················if·(calculatePersistentMac·!=·null)·{ | |
|  | 749 | ····················wifiConfig.setRandomizedMacAddress(calculatePersistentMac); | |
|  | 750 | ················} | |
|  | 751 | ············} | |
| 739 | ············if·(passpointProvider.isFromSuggestion()·&&·!this.mWifiInjector.getWifiNetworkSuggestionsManager().isPasspointSuggestionSharedWithUser(wifiConfig))·{ | 752 | ············if·(passpointProvider.isFromSuggestion()·&&·!this.mWifiInjector.getWifiNetworkSuggestionsManager().isPasspointSuggestionSharedWithUser(wifiConfig))·{ |
| 740 | ················continue; | 753 | ················continue; |
| 741 | ············} | 754 | ············} |
| 742 | ············list2.add(wifiConfig); | 755 | ············list2.add(wifiConfig); |
| 743 | ········} | 756 | ········} |
| 744 | ········return·list2; | 757 | ········return·list2; |
| 745 | ····} | 758 | ····} |
| Offset 55, 15 lines modified | Offset 55, 14 lines modified | ||
| 55 | import·com.android.wifi.x.android.hardware.wifi.supplicant.V1_0.ISupplicant; | 55 | import·com.android.wifi.x.android.hardware.wifi.supplicant.V1_0.ISupplicant; |
| 56 | import·com.android.wifi.x.android.hidl.manager.V1_0.IServiceManager; | 56 | import·com.android.wifi.x.android.hidl.manager.V1_0.IServiceManager; |
| 57 | import·com.android.wifi.x.android.hardware.wifi.supplicant.V1_0.ISupplicantIface; | 57 | import·com.android.wifi.x.android.hardware.wifi.supplicant.V1_0.ISupplicantIface; |
| 58 | import·java.util.regex.Pattern; | 58 | import·java.util.regex.Pattern; |
| Â | Â | ||
| 59 | public·class·SupplicantP2pIfaceHal | 59 | public·class·SupplicantP2pIfaceHal |
| 60 | { | 60 | { |
| 61 | ····private·static·final·int·DEFAULT_GROUP_OWNER_INTENT·=·6; |  | |
| 62 | ····private·static·final·int·DEFAULT_OPERATING_CLASS·=·81; | 61 | ····private·static·final·int·DEFAULT_OPERATING_CLASS·=·81; |
| 63 | ····private·static·final·int·RESULT_NOT_VALID·=·255; | 62 | ····private·static·final·int·RESULT_NOT_VALID·=·255; |
| 64 | ····private·static·final·String·TAG·=·"SupplicantP2pIfaceHal"; | 63 | ····private·static·final·String·TAG·=·"SupplicantP2pIfaceHal"; |
| 65 | ····private·static·final·Pattern·WPS_DEVICE_TYPE_PATTERN; | 64 | ····private·static·final·Pattern·WPS_DEVICE_TYPE_PATTERN; |
| 66 | ····private·static·boolean·sVerboseLoggingEnabled·=·true; | 65 | ····private·static·boolean·sVerboseLoggingEnabled·=·true; |
| 67 | ····private·SupplicantP2pIfaceCallback·mCallback; | 66 | ····private·SupplicantP2pIfaceCallback·mCallback; |
| 68 | ····private·ISupplicantIface·mHidlSupplicantIface; | 67 | ····private·ISupplicantIface·mHidlSupplicantIface; |
| Offset 165, 41 lines modified | Offset 164, 44 lines modified | ||
| 165 | ····················for·(final·ISupplicant$IfaceInfo·supplicant$IfaceInfo·:·list)·{ | 164 | ····················for·(final·ISupplicant$IfaceInfo·supplicant$IfaceInfo·:·list)·{ |
| 166 | ························if·(supplicant$IfaceInfo.type·==·1·&&·string.equals(supplicant$IfaceInfo.name))·{ | 165 | ························if·(supplicant$IfaceInfo.type·==·1·&&·string.equals(supplicant$IfaceInfo.name))·{ |
| 167 | ····························try·{ | 166 | ····························try·{ |
| 168 | ································final·ISupplicant·miSupplicant2·=·this.mISupplicant; | 167 | ································final·ISupplicant·miSupplicant2·=·this.mISupplicant; |
| 169 | ································try·{ | 168 | ································try·{ |
| 170 | ····································miSupplicant2.getInterface(supplicant$IfaceInfo,·(ISupplicant$getInterfaceCallback)new·-$$Lambda$SupplicantP2pIfaceHal$Rd_TkpUAjbvG4PouYvDjLjMdIJU(supplicantP2pIfaceHal$SupplicantResult)); | 169 | ····································miSupplicant2.getInterface(supplicant$IfaceInfo,·(ISupplicant$getInterfaceCallback)new·-$$Lambda$SupplicantP2pIfaceHal$Rd_TkpUAjbvG4PouYvDjLjMdIJU(supplicantP2pIfaceHal$SupplicantResult)); |
| 171 | ································} | 170 | ································} |
| 172 | ································catch·(RemoteException·ex)·{ | 171 | ································catch·(RemoteException·|·IllegalArgumentException·ex2)·{ |
|  | 172 | ····································final·Object·o2; | |
|  | 173 | ····································final·Object·o·=·o2; | |
| 173 | ····································final·StringBuilder·sb·=·new·StringBuilder(); | 174 | ····································final·StringBuilder·sb·=·new·StringBuilder(); |
| 174 | ····································sb.append("ISupplicant.getInterface·exception:·"); | 175 | ····································sb.append("ISupplicant.getInterface·exception:·"); |
| 175 | ····································sb.append( | 176 | ····································sb.append(o); |
| 176 | ····································string·=·sb.toString(); | 177 | ····································string·=·sb.toString(); |
| 177 | ····································Log.e(s,·string); | 178 | ····································Log.e(s,·string); |
| 178 | ····································this.supplicantServiceDiedHandler(); | 179 | ····································this.supplicantServiceDiedHandler(); |
| 179 | ····································return·null; | 180 | ····································return·null; |
| 180 | ································} | 181 | ································} |
| 181 | ····························} | 182 | ····························} |
| 182 | ····························catch·(RemoteException·ex3)·{} | 183 | ····························catch·(RemoteException·ex3)·{} |
|  | 184 | ····························catch·(IllegalArgumentException·ex4)·{} | |
| 183 | ····························break; | 185 | ····························break; |
| 184 | ························} | 186 | ························} |
| 185 | ····················} | 187 | ····················} |
| 186 | ····················return·(ISupplicantIface)supplicantP2pIfaceHal$SupplicantResult.getResult(); | 188 | ····················return·(ISupplicantIface)supplicantP2pIfaceHal$SupplicantResult.getResult(); |
| 187 | ················} | 189 | ················} |
| 188 | ················catch·(RemoteException·ex | 190 | ················catch·(RemoteException·ex)·{ |
| 189 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); | 191 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); |
| 190 | ····················sb2.append("ISupplicant.listInterfaces·exception:·"); | 192 | ····················sb2.append("ISupplicant.listInterfaces·exception:·"); |
| 191 | ····················sb2.append(ex | 193 | ····················sb2.append(ex); |
| 192 | ····················Log.e(s,·sb2.toString()); | 194 | ····················Log.e(s,·sb2.toString()); |
| 193 | ····················return·null; | 195 | ····················return·null; |
| 194 | ················} | 196 | ················} |
| 195 | ············} | 197 | ············} |
| 196 | ············catch·(RemoteException·ex | 198 | ············catch·(RemoteException·ex5)·{} |
| 197 | ········} | 199 | ········} |
| 198 | ········catch·(RemoteException·ex | 200 | ········catch·(RemoteException·ex6)·{} |
| 199 | ····} | 201 | ····} |
| 200 | ···· | 202 | ···· |
| 201 | ····private·ISupplicantP2pNetwork·getNetwork(final·int·n)·{ | 203 | ····private·ISupplicantP2pNetwork·getNetwork(final·int·n)·{ |
| 202 | ········final·Object·mLock·=·this.mLock; | 204 | ········final·Object·mLock·=·this.mLock; |
| 203 | ········//·monitorenter(mLock) | 205 | ········//·monitorenter(mLock) |
| 204 | ········final·String·s·=·"getNetwork"; | 206 | ········final·String·s·=·"getNetwork"; |
| 205 | ········try·{ | 207 | ········try·{ |
| Offset 855, 14 lines modified | Offset 857, 15 lines modified | ||
| 855 | ········} | 857 | ········} |
| 856 | ········finally·{ | 858 | ········finally·{ |
| 857 | ········} | 859 | ········} |
| 858 | ········//·monitorexit(mLock) | 860 | ········//·monitorexit(mLock) |
| 859 | ····} | 861 | ····} |
| 860 | ···· | 862 | ···· |
| 861 | ····public·String·connect(final·WifiP2pConfig·wifiP2pConfig,·final·boolean·b)·{ | 863 | ····public·String·connect(final·WifiP2pConfig·wifiP2pConfig,·final·boolean·b)·{ |
|  | 864 | ········SupplicantP2pIfaceHal$SupplicantResult·supplicantP2pIfaceHal$SupplicantResult·=·null; | |
| 862 | ········if·(wifiP2pConfig·==·null)·{ | 865 | ········if·(wifiP2pConfig·==·null)·{ |
| 863 | ············return·null; | 866 | ············return·null; |
| 864 | ········} | 867 | ········} |
| 865 | ········final·Object·mLock·=·this.mLock; | 868 | ········final·Object·mLock·=·this.mLock; |
| 866 | ········//·monitorenter(mLock) | 869 | ········//·monitorenter(mLock) |
| 867 | ········final·String·s·=·"setSsidPostfix"; | 870 | ········final·String·s·=·"setSsidPostfix"; |
| 868 | ········try·{ | 871 | ········try·{ |
| Offset 899, 56 lines modified | Offset 902, 58 lines modified | ||
| 899 | ························pin·=·""; | 902 | ························pin·=·""; |
| 900 | ····················} | 903 | ····················} |
| 901 | ····················else·{ | 904 | ····················else·{ |
| 902 | ························pin·=·wifiP2pConfig.wps.pin; | 905 | ························pin·=·wifiP2pConfig.wps.pin; |
| 903 | ····················} | 906 | ····················} |
| 904 | ····················final·String·s3·=·pin; | 907 | ····················final·String·s3·=·pin; |
| 905 | ····················final·boolean·b2·=·wifiP2pConfig.netId·==·-2; | 908 | ····················final·boolean·b2·=·wifiP2pConfig.netId·==·-2; |
| 906 | ···················· | 909 | ····················Label_0550:·{ |
| 907 | ····················if·( | 910 | ························if·(wifiP2pConfig.groupOwnerIntent·<·0·||·wifiP2pConfig.groupOwnerIntent·>·15)·{ |
| 908 | ························ | 911 | ····························break·Label_0550; |
| 909 | ························if·(groupOwnerIntent·<·0·||·groupOwnerIntent·>·15)·{ |  | |
| 910 | ····························groupOwnerIntent·=·6; |  | |
| 911 | ························} | 912 | ························} |
| 912 | ························n· | 913 | ························final·StringBuilder·sb2·=·new·StringBuilder(); |
| 913 | ···················· | 914 | ························sb2.append("connect("); |
| 914 | ····················e | 915 | ························sb2.append(wifiP2pConfig.deviceAddress); |
| 915 | ························n | 916 | ························sb2.append(")"); |
| 916 | ···················· | 917 | ························supplicantP2pIfaceHal$SupplicantResult·=·new·SupplicantP2pIfaceHal$SupplicantResult(sb2.toString()); |
| 917 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); |  | |
| 918 | ····················sb2.append("connect("); |  | |
| 919 | ····················sb2.append(wifiP2pConfig.deviceAddress); |  | |
| 920 | ····················sb2.append(")"); |  | |
| 921 | ····················final·SupplicantP2pIfaceHal$SupplicantResult·supplicantP2pIfaceHal$SupplicantResult·=·new·SupplicantP2pIfaceHal$SupplicantResult(sb2.toString()); |  | |
| 922 | ····················try·{ |  | |
| 923 | ························final·ISupplicantP2pIface·miSupplicantP2pIface·=·this.mISupplicantP2pIface; |  | |
| 924 | ························try·{ | 918 | ························try·{ |
| 925 | ···························· | 919 | ····························final·ISupplicantP2pIface·miSupplicantP2pIface·=·this.mISupplicantP2pIface; |
| 926 | ························ | 920 | ····························try·{ |
| 927 | ························ | 921 | ································final·int·groupOwnerIntent·=·wifiP2pConfig.groupOwnerIntent; |
| 928 | ···························· | 922 | ································try·{ |
| 929 | ····························f | 923 | ····································miSupplicantP2pIface.connect(macAddressToByteArray,·wpsInfoToConfigMethod,·s3,·b,·b2,·groupOwnerIntent,·(ISupplicantP2pIface$connectCallback)new·-$$Lambda$SupplicantP2pIfaceHal$0IS6UuR1u92OixJHFeIj5FDBt44(supplicantP2pIfaceHal$SupplicantResult)); |
| 930 | ···························· | 924 | ································} |
| 931 | ···························· | 925 | ································catch·(RemoteException·ex)·{ |
| 932 | ···························· | 926 | ····································final·String·s4·=·"SupplicantP2pIfaceHal"; |
| 933 | ···························· | 927 | ····································final·StringBuilder·sb3·=·new·StringBuilder(); |
|  | 928 | ····································sb3.append("ISupplicantP2pIface·exception:·"); | |
|  | 929 | ····································sb3.append(ex); | |
|  | 930 | ····································Log.e(s4,·sb3.toString()); | |
|  | 931 | ····································this.supplicantServiceDiedHandler(); | |
|  | 932 | ································} | |
|  | 933 | ····························} | |
|  | 934 | ····························catch·(RemoteException·ex2)·{ | |
|  | 935 | ································return·(String)supplicantP2pIfaceHal$SupplicantResult.getResult(); | |
|  | 936 | ································final·String·s5·=·"SupplicantP2pIfaceHal"; | |
|  | 937 | ································final·StringBuilder·sb4·=·new·StringBuilder(); | |
|  | 938 | ································sb4.append("Invalid·group·owner·intent:·"); | |
|  | 939 | ································sb4.append(wifiP2pConfig.groupOwnerIntent); | |
|  | 940 | ································Log.e(s5,·sb4.toString()); | |
|  | 941 | ································return·null; | |
|  | 942 | ····························} | |
| ... Open expanded diff ... | |||
| Offset 41, 19 lines modified | Offset 41, 19 lines modified | ||
| 41 | ··#36·=·NameAndType········#12:#13········//·mServList:Ljava/util/List; | 41 | ··#36·=·NameAndType········#12:#13········//·mServList:Ljava/util/List; |
| 42 | ··#37·=·Fieldref···········#2.#36·········//·com/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo.mServList:Ljava/util/List; | 42 | ··#37·=·Fieldref···········#2.#36·········//·com/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo.mServList:Ljava/util/List; |
| 43 | ··#38·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Landroid/os/Messenger;)V | 43 | ··#38·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Landroid/os/Messenger;)V |
| 44 | ··#39·=·NameAndType········#18:#38········//·"<init>":(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Landroid/os/Messenger;)V | 44 | ··#39·=·NameAndType········#18:#38········//·"<init>":(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Landroid/os/Messenger;)V |
| 45 | ··#40·=·Methodref··········#2.#39·········//·com/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo."<init>":(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Landroid/os/Messenger;)V | 45 | ··#40·=·Methodref··········#2.#39·········//·com/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo."<init>":(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Landroid/os/Messenger;)V |
| 46 | ··#41·=·Utf8···············Code | 46 | ··#41·=·Utf8···············Code |
| 47 | ··#42·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Landroid/os/Messenger;Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$1;)V | 47 | ··#42·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Landroid/os/Messenger;Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$1;)V |
| 48 | ··#43·=·Utf8···············access$11 | 48 | ··#43·=·Utf8···············access$11700 |
| 49 | ··#44·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Landroid/util/SparseArray; | 49 | ··#44·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Landroid/util/SparseArray; |
| 50 | ··#45·=·Utf8···············access$11 | 50 | ··#45·=·Utf8···············access$11800 |
| 51 | ··#46·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Ljava/util/List; | 51 | ··#46·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Ljava/util/List; |
| 52 | ··#47·=·Utf8···············access$11 | 52 | ··#47·=·Utf8···············access$11900 |
| 53 | ··#48·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Landroid/os/Messenger; | 53 | ··#48·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Landroid/os/Messenger; |
| 54 | ··#49·=·Utf8···············access$3900 | 54 | ··#49·=·Utf8···············access$3900 |
| 55 | ··#50·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Ljava/lang/String; | 55 | ··#50·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Ljava/lang/String; |
| 56 | ··#51·=·Utf8···············access$3902 | 56 | ··#51·=·Utf8···············access$3902 |
| 57 | ··#52·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;Ljava/lang/String;)Ljava/lang/String; | 57 | ··#52·=·Utf8···············(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;Ljava/lang/String;)Ljava/lang/String; |
| 58 | ··#53·=·Utf8···············access$4000 | 58 | ··#53·=·Utf8···············access$4000 |
| 59 | ··#54·=·Utf8···············access$4002 | 59 | ··#54·=·Utf8···············access$4002 |
| Offset 124, 33 lines modified | Offset 124, 33 lines modified | ||
| 124 | ······stack=300,·locals=4,·args_size=4 | 124 | ······stack=300,·locals=4,·args_size=4 |
| 125 | ·········0:·aload_0 | 125 | ·········0:·aload_0 |
| 126 | ·········1:·aload_1 | 126 | ·········1:·aload_1 |
| 127 | ·········2:·aload_2 | 127 | ·········2:·aload_2 |
| 128 | ·········3:·invokespecial·#40·················//·Method·"<init>":(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Landroid/os/Messenger;)V | 128 | ·········3:·invokespecial·#40·················//·Method·"<init>":(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Landroid/os/Messenger;)V |
| 129 | ·········6:·return | 129 | ·········6:·return |
| Â | Â | ||
| 130 | ··static·android.util.SparseArray·access$11 | 130 | ··static·android.util.SparseArray·access$11700(com.android.server.wifi.p2p.WifiP2pServiceImpl$ClientInfo); |
| 131 | ····descriptor:·(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Landroid/util/SparseArray; | 131 | ····descriptor:·(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Landroid/util/SparseArray; |
| 132 | ····flags:·ACC_STATIC,·ACC_SYNTHETIC | 132 | ····flags:·ACC_STATIC,·ACC_SYNTHETIC |
| 133 | ····Code: | 133 | ····Code: |
| 134 | ······stack=300,·locals=1,·args_size=1 | 134 | ······stack=300,·locals=1,·args_size=1 |
| 135 | ·········0:·aload_0 | 135 | ·········0:·aload_0 |
| 136 | ·········1:·getfield······#32·················//·Field·mReqList:Landroid/util/SparseArray; | 136 | ·········1:·getfield······#32·················//·Field·mReqList:Landroid/util/SparseArray; |
| 137 | ·········4:·areturn | 137 | ·········4:·areturn |
| Â | Â | ||
| 138 | ··static·java.util.List·access$11 | 138 | ··static·java.util.List·access$11800(com.android.server.wifi.p2p.WifiP2pServiceImpl$ClientInfo); |
| 139 | ····descriptor:·(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Ljava/util/List; | 139 | ····descriptor:·(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Ljava/util/List; |
| 140 | ····flags:·ACC_STATIC,·ACC_SYNTHETIC | 140 | ····flags:·ACC_STATIC,·ACC_SYNTHETIC |
| 141 | ····Code: | 141 | ····Code: |
| 142 | ······stack=300,·locals=1,·args_size=1 | 142 | ······stack=300,·locals=1,·args_size=1 |
| 143 | ·········0:·aload_0 | 143 | ·········0:·aload_0 |
| 144 | ·········1:·getfield······#37·················//·Field·mServList:Ljava/util/List; | 144 | ·········1:·getfield······#37·················//·Field·mServList:Ljava/util/List; |
| 145 | ·········4:·areturn | 145 | ·········4:·areturn |
| Â | Â | ||
| 146 | ··static·android.os.Messenger·access$11 | 146 | ··static·android.os.Messenger·access$11900(com.android.server.wifi.p2p.WifiP2pServiceImpl$ClientInfo); |
| 147 | ····descriptor:·(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Landroid/os/Messenger; | 147 | ····descriptor:·(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientInfo;)Landroid/os/Messenger; |
| 148 | ····flags:·ACC_STATIC,·ACC_SYNTHETIC | 148 | ····flags:·ACC_STATIC,·ACC_SYNTHETIC |
| 149 | ····Code: | 149 | ····Code: |
| 150 | ······stack=300,·locals=1,·args_size=1 | 150 | ······stack=300,·locals=1,·args_size=1 |
| 151 | ·········0:·aload_0 | 151 | ·········0:·aload_0 |
| 152 | ·········1:·getfield······#23·················//·Field·mMessenger:Landroid/os/Messenger; | 152 | ·········1:·getfield······#23·················//·Field·mMessenger:Landroid/os/Messenger; |
| 153 | ·········4:·areturn | 153 | ·········4:·areturn |
| Offset 35, 14 lines modified | Offset 35, 15 lines modified | ||
| 35 | import·android.net.wifi.p2p.IWifiP2pManager$Stub; | 35 | import·android.net.wifi.p2p.IWifiP2pManager$Stub; |
| Â | Â | ||
| 36 | public·class·WifiP2pServiceImpl·extends·IWifiP2pManager$Stub | 36 | public·class·WifiP2pServiceImpl·extends·IWifiP2pManager$Stub |
| 37 | { | 37 | { |
| 38 | ····private·static·final·String·ANONYMIZED_DEVICE_ADDRESS·=·"02:00:00:00:00:00"; | 38 | ····private·static·final·String·ANONYMIZED_DEVICE_ADDRESS·=·"02:00:00:00:00:00"; |
| 39 | ····private·static·final·int·BASE·=·143360; | 39 | ····private·static·final·int·BASE·=·143360; |
| 40 | ····public·static·final·int·BLOCK_DISCOVERY·=·143375; | 40 | ····public·static·final·int·BLOCK_DISCOVERY·=·143375; |
|  | 41 | ····static·final·int·DEFAULT_GROUP_OWNER_INTENT·=·6; | |
| 41 | ····public·static·final·int·DISABLED·=·0; | 42 | ····public·static·final·int·DISABLED·=·0; |
| 42 | ····public·static·final·int·DISABLE_P2P·=·143377; | 43 | ····public·static·final·int·DISABLE_P2P·=·143377; |
| 43 | ····public·static·final·int·DISABLE_P2P_TIMED_OUT·=·143366; | 44 | ····public·static·final·int·DISABLE_P2P_TIMED_OUT·=·143366; |
| 44 | ····private·static·final·int·DISABLE_P2P_WAIT_TIME_MS·=·5000; | 45 | ····private·static·final·int·DISABLE_P2P_WAIT_TIME_MS·=·5000; |
| 45 | ····public·static·final·int·DISCONNECT_WIFI_REQUEST·=·143372; | 46 | ····public·static·final·int·DISCONNECT_WIFI_REQUEST·=·143372; |
| 46 | ····public·static·final·int·DISCONNECT_WIFI_RESPONSE·=·143373; | 47 | ····public·static·final·int·DISCONNECT_WIFI_RESPONSE·=·143373; |
| 47 | ····private·static·final·int·DISCOVER_TIMEOUT_S·=·120; | 48 | ····private·static·final·int·DISCOVER_TIMEOUT_S·=·120; |
| Offset 99, 15 lines modified | Offset 100, 15 lines modified | ||
| 99 | ····private·WifiP2pServiceImpl$P2pStateMachine·mP2pStateMachine; | 100 | ····private·WifiP2pServiceImpl$P2pStateMachine·mP2pStateMachine; |
| 100 | ····private·final·boolean·mP2pSupported; | 101 | ····private·final·boolean·mP2pSupported; |
| 101 | ····private·AsyncChannel·mReplyChannel; | 102 | ····private·AsyncChannel·mReplyChannel; |
| 102 | ····private·String·mServiceDiscReqId; | 103 | ····private·String·mServiceDiscReqId; |
| 103 | ····private·byte·mServiceTransactionId; | 104 | ····private·byte·mServiceTransactionId; |
| 104 | ····private·WifiSettingsConfigStore·mSettingsConfigStore; | 105 | ····private·WifiSettingsConfigStore·mSettingsConfigStore; |
| 105 | ····private·boolean·mTemporarilyDisconnectedWifi; | 106 | ····private·boolean·mTemporarilyDisconnectedWifi; |
| 106 | ····private·WifiP2pDevice·mThisDevice; | 107 | ····private·final·WifiP2pDevice·mThisDevice; |
| 107 | ····private·boolean·mVerboseLoggingEnabled; | 108 | ····private·boolean·mVerboseLoggingEnabled; |
| 108 | ····private·AsyncChannel·mWifiChannel; | 109 | ····private·AsyncChannel·mWifiChannel; |
| 109 | ····private·WifiInjector·mWifiInjector; | 110 | ····private·WifiInjector·mWifiInjector; |
| 110 | ····private·WifiP2pMetrics·mWifiP2pMetrics; | 111 | ····private·WifiP2pMetrics·mWifiP2pMetrics; |
| 111 | ····private·WifiPermissionsUtil·mWifiPermissionsUtil; | 112 | ····private·WifiPermissionsUtil·mWifiPermissionsUtil; |
| 112 | ···· | 113 | ···· |
| 113 | ····static·{ | 114 | ····static·{ |
| Offset 59, 19 lines modified | Offset 59, 21 lines modified | ||
| 59 | ········array4[12]·=·127; | 59 | ········array4[12]·=·127; |
| 60 | ········array4[13]·=·128; | 60 | ········array4[13]·=·128; |
| 61 | ········array4[14]·=·129; | 61 | ········array4[14]·=·129; |
| 62 | ········array4[15]·=·130; | 62 | ········array4[15]·=·130; |
| 63 | ········sBandToOperatingClass2.append(2,·(Object)array3); | 63 | ········sBandToOperatingClass2.append(2,·(Object)array3); |
| 64 | ········final·SparseArray·sBandToOperatingClass3·=·ApConfigUtil.sBandToOperatingClass; | 64 | ········final·SparseArray·sBandToOperatingClass3·=·ApConfigUtil.sBandToOperatingClass; |
| 65 | ········final·int[]·array6; | 65 | ········final·int[]·array6; |
| 66 | ········final·int[]·array5·=·array6·=·new·int[ | 66 | ········final·int[]·array5·=·array6·=·new·int[6]; |
| 67 | ········array6[0]·=·131; | 67 | ········array6[0]·=·131; |
| 68 | ········array6[1]·=·132; | 68 | ········array6[1]·=·132; |
| 69 | ········array6[2]·=·133; | 69 | ········array6[2]·=·133; |
| 70 | ········array6[3]·=·134; | 70 | ········array6[3]·=·134; |
|  | 71 | ········array6[4]·=·135; | |
|  | 72 | ········array6[5]·=·136; | |
| 71 | ········sBandToOperatingClass3.append(n,·(Object)array5); | 73 | ········sBandToOperatingClass3.append(n,·(Object)array5); |
| 72 | ····} | 74 | ····} |
| 73 | ···· | 75 | ···· |
| 74 | ····public·static·int·apConfig2wifiScannerBand(final·int·n)·{ | 76 | ····public·static·int·apConfig2wifiScannerBand(final·int·n)·{ |
| 75 | ········int·n2·=·1; | 77 | ········int·n2·=·1; |
| 76 | ········if·(n·!=·n2)·{ | 78 | ········if·(n·!=·n2)·{ |
| 77 | ············n2·=·2; | 79 | ············n2·=·2; |
| Offset 12, 18 lines modified | Offset 12, 18 lines modified | ||
| 12 | import·java.util.List; | 12 | import·java.util.List; |
| Â | Â | ||
| 13 | public·class·InformationElementUtil$Capabilities | 13 | public·class·InformationElementUtil$Capabilities |
| 14 | { | 14 | { |
| 15 | ····private·static·final·int·OWE_VENDOR_OUI_TYPE·=·479883088; | 15 | ····private·static·final·int·OWE_VENDOR_OUI_TYPE·=·479883088; |
| 16 | ····private·static·final·short·RSNE_VERSION·=·1; | 16 | ····private·static·final·short·RSNE_VERSION·=·1; |
| 17 | ····private·static·final·int·RSN_AKM_EAP·=·28053248; | 17 | ····private·static·final·int·RSN_AKM_EAP·=·28053248; |
|  | 18 | ····private·static·final·int·RSN_AKM_EAP_FILS_SHA256·=·246157056; | |
|  | 19 | ····private·static·final·int·RSN_AKM_EAP_FILS_SHA384·=·262934272; | |
| 18 | ····private·static·final·int·RSN_AKM_EAP_SHA256·=·95162112; | 20 | ····private·static·final·int·RSN_AKM_EAP_SHA256·=·95162112; |
| 19 | ····private·static·final·int·RSN_AKM_EAP_SUITE_B_192·=·212602624; | 21 | ····private·static·final·int·RSN_AKM_EAP_SUITE_B_192·=·212602624; |
| 20 | ····private·static·final·int·RSN_AKM_FILS_SHA256·=·246157056; |  | |
| 21 | ····private·static·final·int·RSN_AKM_FILS_SHA384·=·262934272; |  | |
| 22 | ····private·static·final·int·RSN_AKM_FT_EAP·=·61607680; | 22 | ····private·static·final·int·RSN_AKM_FT_EAP·=·61607680; |
| 23 | ····private·static·final·int·RSN_AKM_FT_PSK·=·78384896; | 23 | ····private·static·final·int·RSN_AKM_FT_PSK·=·78384896; |
| 24 | ····private·static·final·int·RSN_AKM_FT_SAE·=·162270976; | 24 | ····private·static·final·int·RSN_AKM_FT_SAE·=·162270976; |
| 25 | ····private·static·final·int·RSN_AKM_OWE·=·313265920; | 25 | ····private·static·final·int·RSN_AKM_OWE·=·313265920; |
| 26 | ····private·static·final·int·RSN_AKM_PSK·=·44830464; | 26 | ····private·static·final·int·RSN_AKM_PSK·=·44830464; |
| 27 | ····private·static·final·int·RSN_AKM_PSK_SHA256·=·111939328; | 27 | ····private·static·final·int·RSN_AKM_PSK_SHA256·=·111939328; |
| 28 | ····private·static·final·int·RSN_AKM_SAE·=·145493760; | 28 | ····private·static·final·int·RSN_AKM_SAE·=·145493760; |
| Offset 200, 18 lines modified | Offset 200, 18 lines modified | ||
| 200 | ···· | 200 | ···· |
| 201 | ····private·String·keyManagementToString(final·int·n)·{ | 201 | ····private·String·keyManagementToString(final·int·n)·{ |
| 202 | ········switch·(n)·{ | 202 | ········switch·(n)·{ |
| 203 | ············default:·{ | 203 | ············default:·{ |
| 204 | ················return·"?"; | 204 | ················return·"?"; |
| 205 | ············} | 205 | ············} |
| 206 | ············case·16:·{ | 206 | ············case·16:·{ |
| 207 | ················return·"FILS-SHA384"; | 207 | ················return·"EAP-FILS-SHA384"; |
| 208 | ············} | 208 | ············} |
| 209 | ············case·15:·{ | 209 | ············case·15:·{ |
| 210 | ················return·"FILS-SHA256"; | 210 | ················return·"EAP-FILS-SHA256"; |
| 211 | ············} | 211 | ············} |
| 212 | ············case·14:·{ | 212 | ············case·14:·{ |
| 213 | ················return·"WAPI-CERT"; | 213 | ················return·"WAPI-CERT"; |
| 214 | ············} | 214 | ············} |
| 215 | ············case·13:·{ | 215 | ············case·13:·{ |
| 216 | ················return·"WAPI-PSK"; | 216 | ················return·"WAPI-PSK"; |
| 217 | ············} | 217 | ············} |
| Offset 61, 14 lines modified | Offset 61, 88 lines modified | ||
| 61 | ········} | 61 | ········} |
| 62 | ········final·int·n9·=·n3·*·metricsUtils$LogHistParms.s·+·n4; | 62 | ········final·int·n9·=·n3·*·metricsUtils$LogHistParms.s·+·n4; |
| 63 | ········final·int·n10·=·sparseIntArray.get(n9)·+·1; | 63 | ········final·int·n10·=·sparseIntArray.get(n9)·+·1; |
| 64 | ········sparseIntArray.put(n9,·n10); | 64 | ········sparseIntArray.put(n9,·n10); |
| 65 | ········return·n10; | 65 | ········return·n10; |
| 66 | ····} | 66 | ····} |
| 67 | ···· | 67 | ···· |
|  | 68 | ····public·static·int·convertBssidBlocklistReasonToWifiProtoEnum(final·int·n)·{ | |
|  | 69 | ········switch·(n)·{ | |
|  | 70 | ············default:·{ | |
|  | 71 | ················return·0; | |
|  | 72 | ············} | |
|  | 73 | ············case·11:·{ | |
|  | 74 | ················return·12; | |
|  | 75 | ············} | |
|  | 76 | ············case·10:·{ | |
|  | 77 | ················return·11; | |
|  | 78 | ············} | |
|  | 79 | ············case·9:·{ | |
|  | 80 | ················return·10; | |
|  | 81 | ············} | |
|  | 82 | ············case·8:·{ | |
|  | 83 | ················return·9; | |
|  | 84 | ············} | |
|  | 85 | ············case·7:·{ | |
|  | 86 | ················return·8; | |
|  | 87 | ············} | |
|  | 88 | ············case·6:·{ | |
|  | 89 | ················return·7; | |
|  | 90 | ············} | |
|  | 91 | ············case·5:·{ | |
|  | 92 | ················return·6; | |
|  | 93 | ············} | |
|  | 94 | ············case·4:·{ | |
|  | 95 | ················return·5; | |
|  | 96 | ············} | |
|  | 97 | ············case·3:·{ | |
|  | 98 | ················return·4; | |
|  | 99 | ············} | |
|  | 100 | ············case·2:·{ | |
|  | 101 | ················return·3; | |
|  | 102 | ············} | |
|  | 103 | ············case·1:·{ | |
|  | 104 | ················return·2; | |
|  | 105 | ············} | |
|  | 106 | ············case·0:·{ | |
|  | 107 | ················return·1; | |
|  | 108 | ············} | |
|  | 109 | ········} | |
|  | 110 | ····} | |
|  | 111 | ···· | |
|  | 112 | ····public·static·int·convertNetworkSelectionDisableReasonToWifiProtoEnum(final·int·n)·{ | |
|  | 113 | ········switch·(n)·{ | |
|  | 114 | ············default:·{ | |
|  | 115 | ················return·0; | |
|  | 116 | ············} | |
|  | 117 | ············case·9:·{ | |
|  | 118 | ················return·14; | |
|  | 119 | ············} | |
|  | 120 | ············case·8:·{ | |
|  | 121 | ················return·3; | |
|  | 122 | ············} | |
|  | 123 | ············case·5:·{ | |
|  | 124 | ················return·13; | |
|  | 125 | ············} | |
|  | 126 | ············case·4: | |
|  | 127 | ············case·6:·{ | |
|  | 128 | ················return·2; | |
|  | 129 | ············} | |
|  | 130 | ············case·3:·{ | |
|  | 131 | ················return·8; | |
|  | 132 | ············} | |
|  | 133 | ············case·2:·{ | |
|  | 134 | ················return·7; | |
|  | 135 | ············} | |
|  | 136 | ············case·1:·{ | |
|  | 137 | ················return·5; | |
|  | 138 | ············} | |
|  | 139 | ········} | |
|  | 140 | ····} | |
|  | 141 | ···· | |
| 68 | ····public·static·MetricsUtils$GenericBucket[]·linearHistogramToGenericBuckets(final·SparseIntArray·sparseIntArray,·final·int[]·array)·{ | 142 | ····public·static·MetricsUtils$GenericBucket[]·linearHistogramToGenericBuckets(final·SparseIntArray·sparseIntArray,·final·int[]·array)·{ |
| 69 | ········final·MetricsUtils$GenericBucket[]·array2·=·new·MetricsUtils$GenericBucket[sparseIntArray.size()]; | 143 | ········final·MetricsUtils$GenericBucket[]·array2·=·new·MetricsUtils$GenericBucket[sparseIntArray.size()]; |
| 70 | ········for·(int·i·=·0;·i·<·sparseIntArray.size();·++i)·{ | 144 | ········for·(int·i·=·0;·i·<·sparseIntArray.size();·++i)·{ |
| 71 | ············final·int·key·=·sparseIntArray.keyAt(i); | 145 | ············final·int·key·=·sparseIntArray.keyAt(i); |
| 72 | ············array2[i]·=·new·MetricsUtils$GenericBucket(); | 146 | ············array2[i]·=·new·MetricsUtils$GenericBucket(); |
| 73 | ············if·(key·==·0)·{ | 147 | ············if·(key·==·0)·{ |
| 74 | ················array2[i].start·=·2147483648L; | 148 | ················array2[i].start·=·2147483648L; |
| Offset 76, 14 lines modified | Offset 76, 22 lines modified | ||
| 76 | ····················s·=·String.format("%5d(%1d:%3d/%1d:%3d)",·array3); | 76 | ····················s·=·String.format("%5d(%1d:%3d/%1d:%3d)",·array3); |
| 77 | ················} | 77 | ················} |
| 78 | ················else·{ | 78 | ················else·{ |
| 79 | ····················final·Object[]·array4·=·new·Object[n4]; | 79 | ····················final·Object[]·array4·=·new·Object[n4]; |
| 80 | ····················array4[0]·=·scanResult.level; | 80 | ····················array4[0]·=·scanResult.level; |
| 81 | ····················s·=·String.format("%9d·········",·array4); | 81 | ····················s·=·String.format("%9d·········",·array4); |
| 82 | ················} | 82 | ················} |
|  | 83 | ················final·long·flags·=·scanResult.flags; | |
|  | 84 | ················final·long·n9·=·1L; | |
|  | 85 | ················if·((flags·&·n9)·==·n9)·{ | |
|  | 86 | ····················final·StringBuilder·sb·=·new·StringBuilder(); | |
|  | 87 | ····················sb.append(scanResult.capabilities); | |
|  | 88 | ····················sb.append("[PASSPOINT]"); | |
|  | 89 | ····················scanResult.capabilities·=·sb.toString(); | |
|  | 90 | ················} | |
| 83 | ················final·Object[]·array5·=·new·Object[6]; | 91 | ················final·Object[]·array5·=·new·Object[6]; |
| 84 | ················array5[0]·=·scanResult.BSSID; | 92 | ················array5[0]·=·scanResult.BSSID; |
| 85 | ················array5[n4]·=·scanResult.frequency; | 93 | ················array5[n4]·=·scanResult.frequency; |
| 86 | ················array5[n8]·=·s; | 94 | ················array5[n8]·=·s; |
| 87 | ················array5[n7]·=·format; | 95 | ················array5[n7]·=·format; |
| 88 | ················final·Object[]·array6·=·new·Object[n4]; | 96 | ················final·Object[]·array6·=·new·Object[n4]; |
| 89 | ················array6[0]·=·ssid; | 97 | ················array6[0]·=·ssid; |
| Offset 19, 14 lines modified | Offset 19, 18 lines modified | ||
| 19 | ········this.buffer·=·buffer; | 19 | ········this.buffer·=·buffer; |
| 20 | ········this.bufferStart·=·n; | 20 | ········this.bufferStart·=·n; |
| 21 | ········bufferSize·+=·n; | 21 | ········bufferSize·+=·n; |
| 22 | ········this.bufferSize·=·bufferSize; | 22 | ········this.bufferSize·=·bufferSize; |
| 23 | ········this.bufferPos·=·n; | 23 | ········this.bufferPos·=·n; |
| 24 | ····} | 24 | ····} |
| 25 | ···· | 25 | ···· |
|  | 26 | ····public·static·int·decodeZigZag32(final·int·n)·{ | |
|  | 27 | ········return·-(n·&·0x1)·^·n·>>>·1; | |
|  | 28 | ····} | |
|  | 29 | ···· | |
| 26 | ····public·static·CodedInputByteBufferNano·newInstance(final·byte[]·array,·final·int·n,·final·int·n2)·{ | 30 | ····public·static·CodedInputByteBufferNano·newInstance(final·byte[]·array,·final·int·n,·final·int·n2)·{ |
| 27 | ········return·new·CodedInputByteBufferNano(array,·n,·n2); | 31 | ········return·new·CodedInputByteBufferNano(array,·n,·n2); |
| 28 | ····} | 32 | ····} |
| 29 | ···· | 33 | ···· |
| 30 | ····private·void·recomputeBufferSizeAfterLimit()·{ | 34 | ····private·void·recomputeBufferSizeAfterLimit()·{ |
| 31 | ········final·int·bufferSize·=·this.bufferSize·+·this.bufferSizeAfterLimit; | 35 | ········final·int·bufferSize·=·this.bufferSize·+·this.bufferSizeAfterLimit; |
| 32 | ········this.bufferSize·=·bufferSize; | 36 | ········this.bufferSize·=·bufferSize; |
| Offset 44, 14 lines modified | Offset 48, 22 lines modified | ||
| 44 | ····public·void·checkLastTagWas(final·int·n)·{ | 48 | ····public·void·checkLastTagWas(final·int·n)·{ |
| 45 | ········if·(this.lastTag·==·n)·{ | 49 | ········if·(this.lastTag·==·n)·{ |
| 46 | ············return; | 50 | ············return; |
| 47 | ········} | 51 | ········} |
| 48 | ········throw·InvalidProtocolBufferNanoException.invalidEndTag(); | 52 | ········throw·InvalidProtocolBufferNanoException.invalidEndTag(); |
| 49 | ····} | 53 | ····} |
| 50 | ···· | 54 | ···· |
|  | 55 | ····public·int·getBytesUntilLimit()·{ | |
|  | 56 | ········final·int·currentLimit·=·this.currentLimit; | |
|  | 57 | ········if·(currentLimit·==·-1·>>>·1)·{ | |
|  | 58 | ············return·-1; | |
|  | 59 | ········} | |
|  | 60 | ········return·currentLimit·-·this.bufferPos; | |
|  | 61 | ····} | |
|  | 62 | ···· | |
| 51 | ····public·int·getPosition()·{ | 63 | ····public·int·getPosition()·{ |
| 52 | ········return·this.bufferPos·-·this.bufferStart; | 64 | ········return·this.bufferPos·-·this.bufferStart; |
| 53 | ····} | 65 | ····} |
| 54 | ···· | 66 | ···· |
| 55 | ····public·boolean·isAtEnd()·{ | 67 | ····public·boolean·isAtEnd()·{ |
| 56 | ········return·this.bufferPos·==·this.bufferSize; | 68 | ········return·this.bufferPos·==·this.bufferSize; |
| 57 | ····} | 69 | ····} |
| Offset 205, 14 lines modified | Offset 217, 18 lines modified | ||
| 205 | ················return·n; | 217 | ················return·n; |
| 206 | ············} | 218 | ············} |
| 207 | ············i·+=·7; | 219 | ············i·+=·7; |
| 208 | ········} | 220 | ········} |
| 209 | ········throw·InvalidProtocolBufferNanoException.malformedVarint(); | 221 | ········throw·InvalidProtocolBufferNanoException.malformedVarint(); |
| 210 | ····} | 222 | ····} |
| 211 | ···· | 223 | ···· |
|  | 224 | ····public·int·readSInt32()·{ | |
|  | 225 | ········return·decodeZigZag32(this.readRawVarint32()); | |
|  | 226 | ····} | |
|  | 227 | ···· | |
| 212 | ····public·String·readString()·{ | 228 | ····public·String·readString()·{ |
| 213 | ········final·int·rawVarint32·=·this.readRawVarint32(); | 229 | ········final·int·rawVarint32·=·this.readRawVarint32(); |
| 214 | ········if·(rawVarint32·<=·this.bufferSize·-·this.bufferPos·&&·rawVarint32·>·0)·{ | 230 | ········if·(rawVarint32·<=·this.bufferSize·-·this.bufferPos·&&·rawVarint32·>·0)·{ |
| 215 | ············final·String·s·=·new·String(this.buffer,·this.bufferPos,·rawVarint32,·InternalNano.UTF_8); | 231 | ············final·String·s·=·new·String(this.buffer,·this.bufferPos,·rawVarint32,·InternalNano.UTF_8); |
| 216 | ············this.bufferPos·+=·rawVarint32; | 232 | ············this.bufferPos·+=·rawVarint32; |
| 217 | ············return·s; | 233 | ············return·s; |
| 218 | ········} | 234 | ········} |
| Offset 115, 14 lines modified | Offset 115, 24 lines modified | ||
| 115 | ········n·&=·Long.MIN_VALUE; | 115 | ········n·&=·Long.MIN_VALUE; |
| 116 | ········if·(n·==·n3)·{ | 116 | ········if·(n·==·n3)·{ |
| 117 | ············return·9; | 117 | ············return·9; |
| 118 | ········} | 118 | ········} |
| 119 | ········return·10; | 119 | ········return·10; |
| 120 | ····} | 120 | ····} |
| 121 | ···· | 121 | ···· |
|  | 122 | ····public·static·int·computeSInt32Size(int·computeTagSize,·int·computeSInt32SizeNoTag)·{ | |
|  | 123 | ········computeTagSize·=·computeTagSize(computeTagSize); | |
|  | 124 | ········computeSInt32SizeNoTag·=·computeSInt32SizeNoTag(computeSInt32SizeNoTag); | |
|  | 125 | ········return·computeTagSize·+·computeSInt32SizeNoTag; | |
|  | 126 | ····} | |
|  | 127 | ···· | |
|  | 128 | ····public·static·int·computeSInt32SizeNoTag(final·int·n)·{ | |
|  | 129 | ········return·computeRawVarint32Size(encodeZigZag32(n)); | |
|  | 130 | ····} | |
|  | 131 | ···· | |
| 122 | ····public·static·int·computeStringSize(int·computeTagSize,·final·String·s)·{ | 132 | ····public·static·int·computeStringSize(int·computeTagSize,·final·String·s)·{ |
| 123 | ········computeTagSize·=·computeTagSize(computeTagSize); | 133 | ········computeTagSize·=·computeTagSize(computeTagSize); |
| 124 | ········return·computeTagSize·+·computeStringSizeNoTag(s); | 134 | ········return·computeTagSize·+·computeStringSizeNoTag(s); |
| 125 | ····} | 135 | ····} |
| 126 | ···· | 136 | ···· |
| 127 | ····public·static·int·computeStringSizeNoTag(final·String·s)·{ | 137 | ····public·static·int·computeStringSizeNoTag(final·String·s)·{ |
| 128 | ········final·int·encodedLength·=·encodedLength(s); | 138 | ········final·int·encodedLength·=·encodedLength(s); |
| Offset 297, 14 lines modified | Offset 307, 18 lines modified | ||
| 297 | ················byteBuffer.put((byte)(char1·>>>·12·|·'\u01e0')); | 307 | ················byteBuffer.put((byte)(char1·>>>·12·|·'\u01e0')); |
| 298 | ················byteBuffer.put((byte)((char1·>>>·6·&·'?')·|·c)); | 308 | ················byteBuffer.put((byte)((char1·>>>·6·&·'?')·|·c)); |
| 299 | ················byteBuffer.put((byte)((char1·&·'?')·|·c)); | 309 | ················byteBuffer.put((byte)((char1·&·'?')·|·c)); |
| 300 | ············} | 310 | ············} |
| 301 | ········} | 311 | ········} |
| 302 | ····} | 312 | ····} |
| 303 | ···· | 313 | ···· |
|  | 314 | ····public·static·int·encodeZigZag32(final·int·n)·{ | |
|  | 315 | ········return·n·>>·31·^·n·<<·1; | |
|  | 316 | ····} | |
|  | 317 | ···· | |
| 304 | ····private·static·int·encodedLength(final·CharSequence·charSequence)·{ | 318 | ····private·static·int·encodedLength(final·CharSequence·charSequence)·{ |
| 305 | ········int·length; | 319 | ········int·length; |
| 306 | ········int·i; | 320 | ········int·i; |
| 307 | ········for·(length·=·charSequence.length(),·i·=·'\0';·i·<·length·&&·charSequence.charAt(i)·<·'\u0080';·++i)·{} | 321 | ········for·(length·=·charSequence.length(),·i·=·'\0';·i·<·length·&&·charSequence.charAt(i)·<·'\u0080';·++i)·{} |
| 308 | ········int·n·=·length; | 322 | ········int·n·=·length; |
| 309 | ········while·(i·<·length)·{ | 323 | ········while·(i·<·length)·{ |
| 310 | ············final·char·char1·=·charSequence.charAt(i); | 324 | ············final·char·char1·=·charSequence.charAt(i); |
| Offset 448, 14 lines modified | Offset 462, 24 lines modified | ||
| 448 | ········while·((0xFFFFFF80·&·n)·!=·0x0L)·{ | 462 | ········while·((0xFFFFFF80·&·n)·!=·0x0L)·{ |
| 449 | ············this.writeRawByte(((int)n·&·0x7F)·|·0x80); | 463 | ············this.writeRawByte(((int)n·&·0x7F)·|·0x80); |
| 450 | ············n·>>>=·7; | 464 | ············n·>>>=·7; |
| 451 | ········} | 465 | ········} |
| 452 | ········this.writeRawByte((int)n); | 466 | ········this.writeRawByte((int)n); |
| 453 | ····} | 467 | ····} |
| 454 | ···· | 468 | ···· |
|  | 469 | ····public·void·writeSInt32(final·int·n,·final·int·n2)·{ | |
|  | 470 | ········this.writeTag(n,·0); | |
|  | 471 | ········this.writeSInt32NoTag(n2); | |
|  | 472 | ····} | |
|  | 473 | ···· | |
|  | 474 | ····public·void·writeSInt32NoTag(int·encodeZigZag32)·{ | |
|  | 475 | ········encodeZigZag32·=·encodeZigZag32(encodeZigZag32); | |
|  | 476 | ········this.writeRawVarint32(encodeZigZag32); | |
|  | 477 | ····} | |
|  | 478 | ···· | |
| 455 | ····public·void·writeString(final·int·n,·final·String·s)·{ | 479 | ····public·void·writeString(final·int·n,·final·String·s)·{ |
| 456 | ········this.writeTag(n,·2); | 480 | ········this.writeTag(n,·2); |
| 457 | ········this.writeStringNoTag(s); | 481 | ········this.writeStringNoTag(s); |
| 458 | ····} | 482 | ····} |
| 459 | ···· | 483 | ···· |
| 460 | ····public·void·writeStringNoTag(final·String·s)·{ | 484 | ····public·void·writeStringNoTag(final·String·s)·{ |
| 461 | ········try·{ | 485 | ········try·{ |
| Offset 1, 12 lines modified | Offset 1, 18 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.wifi.x.com.google.protobuf.nano; | 1 | package·com.android.wifi.x.com.google.protobuf.nano; |
| Â | Â | ||
| 2 | public·final·class·WireFormatNano | 2 | public·final·class·WireFormatNano |
| 3 | { | 3 | { |
|  | 4 | ····public·static·final·int[]·EMPTY_INT_ARRAY; | |
|  | 5 | ···· | |
|  | 6 | ····static·{ | |
|  | 7 | ········EMPTY_INT_ARRAY·=·new·int[0]; | |
|  | 8 | ····} | |
|  | 9 | ···· | |
| 4 | ····public·static·final·int·getRepeatedFieldArrayLength(final·CodedInputByteBufferNano·codedInputByteBufferNano,·final·int·n)·{ | 10 | ····public·static·final·int·getRepeatedFieldArrayLength(final·CodedInputByteBufferNano·codedInputByteBufferNano,·final·int·n)·{ |
| 5 | ········final·int·position·=·codedInputByteBufferNano.getPosition(); | 11 | ········final·int·position·=·codedInputByteBufferNano.getPosition(); |
| 6 | ········codedInputByteBufferNano.skipField(n); | 12 | ········codedInputByteBufferNano.skipField(n); |
| 7 | ········int·n2·=·1; | 13 | ········int·n2·=·1; |
| 8 | ········while·(codedInputByteBufferNano.readTag()·==·n)·{ | 14 | ········while·(codedInputByteBufferNano.readTag()·==·n)·{ |
| 9 | ············codedInputByteBufferNano.skipField(n); | 15 | ············codedInputByteBufferNano.skipField(n); |
| 10 | ············++n2; | 16 | ············++n2; |
| Offset 9, 15 lines modified | Offset 9, 15 lines modified | ||
| 9 | ····final·/*·synthetic·*/·ClientModeImpl$L2ConnectedState·this$1; | 9 | ····final·/*·synthetic·*/·ClientModeImpl$L2ConnectedState·this$1; |
| 10 | ···· | 10 | ···· |
| 11 | ····ClientModeImpl$L2ConnectedState$RssiEventHandler(final·ClientModeImpl$L2ConnectedState·this$1)·{ | 11 | ····ClientModeImpl$L2ConnectedState$RssiEventHandler(final·ClientModeImpl$L2ConnectedState·this$1)·{ |
| 12 | ········this.this$1·=·this$1; | 12 | ········this.this$1·=·this$1; |
| 13 | ····} | 13 | ····} |
| 14 | ···· | 14 | ···· |
| 15 | ····public·void·onRssiThresholdBreached(final·byte·b)·{ | 15 | ····public·void·onRssiThresholdBreached(final·byte·b)·{ |
| 16 | ········if·(ClientModeImpl.access$ | 16 | ········if·(ClientModeImpl.access$900(this.this$1.this$0))·{ |
| 17 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 17 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 18 | ············sb.append("onRssiThresholdBreach·event.·Cur·Rssi·=·"); | 18 | ············sb.append("onRssiThresholdBreach·event.·Cur·Rssi·=·"); |
| 19 | ············sb.append(b); | 19 | ············sb.append(b); |
| 20 | ············Log.e("WifiClientModeImpl",·sb.toString()); | 20 | ············Log.e("WifiClientModeImpl",·sb.toString()); |
| 21 | ········} | 21 | ········} |
| 22 | ········((StateMachine)this.this$1.this$0).sendMessage(131236,·(int)b); | 22 | ········((StateMachine)this.this$1.this$0).sendMessage(131236,·(int)b); |
| 23 | ····} | 23 | ····} |
| Offset 55, 30 lines modified | Offset 55, 33 lines modified | ||
| 55 | ············} | 55 | ············} |
| 56 | ········} | 56 | ········} |
| 57 | ········((StateMachine)this.this$0).sendMessage(131145); | 57 | ········((StateMachine)this.this$0).sendMessage(131145); |
| 58 | ····} | 58 | ····} |
| 59 | ···· | 59 | ···· |
| 60 | ····public·void·onNetworkUpdated(final·WifiConfiguration·wifiConfiguration,·final·WifiConfiguration·wifiConfiguration2)·{ | 60 | ····public·void·onNetworkUpdated(final·WifiConfiguration·wifiConfiguration,·final·WifiConfiguration·wifiConfiguration2)·{ |
| 61 | ········ClientModeImpl.access$600(this.this$0).removeNetworkCachedData(wifiConfiguration2.networkId); | 61 | ········ClientModeImpl.access$600(this.this$0).removeNetworkCachedData(wifiConfiguration2.networkId); |
|  | 62 | ········if·(WifiConfigurationUtil.hasCredentialChanged(wifiConfiguration2,·wifiConfiguration))·{ | |
|  | 63 | ············ClientModeImpl.access$700(this.this$0).handleNetworkRemoved(wifiConfiguration.SSID); | |
|  | 64 | ········} | |
| 62 | ········if·(wifiConfiguration.networkId·==·ClientModeImpl.access$500(this.this$0))·{ | 65 | ········if·(wifiConfiguration.networkId·==·ClientModeImpl.access$500(this.this$0))·{ |
| 63 | ············if·(wifiConfiguration.meteredOverride·!=·wifiConfiguration2.meteredOverride)·{ | 66 | ············if·(wifiConfiguration.meteredOverride·!=·wifiConfiguration2.meteredOverride)·{ |
| 64 | ················final·boolean·metered·=·WifiConfiguration.isMetered(wifiConfiguration,·(WifiInfo)ClientModeImpl.access$ | 67 | ················final·boolean·metered·=·WifiConfiguration.isMetered(wifiConfiguration,·(WifiInfo)ClientModeImpl.access$800(this.this$0)); |
| 65 | ················final·boolean·metered2·=·WifiConfiguration.isMetered(wifiConfiguration2,·(WifiInfo)ClientModeImpl.access$ | 68 | ················final·boolean·metered2·=·WifiConfiguration.isMetered(wifiConfiguration2,·(WifiInfo)ClientModeImpl.access$800(this.this$0)); |
| 66 | ················final·String·s·=·"WifiClientModeImpl"; | 69 | ················final·String·s·=·"WifiClientModeImpl"; |
| 67 | ················if·(metered·==·metered2)·{ | 70 | ················if·(metered·==·metered2)·{ |
| 68 | ····················if·(ClientModeImpl.access$ | 71 | ····················if·(ClientModeImpl.access$900(this.this$0))·{ |
| 69 | ························Log.v(s,·"User/app·changed·meteredOverride,·but·no·change·in·meteredness"); | 72 | ························Log.v(s,·"User/app·changed·meteredOverride,·but·no·change·in·meteredness"); |
| 70 | ····················} | 73 | ····················} |
| 71 | ····················return; | 74 | ····················return; |
| 72 | ················} | 75 | ················} |
| 73 | ················if·(metered)·{ | 76 | ················if·(metered)·{ |
| 74 | ····················Log.w(s,·"Network·marked·metered,·triggering·disconnect"); | 77 | ····················Log.w(s,·"Network·marked·metered,·triggering·disconnect"); |
| 75 | ····················((StateMachine)this.this$0).sendMessage(131145); | 78 | ····················((StateMachine)this.this$0).sendMessage(131145); |
| 76 | ················} | 79 | ················} |
| 77 | ················else·{ | 80 | ················else·{ |
| 78 | ····················Log.i(s,·"Network·marked·unmetered,·triggering·capabilities·update"); | 81 | ····················Log.i(s,·"Network·marked·unmetered,·triggering·capabilities·update"); |
| 79 | ····················ClientModeImpl.access$ | 82 | ····················ClientModeImpl.access$1000(this.this$0,·wifiConfiguration); |
| 80 | ················} | 83 | ················} |
| 81 | ············} | 84 | ············} |
| 82 | ········} | 85 | ········} |
| 83 | ····} | 86 | ····} |
| 84 | } | 87 | } |
| Offset 911, 21 lines modified | Offset 911, 30 lines modified | ||
| 911 | ········} | 911 | ········} |
| 912 | ········final·String·bssid·=·((WifiInfo)this.mWifiInfo).getBSSID(); | 912 | ········final·String·bssid·=·((WifiInfo)this.mWifiInfo).getBSSID(); |
| 913 | ········final·String·ssid·=·((WifiInfo)this.mWifiInfo).getSSID(); | 913 | ········final·String·ssid·=·((WifiInfo)this.mWifiInfo).getSSID(); |
| 914 | ········if·(bssid·!=·null·&&·ssid·!=·null·&&·!"<unknown·ssid>".equals(ssid))·{ | 914 | ········if·(bssid·!=·null·&&·ssid·!=·null·&&·!"<unknown·ssid>".equals(ssid))·{ |
| 915 | ············if·((mboOceController$BtmFrameData.mBssTmDataFlagsMask·&·0x80)·!=·0x0)·{ | 915 | ············if·((mboOceController$BtmFrameData.mBssTmDataFlagsMask·&·0x80)·!=·0x0)·{ |
| 916 | ················this.mWifiMetrics.incrementMboCellularSwitchRequestCount(); | 916 | ················this.mWifiMetrics.incrementMboCellularSwitchRequestCount(); |
| 917 | ············} | 917 | ············} |
| 918 | ············i | 918 | ············final·int·mBssTmDataFlagsMask·=·mboOceController$BtmFrameData.mBssTmDataFlagsMask; |
| 919 | ············ | 919 | ············if·((mBssTmDataFlagsMask·&·0x4)·!=·0x0)·{ |
| 920 | ················ | 920 | ················final·int·n·=·mBssTmDataFlagsMask·&·0x40; |
| 921 | ················ | 921 | ················final·long·n2·=·0L; |
| 922 | ················ | 922 | ················long·mBlockListDurationMs; |
|  | 923 | ················if·(n·!=·0)·{ | |
|  | 924 | ····················this.mWifiMetrics.incrementSteeringRequestCountIncludingMboAssocRetryDelay(); | |
|  | 925 | ····················mBlockListDurationMs·=·mboOceController$BtmFrameData.mBlockListDurationMs; | |
| 923 | ················} | 926 | ················} |
| 924 | ················ | 927 | ················else·{ |
|  | 928 | ····················mBlockListDurationMs·=·n2; | |
|  | 929 | ················} | |
|  | 930 | ················if·(mBlockListDurationMs·==·n2)·{ | |
|  | 931 | ····················mBlockListDurationMs·=·300000L; | |
|  | 932 | ················} | |
|  | 933 | ················this.mBssidBlocklistMonitor.blockBssidForDurationMs(bssid,·ssid,·mBlockListDurationMs,·9,·0); | |
| 925 | ············} | 934 | ············} |
| 926 | ············if·(mboOceController$BtmFrameData.mStatus·!=·0)·{ | 935 | ············if·(mboOceController$BtmFrameData.mStatus·!=·0)·{ |
| 927 | ················this.mWifiMetrics.incrementForceScanCountDueToSteeringRequest(); | 936 | ················this.mWifiMetrics.incrementForceScanCountDueToSteeringRequest(); |
| 928 | ················this.mWifiConnectivityManager.forceConnectivityScan(ClientModeImpl.WIFI_WORK_SOURCE); | 937 | ················this.mWifiConnectivityManager.forceConnectivityScan(ClientModeImpl.WIFI_WORK_SOURCE); |
| 929 | ············} | 938 | ············} |
| 930 | ············return; | 939 | ············return; |
| 931 | ········} | 940 | ········} |
| Offset 1643, 15 lines modified | Offset 1652, 14 lines modified | ||
| 1643 | ········this.mWifiMonitor.registerHandler(this.mInterfaceName,·147507,·this.getHandler()); | 1652 | ········this.mWifiMonitor.registerHandler(this.mInterfaceName,·147507,·this.getHandler()); |
| 1644 | ········this.mWifiMonitor.registerHandler(this.mInterfaceName,·147517,·this.getHandler()); | 1653 | ········this.mWifiMonitor.registerHandler(this.mInterfaceName,·147517,·this.getHandler()); |
| 1645 | ········final·WifiMonitor·mWifiMonitor5·=·this.mWifiMonitor; | 1654 | ········final·WifiMonitor·mWifiMonitor5·=·this.mWifiMonitor; |
| 1646 | ········final·String·mInterfaceName5·=·this.mInterfaceName; | 1655 | ········final·String·mInterfaceName5·=·this.mInterfaceName; |
| 1647 | ········final·Handler·handler5·=·this.getHandler(); | 1656 | ········final·Handler·handler5·=·this.getHandler(); |
| 1648 | ········final·int·n5·=·147459; | 1657 | ········final·int·n5·=·147459; |
| 1649 | ········mWifiMonitor5.registerHandler(mInterfaceName5,·n5,·handler5); | 1658 | ········mWifiMonitor5.registerHandler(mInterfaceName5,·n5,·handler5); |
| 1650 | ········this.mWifiMonitor.registerHandler(this.mInterfaceName,·147518,·this.getHandler()); |  | |
| 1651 | ········final·WifiMonitor·mWifiMonitor6·=·this.mWifiMonitor; | 1659 | ········final·WifiMonitor·mWifiMonitor6·=·this.mWifiMonitor; |
| 1652 | ········final·String·mInterfaceName6·=·this.mInterfaceName; | 1660 | ········final·String·mInterfaceName6·=·this.mInterfaceName; |
| 1653 | ········final·Handler·handler6·=·this.getHandler(); | 1661 | ········final·Handler·handler6·=·this.getHandler(); |
| 1654 | ········final·int·n6·=·147460; | 1662 | ········final·int·n6·=·147460; |
| 1655 | ········mWifiMonitor6.registerHandler(mInterfaceName6,·n6,·handler6); | 1663 | ········mWifiMonitor6.registerHandler(mInterfaceName6,·n6,·handler6); |
| 1656 | ········this.mWifiMonitor.registerHandler(this.mInterfaceName,·147509,·this.getHandler()); | 1664 | ········this.mWifiMonitor.registerHandler(this.mInterfaceName,·147509,·this.getHandler()); |
| 1657 | ········final·WifiMonitor·mWifiMonitor7·=·this.mWifiMonitor; | 1665 | ········final·WifiMonitor·mWifiMonitor7·=·this.mWifiMonitor; |
| Offset 1710, 51 lines modified | Offset 1718, 54 lines modified | ||
| 1710 | ············s·=·this.mTargetBssid; | 1718 | ············s·=·this.mTargetBssid; |
| 1711 | ········} | 1719 | ········} |
| 1712 | ········String·s2·=·((WifiInfo)this.mWifiInfo).getSSID(); | 1720 | ········String·s2·=·((WifiInfo)this.mWifiInfo).getSSID(); |
| 1713 | ········if·("<unknown·ssid>".equals(s2))·{ | 1721 | ········if·("<unknown·ssid>".equals(s2))·{ |
| 1714 | ············s2·=·this.getTargetSsid(); | 1722 | ············s2·=·this.getTargetSsid(); |
| 1715 | ········} | 1723 | ········} |
| 1716 | ········final·int·n3·=·-1; | 1724 | ········final·int·n3·=·-1; |
| 1717 | ········ | 1725 | ········int·n4·=·1; |
| 1718 | ········ | 1726 | ········if·(n·!=·n4)·{ |
| 1719 | ········if·(n·!=·(b2·?·1·:·0))·{ |  | |
| 1720 | ············final·int·convertToBssidBlocklistMonitorFailureReason·=·this.convertToBssidBlocklistMonitorFailureReason(n,·n2); | 1727 | ············final·int·convertToBssidBlocklistMonitorFailureReason·=·this.convertToBssidBlocklistMonitorFailureReason(n,·n2); |
| 1721 | ············if·(convertToBssidBlocklistMonitorFailureReason·!=·n3)·{ | 1728 | ············if·(convertToBssidBlocklistMonitorFailureReason·!=·n3)·{ |
| 1722 | ················int·networkId; | 1729 | ················int·networkId; |
| 1723 | ················if·(wifiConfiguration·==·null)·{ | 1730 | ················if·(wifiConfiguration·==·null)·{ |
| 1724 | ····················networkId·=·n3; | 1731 | ····················networkId·=·n3; |
| 1725 | ················} | 1732 | ················} |
| 1726 | ················else·{ | 1733 | ················else·{ |
| 1727 | ····················networkId·=·wifiConfiguration.networkId; | 1734 | ····················networkId·=·wifiConfiguration.networkId; |
| 1728 | ················} | 1735 | ················} |
| 1729 | ················final·int·scanRssi·=·this.mWifiConfigManager.findScanRssi(networkId,·this.mWifiHealthMonitor.getScanRssiValidTimeMs()); | 1736 | ················final·int·scanRssi·=·this.mWifiConfigManager.findScanRssi(networkId,·this.mWifiHealthMonitor.getScanRssiValidTimeMs()); |
| 1730 | ················this.mWifiScoreCard.noteConnectionFailure(this.mWifiInfo,·scanRssi,·s2,·convertToBssidBlocklistMonitorFailureReason); | 1737 | ················this.mWifiScoreCard.noteConnectionFailure(this.mWifiInfo,·scanRssi,·s2,·convertToBssidBlocklistMonitorFailureReason); |
| 1731 | ················this.checkAbnormalConnectionFailureAndTakeBugReport(s2); | 1738 | ················this.checkAbnormalConnectionFailureAndTakeBugReport(s2); |
| 1732 | ················ | 1739 | ················this.mBssidBlocklistMonitor.handleBssidConnectionFailure(s,·s2,·convertToBssidBlocklistMonitorFailureReason,·scanRssi); |
| 1733 | ················final·int·n4·=·-127; |  | |
| 1734 | ················this.mBssidBlocklistMonitor.handleBssidConnectionFailure(s,·s2,·convertToBssidBlocklistMonitorFailureReason,·scanRssi·!=·n4·&&·sufficientRssi·!=·n4·&&·scanRssi·<·sufficientRssi·&&·b2); |  | |
| 1735 | ············} | 1740 | ············} |
| 1736 | ········} | 1741 | ········} |
| 1737 | ········final·int·n5·=·3; | 1742 | ········final·int·n5·=·3; |
| 1738 | ········if·(wifiConfiguration·!=·null·&&·wifiConfiguration.carrierId·!=·n3)·{ | 1743 | ········if·(wifiConfiguration·!=·null·&&·wifiConfiguration.carrierId·!=·n3)·{ |
| 1739 | ············if·(n·==· | 1744 | ············if·(n·==·n4)·{ |
| 1740 | ················this.mWifiMetrics.incrementNumOfCarrierWifiConnectionSuccess(); | 1745 | ················this.mWifiMetrics.incrementNumOfCarrierWifiConnectionSuccess(); |
| 1741 | ············} | 1746 | ············} |
| 1742 | ············else·if·(n·==·n5·&&·n2·!=· | 1747 | ············else·if·(n·==·n5·&&·n2·!=·n4)·{ |
| 1743 | ················this.mWifiMetrics.incrementNumOfCarrierWifiConnectionAuthFailure(); | 1748 | ················this.mWifiMetrics.incrementNumOfCarrierWifiConnectionAuthFailure(); |
| 1744 | ············} | 1749 | ············} |
| 1745 | ············else·{ | 1750 | ············else·{ |
| 1746 | ················this.mWifiMetrics.incrementNumOfCarrierWifiConnectionNonAuthFailure(); | 1751 | ················this.mWifiMetrics.incrementNumOfCarrierWifiConnectionNonAuthFailure(); |
| 1747 | ············} | 1752 | ············} |
| 1748 | ········} | 1753 | ········} |
| 1749 | ········ | 1754 | ········int·n6; |
| 1750 | ········if·(n·==· | 1755 | ········if·(n·==·2)·{ |
| 1751 | ············ | 1756 | ············n6·=·n4; |
|  | 1757 | ········} | |
|  | 1758 | ········else·{ | |
|  | 1759 | ············n6·=·0; | |
|  | 1760 | ········} | |
|  | 1761 | ········if·(n·!=·n5·||·n2·==·n5)·{ | |
|  | 1762 | ············n4·=·0; | |
| 1752 | ········} | 1763 | ········} |
| 1753 | ········if·(( | 1764 | ········if·((n6·!=·0·||·n4·!=·0)·&&·this.mWifiConfigManager.isInFlakyRandomizationSsidHotlist(this.mTargetNetworkId))·{ |
| 1754 | ············this.mConnectionFailureNotifier.showFailedToConnectDueToNoRandomizedMacSupportNotification(this.mTargetNetworkId); | 1765 | ············this.mConnectionFailureNotifier.showFailedToConnectDueToNoRandomizedMacSupportNotification(this.mTargetNetworkId); |
| 1755 | ········} | 1766 | ········} |
| 1756 | ········this.mWifiMetrics.endConnectionEvent(n,·equals,·n2); | 1767 | ········this.mWifiMetrics.endConnectionEvent(n,·equals,·n2); |
| 1757 | ········this.mWifiConnectivityManager.handleConnectionAttemptEnded(n,·s,·s2); | 1768 | ········this.mWifiConnectivityManager.handleConnectionAttemptEnded(n,·s,·s2); |
| 1758 | ········if·(wifiConfiguration·!=·null)·{ | 1769 | ········if·(wifiConfiguration·!=·null)·{ |
| 1759 | ············this.mNetworkFactory.handleConnectionAttemptEnded(n,·wifiConfiguration); | 1770 | ············this.mNetworkFactory.handleConnectionAttemptEnded(n,·wifiConfiguration); |
| 1760 | ············this.mWifiNetworkSuggestionsManager.handleConnectionAttemptEnded(n,·wifiConfiguration,·this.getCurrentBSSID()); | 1771 | ············this.mWifiNetworkSuggestionsManager.handleConnectionAttemptEnded(n,·wifiConfiguration,·this.getCurrentBSSID()); |
| Offset 1928, 15 lines modified | Offset 1939, 14 lines modified | ||
| 1928 | ········((NetworkAgent)this.mNetworkAgent).markConnected(); | 1939 | ········((NetworkAgent)this.mNetworkAgent).markConnected(); |
| 1929 | ········this.sendNetworkChangeBroadcast(NetworkInfo$DetailedState.CONNECTED); | 1940 | ········this.sendNetworkChangeBroadcast(NetworkInfo$DetailedState.CONNECTED); |
| 1930 | ····} | 1941 | ····} |
| 1931 | ···· | 1942 | ···· |
| 1932 | ····private·void·sendLinkConfigurationChangedBroadcast()·{ | 1943 | ····private·void·sendLinkConfigurationChangedBroadcast()·{ |
| 1933 | ········final·Intent·intent·=·new·Intent("android.net.wifi.LINK_CONFIGURATION_CHANGED"); | 1944 | ········final·Intent·intent·=·new·Intent("android.net.wifi.LINK_CONFIGURATION_CHANGED"); |
| 1934 | ········intent.addFlags(67108864); | 1945 | ········intent.addFlags(67108864); |
| 1935 | ········intent.putExtra("android.net.wifi.extra.LINK_PROPERTIES",·(Parcelable)new·LinkProperties(this.mLinkProperties)); |  | |
| 1936 | ········this.mContext.sendBroadcastAsUser(intent,·UserHandle.ALL); | 1946 | ········this.mContext.sendBroadcastAsUser(intent,·UserHandle.ALL); |
| 1937 | ····} | 1947 | ····} |
| 1938 | ···· | 1948 | ···· |
| 1939 | ····private·void·sendNetworkChangeBroadcast(final·NetworkInfo$DetailedState·mNetworkAgentState)·{ | 1949 | ····private·void·sendNetworkChangeBroadcast(final·NetworkInfo$DetailedState·mNetworkAgentState)·{ |
| 1940 | ········final·boolean·mIsAutoRoaming·=·this.mIsAutoRoaming; | 1950 | ········final·boolean·mIsAutoRoaming·=·this.mIsAutoRoaming; |
| 1941 | ········if·(this.mVerboseLoggingEnabled)·{ | 1951 | ········if·(this.mVerboseLoggingEnabled)·{ |
| 1942 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 1952 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| Offset 2334, 14 lines modified | Offset 2344, 15 lines modified | ||
| 2334 | ········} | 2344 | ········} |
| 2335 | ········this.mCountryCode.setReadyForChange(false); | 2345 | ········this.mCountryCode.setReadyForChange(false); |
| 2336 | ········this.mInterfaceName·=·null; | 2346 | ········this.mInterfaceName·=·null; |
| 2337 | ········this.mWifiScoreReport.setInterfaceName((String)null); | 2347 | ········this.mWifiScoreReport.setInterfaceName((String)null); |
| 2338 | ········this.sendSupplicantConnectionChangedBroadcast(false); | 2348 | ········this.sendSupplicantConnectionChangedBroadcast(false); |
| 2339 | ········this.mWifiConfigManager.removeAllEphemeralOrPasspointConfiguredNetworks(); | 2349 | ········this.mWifiConfigManager.removeAllEphemeralOrPasspointConfiguredNetworks(); |
| ... Open expanded diff ... | |||
| Offset 1, 11 lines modified | Offset 1, 12 lines modified | ||
| Â | Â | ||
| 1 | package·com.android.server.wifi; | 1 | package·com.android.server.wifi; |
| Â | Â | ||
| 2 | import·org.xmlpull.v1.XmlSerializer; | 2 | import·org.xmlpull.v1.XmlSerializer; |
|  | 3 | import·java.util.Collections; | |
| 3 | import·android.util.Log; | 4 | import·android.util.Log; |
| 4 | import·org.xmlpull.v1.XmlPullParserException; | 5 | import·org.xmlpull.v1.XmlPullParserException; |
| 5 | import·com.android.server.wifi.util.XmlUtil; | 6 | import·com.android.server.wifi.util.XmlUtil; |
| 6 | import·com.android.server.wifi.util.WifiConfigStoreEncryptionUtil; | 7 | import·com.android.server.wifi.util.WifiConfigStoreEncryptionUtil; |
| 7 | import·org.xmlpull.v1.XmlPullParser; | 8 | import·org.xmlpull.v1.XmlPullParser; |
| 8 | import·java.util.Iterator; | 9 | import·java.util.Iterator; |
| 9 | import·java.util.HashMap; | 10 | import·java.util.HashMap; |
| Offset 102, 14 lines modified | Offset 103, 15 lines modified | ||
| 102 | ············break; | 103 | ············break; |
| 103 | ········} | 104 | ········} |
| 104 | ········return·hashMap; | 105 | ········return·hashMap; |
| 105 | ····} | 106 | ····} |
| 106 | ···· | 107 | ···· |
| 107 | ····public·void·deserializeData(final·XmlPullParser·xmlPullParser,·final·int·n,·final·int·n2,·final·WifiConfigStoreEncryptionUtil·wifiConfigStoreEncryptionUtil)·{ | 108 | ····public·void·deserializeData(final·XmlPullParser·xmlPullParser,·final·int·n,·final·int·n2,·final·WifiConfigStoreEncryptionUtil·wifiConfigStoreEncryptionUtil)·{ |
| 108 | ········if·(xmlPullParser·==·null)·{ | 109 | ········if·(xmlPullParser·==·null)·{ |
|  | 110 | ············this.mDataSource.fromDeserialized((Map)Collections.emptyMap()); | |
| 109 | ············return; | 111 | ············return; |
| 110 | ········} | 112 | ········} |
| 111 | ········this.mDataSource.fromDeserialized(this.parseCarrierImsiProtectionExemptionMap(xmlPullParser,·n,·n2,·wifiConfigStoreEncryptionUtil)); | 113 | ········this.mDataSource.fromDeserialized(this.parseCarrierImsiProtectionExemptionMap(xmlPullParser,·n,·n2,·wifiConfigStoreEncryptionUtil)); |
| 112 | ····} | 114 | ····} |
| 113 | ···· | 115 | ···· |
| 114 | ····public·String·getName()·{ | 116 | ····public·String·getName()·{ |
| 115 | ········return·"ImsiPrivacyProtectionExemptionMap"; | 117 | ········return·"ImsiPrivacyProtectionExemptionMap"; |
| Offset 42, 14 lines modified | Offset 42, 15 lines modified | ||
| 42 | ············final·WifiConfigManager·mWifiConfigManager·=·this.mWifiConfigManager; | 42 | ············final·WifiConfigManager·mWifiConfigManager·=·this.mWifiConfigManager; |
| 43 | ············final·WifiNetworkSuggestionsManager$PerAppInfo·perAppInfo·=·wifiNetworkSuggestionsManager$ExtendedWifiNetworkSuggestion.perAppInfo; | 43 | ············final·WifiNetworkSuggestionsManager$PerAppInfo·perAppInfo·=·wifiNetworkSuggestionsManager$ExtendedWifiNetworkSuggestion.perAppInfo; |
| 44 | ············final·NetworkUpdateResult·addOrUpdateNetwork·=·mWifiConfigManager.addOrUpdateNetwork(internalWifiConfiguration,·perAppInfo.uid,·perAppInfo.packageName); | 44 | ············final·NetworkUpdateResult·addOrUpdateNetwork·=·mWifiConfigManager.addOrUpdateNetwork(internalWifiConfiguration,·perAppInfo.uid,·perAppInfo.packageName); |
| 45 | ············if·(!addOrUpdateNetwork.isSuccess())·{ | 45 | ············if·(!addOrUpdateNetwork.isSuccess())·{ |
| 46 | ················this.mLocalLog.log("Failed·to·add·network·suggestion"); | 46 | ················this.mLocalLog.log("Failed·to·add·network·suggestion"); |
| 47 | ············} | 47 | ············} |
| 48 | ············else·{ | 48 | ············else·{ |
|  | 49 | ················this.mWifiConfigManager.allowAutojoin(addOrUpdateNetwork.getNetworkId(),·internalWifiConfiguration.allowAutojoin); | |
| 49 | ················final·WifiConfiguration·configuredNetwork2·=·this.mWifiConfigManager.getConfiguredNetwork(addOrUpdateNetwork.netId); | 50 | ················final·WifiConfiguration·configuredNetwork2·=·this.mWifiConfigManager.getConfiguredNetwork(addOrUpdateNetwork.netId); |
| 50 | ················if·(configuredNetwork·==·null)·{ | 51 | ················if·(configuredNetwork·==·null)·{ |
| 51 | ····················if·(this.mWifiConfigManager.updateNetworkSelectionStatus(addOrUpdateNetwork.getNetworkId(),·0))·{ | 52 | ····················if·(this.mWifiConfigManager.updateNetworkSelectionStatus(addOrUpdateNetwork.getNetworkId(),·0))·{ |
| 52 | ························continue; | 53 | ························continue; |
| 53 | ····················} | 54 | ····················} |
| 54 | ····················this.mLocalLog.log("Failed·to·make·network·suggestion·selectable"); | 55 | ····················this.mLocalLog.log("Failed·to·make·network·suggestion·selectable"); |
| 55 | ················} | 56 | ················} |
| Offset 72, 14 lines modified | Offset 73, 15 lines modified | ||
| 72 | ········final·WifiConfigManager·mWifiConfigManager·=·this.mWifiConfigManager; | 73 | ········final·WifiConfigManager·mWifiConfigManager·=·this.mWifiConfigManager; |
| 73 | ········final·WifiNetworkSuggestionsManager$PerAppInfo·perAppInfo·=·wifiNetworkSuggestionsManager$ExtendedWifiNetworkSuggestion.perAppInfo; | 74 | ········final·WifiNetworkSuggestionsManager$PerAppInfo·perAppInfo·=·wifiNetworkSuggestionsManager$ExtendedWifiNetworkSuggestion.perAppInfo; |
| 74 | ········final·NetworkUpdateResult·addOrUpdateNetwork·=·mWifiConfigManager.addOrUpdateNetwork(internalWifiConfiguration,·perAppInfo.uid,·perAppInfo.packageName); | 75 | ········final·NetworkUpdateResult·addOrUpdateNetwork·=·mWifiConfigManager.addOrUpdateNetwork(internalWifiConfiguration,·perAppInfo.uid,·perAppInfo.packageName); |
| 75 | ········if·(!addOrUpdateNetwork.isSuccess())·{ | 76 | ········if·(!addOrUpdateNetwork.isSuccess())·{ |
| 76 | ············this.mLocalLog.log("Failed·to·add·network·suggestion"); | 77 | ············this.mLocalLog.log("Failed·to·add·network·suggestion"); |
| 77 | ············return·null; | 78 | ············return·null; |
| 78 | ········} | 79 | ········} |
|  | 80 | ········this.mWifiConfigManager.allowAutojoin(addOrUpdateNetwork.getNetworkId(),·internalWifiConfiguration.allowAutojoin); | |
| 79 | ········if·(!this.mWifiConfigManager.updateNetworkSelectionStatus(addOrUpdateNetwork.getNetworkId(),·0))·{ | 81 | ········if·(!this.mWifiConfigManager.updateNetworkSelectionStatus(addOrUpdateNetwork.getNetworkId(),·0))·{ |
| 80 | ············this.mLocalLog.log("Failed·to·make·network·suggestion·selectable"); | 82 | ············this.mLocalLog.log("Failed·to·make·network·suggestion·selectable"); |
| 81 | ············return·null; | 83 | ············return·null; |
| 82 | ········} | 84 | ········} |
| 83 | ········return·this.mWifiConfigManager.getConfiguredNetwork(addOrUpdateNetwork.getNetworkId()); | 85 | ········return·this.mWifiConfigManager.getConfiguredNetwork(addOrUpdateNetwork.getNetworkId()); |
| 84 | ····} | 86 | ····} |
| 85 | ···· | 87 | ···· |
| Offset 11, 14 lines modified | Offset 11, 15 lines modified | ||
| 11 | ····public·static·final·int·CMD_FAILURE·=·2; | 11 | ····public·static·final·int·CMD_FAILURE·=·2; |
| 12 | ····public·static·final·int·CMD_INTERFACE_DESTROYED·=·7; | 12 | ····public·static·final·int·CMD_INTERFACE_DESTROYED·=·7; |
| 13 | ····public·static·final·int·CMD_INTERFACE_DOWN·=·8; | 13 | ····public·static·final·int·CMD_INTERFACE_DOWN·=·8; |
| 14 | ····public·static·final·int·CMD_INTERFACE_STATUS_CHANGED·=·3; | 14 | ····public·static·final·int·CMD_INTERFACE_STATUS_CHANGED·=·3; |
| 15 | ····public·static·final·int·CMD_NO_ASSOCIATED_STATIONS_TIMEOUT·=·5; | 15 | ····public·static·final·int·CMD_NO_ASSOCIATED_STATIONS_TIMEOUT·=·5; |
| 16 | ····public·static·final·int·CMD_SOFT_AP_CHANNEL_SWITCHED·=·9; | 16 | ····public·static·final·int·CMD_SOFT_AP_CHANNEL_SWITCHED·=·9; |
| 17 | ····public·static·final·int·CMD_START·=·0; | 17 | ····public·static·final·int·CMD_START·=·0; |
|  | 18 | ····public·static·final·int·CMD_STOP·=·1; | |
| 18 | ····public·static·final·int·CMD_UPDATE_CAPABILITY·=·10; | 19 | ····public·static·final·int·CMD_UPDATE_CAPABILITY·=·10; |
| 19 | ····public·static·final·int·CMD_UPDATE_CONFIG·=·11; | 20 | ····public·static·final·int·CMD_UPDATE_CONFIG·=·11; |
| 20 | ····private·final·State·mIdleState; | 21 | ····private·final·State·mIdleState; |
| 21 | ····private·final·State·mStartedState; | 22 | ····private·final·State·mStartedState; |
| 22 | ····private·final·WifiNative$InterfaceCallback·mWifiNativeInterfaceCallback; | 23 | ····private·final·WifiNative$InterfaceCallback·mWifiNativeInterfaceCallback; |
| 23 | ····final·/*·synthetic·*/·SoftApManager·this$0; | 24 | ····final·/*·synthetic·*/·SoftApManager·this$0; |
| 24 | ···· | 25 | ···· |
| Offset 378, 25 lines modified | Offset 378, 15 lines modified | ||
| 378 | ···· | 378 | ···· |
| 379 | ····public·void·stop()·{ | 379 | ····public·void·stop()·{ |
| 380 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 380 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 381 | ········sb.append("·currentstate:·"); | 381 | ········sb.append("·currentstate:·"); |
| 382 | ········sb.append(this.getCurrentStateName()); | 382 | ········sb.append(this.getCurrentStateName()); |
| 383 | ········Log.d("SoftApManager",·sb.toString()); | 383 | ········Log.d("SoftApManager",·sb.toString()); |
| 384 | ········this.mTargetRole·=·-1; | 384 | ········this.mTargetRole·=·-1; |
| 385 | ········i | 385 | ········((StateMachine)this.mStateMachine).sendMessage(1); |
| 386 | ············final·boolean·mIfaceIsUp·=·this.mIfaceIsUp; |  | |
| 387 | ············final·int·n·=·10; |  | |
| 388 | ············if·(mIfaceIsUp)·{ |  | |
| 389 | ················this.updateApState(n,·13,·0); |  | |
| 390 | ············} |  | |
| 391 | ············else·{ |  | |
| 392 | ················this.updateApState(n,·12,·0); |  | |
| 393 | ············} |  | |
| 394 | ········} |  | |
| 395 | ········((StateMachine)this.mStateMachine).quitNow(); |  | |
| 396 | ····} | 386 | ····} |
| 397 | ···· | 387 | ···· |
| 398 | ····public·void·updateCapability(final·SoftApCapability·softApCapability)·{ | 388 | ····public·void·updateCapability(final·SoftApCapability·softApCapability)·{ |
| 399 | ········((StateMachine)this.mStateMachine).sendMessage(10,·(Object)softApCapability); | 389 | ········((StateMachine)this.mStateMachine).sendMessage(10,·(Object)softApCapability); |
| 400 | ····} | 390 | ····} |
| 401 | ···· | 391 | ···· |
| 402 | ····public·void·updateConfiguration(final·SoftApConfiguration·softApConfiguration)·{ | 392 | ····public·void·updateConfiguration(final·SoftApConfiguration·softApConfiguration)·{ |
| Offset 627, 24 lines modified | Offset 627, 24 lines modified | ||
| 627 | ············sb2.append("·after·removing·"); | 627 | ············sb2.append("·after·removing·"); |
| 628 | ············sb2.append(s); | 628 | ············sb2.append(s); |
| 629 | ············s·=·sb2.toString(); | 629 | ············s·=·sb2.toString(); |
| 630 | ············Log.d(s3,·s); | 630 | ············Log.d(s3,·s); |
| 631 | ············if·(!this.mActiveInterfaces.isEmpty())·{ | 631 | ············if·(!this.mActiveInterfaces.isEmpty())·{ |
| 632 | ················return; | 632 | ················return; |
| 633 | ············} | 633 | ············} |
|  | 634 | ············if·(this.mLogLevel·!=·0)·{ | |
|  | 635 | ················this.stopLoggingAllBuffers(); | |
|  | 636 | ················this.mRingBuffers·=·null; | |
|  | 637 | ············} | |
| 634 | ············if·(this.mIsLoggingEventHandlerRegistered)·{ | 638 | ············if·(this.mIsLoggingEventHandlerRegistered)·{ |
| 635 | ················if·(!super.mWifiNative.resetLogHandler())·{ | 639 | ················if·(!super.mWifiNative.resetLogHandler())·{ |
| 636 | ····················this.mLog.wC("Fail·to·reset·log·handler"); | 640 | ····················this.mLog.wC("Fail·to·reset·log·handler"); |
| 637 | ················} | 641 | ················} |
| 638 | ················this.mIsLoggingEventHandlerRegistered·=·false; | 642 | ················this.mIsLoggingEventHandlerRegistered·=·false; |
| 639 | ············} | 643 | ············} |
| 640 | ············if·(this.mLogLevel·!=·0)·{ |  | |
| 641 | ················this.stopLoggingAllBuffers(); |  | |
| 642 | ················this.mRingBuffers·=·null; |  | |
| 643 | ············} |  | |
| 644 | ········} | 644 | ········} |
| 645 | ····} | 645 | ····} |
| 646 | ···· | 646 | ···· |
| 647 | ····public·void·stopPacketLog()·{ | 647 | ····public·void·stopPacketLog()·{ |
| 648 | ········synchronized·(this)·{ | 648 | ········synchronized·(this)·{ |
| 649 | ············if·(this.mPerPacketRingBuffer·!=·null)·{ | 649 | ············if·(this.mPerPacketRingBuffer·!=·null)·{ |
| 650 | ················this.stopLoggingRingBuffer(this.mPerPacketRingBuffer); | 650 | ················this.stopLoggingRingBuffer(this.mPerPacketRingBuffer); |
| Offset 13, 15 lines modified | Offset 13, 18 lines modified | ||
| 13 | import·android.os.WorkSource; | 13 | import·android.os.WorkSource; |
| 14 | import·com.android.wifi.x.android.os.HandlerExecutor; | 14 | import·com.android.wifi.x.android.os.HandlerExecutor; |
| 15 | import·android.net.wifi.WifiScanner$ScanSettings$HiddenNetwork; | 15 | import·android.net.wifi.WifiScanner$ScanSettings$HiddenNetwork; |
| 16 | import·com.android.server.wifi.util.NativeUtil; | 16 | import·com.android.server.wifi.util.NativeUtil; |
| 17 | import·com.android.wifi.x.com.android.internal.util.Preconditions; | 17 | import·com.android.wifi.x.com.android.internal.util.Preconditions; |
| 18 | import·java.util.Objects; | 18 | import·java.util.Objects; |
| 19 | import·android.text.TextUtils; | 19 | import·android.text.TextUtils; |
|  | 20 | import·java.util.stream.Collector; | |
|  | 21 | import·java.util.stream.Collectors; | |
| 20 | import·java.util.ArrayList; | 22 | import·java.util.ArrayList; |
|  | 23 | import·java.util.List; | |
| 21 | import·java.util.function.IntFunction; | 24 | import·java.util.function.IntFunction; |
| 22 | import·android.content.pm.PackageManager; | 25 | import·android.content.pm.PackageManager; |
| 23 | import·android.content.pm.PackageManager$NameNotFoundException; | 26 | import·android.content.pm.PackageManager$NameNotFoundException; |
| 24 | import·android.content.pm.ApplicationInfo; | 27 | import·android.content.pm.ApplicationInfo; |
| 25 | import·android.os.UserHandle; | 28 | import·android.os.UserHandle; |
| 26 | import·java.util.function.Function; | 29 | import·java.util.function.Function; |
| 27 | import·java.util.Comparator; | 30 | import·java.util.Comparator; |
| Offset 30, 38 lines modified | Offset 33, 37 lines modified | ||
| 30 | import·android.os.IBinder; | 33 | import·android.os.IBinder; |
| 31 | import·android.os.Binder; | 34 | import·android.os.Binder; |
| 32 | import·android.os.RemoteException; | 35 | import·android.os.RemoteException; |
| 33 | import·android.net.wifi.INetworkRequestMatchCallback; | 36 | import·android.net.wifi.INetworkRequestMatchCallback; |
| 34 | import·android.app.AlarmManager$OnAlarmListener; | 37 | import·android.app.AlarmManager$OnAlarmListener; |
| 35 | import·java.util.Iterator; | 38 | import·java.util.Iterator; |
| 36 | import·java.util.Set; | 39 | import·java.util.Set; |
| 37 | import·java.util.Collection; |  | |
| 38 | import·android.util.Log; | 40 | import·android.util.Log; |
| 39 | import·java.util.LinkedHashSet; | 41 | import·java.util.LinkedHashSet; |
| 40 | import·android.net.MacAddress; | 42 | import·android.net.MacAddress; |
| 41 | import·java.util.HashSet; | 43 | import·java.util.HashSet; |
|  | 44 | import·java.util.Collection; | |
| 42 | import·android.net.wifi.ScanResult; | 45 | import·android.net.wifi.ScanResult; |
| 43 | import·java.util.HashMap; | 46 | import·java.util.HashMap; |
| 44 | import·android.net.NetworkCapabilities; | 47 | import·android.net.NetworkCapabilities; |
| 45 | import·android.os.Looper; | 48 | import·android.os.Looper; |
| 46 | import·android.net.wifi.WifiScanner; | 49 | import·android.net.wifi.WifiScanner; |
| 47 | import·com.android.server.wifi.util.WifiPermissionsUtil; | 50 | import·com.android.server.wifi.util.WifiPermissionsUtil; |
| 48 | import·android.net.wifi.WifiConfiguration; | 51 | import·android.net.wifi.WifiConfiguration; |
| 49 | import·java.util.Map; |  | |
| 50 | import·android.net.wifi.WifiScanner$ScanSettings; | 52 | import·android.net.wifi.WifiScanner$ScanSettings; |
| 51 | import·com.android.server.wifi.util.ExternalCallbackTracker; | 53 | import·com.android.server.wifi.util.ExternalCallbackTracker; |
| 52 | import·android.os.Handler; | 54 | import·android.os.Handler; |
| 53 | import·android.content.Context; | 55 | import·android.content.Context; |
| 54 | import·android.companion.CompanionDeviceManager; | 56 | import·android.companion.CompanionDeviceManager; |
| 55 | import·android.app.AppOpsManager; | 57 | import·android.app.AppOpsManager; |
| 56 | import·android.app.AlarmManager; | 58 | import·android.app.AlarmManager; |
| 57 | import·android.app.ActivityManager; | 59 | import·android.app.ActivityManager; |
| 58 | import·android.net.wifi.WifiNetworkSpecifier; | 60 | import·android.net.wifi.WifiNetworkSpecifier; |
| 59 | import·android.net.NetworkRequest; | 61 | import·android.net.NetworkRequest; |
| 60 | import·java.util. | 62 | import·java.util.Map; |
| 61 | import·com.android.wifi.x.android.net.NetworkFactory; | 63 | import·com.android.wifi.x.android.net.NetworkFactory; |
| Â | Â | ||
| 62 | public·class·WifiNetworkFactory·extends·NetworkFactory | 64 | public·class·WifiNetworkFactory·extends·NetworkFactory |
| 63 | { | 65 | { |
| 64 | ····public·static·final·int·CACHED_SCAN_RESULTS_MAX_AGE_IN_MILLIS·=·20000; | 66 | ····public·static·final·int·CACHED_SCAN_RESULTS_MAX_AGE_IN_MILLIS·=·20000; |
| 65 | ····public·static·final·int·NETWORK_CONNECTION_TIMEOUT_MS·=·30000; | 67 | ····public·static·final·int·NETWORK_CONNECTION_TIMEOUT_MS·=·30000; |
| 66 | ····public·static·final·int·NUM_OF_ACCESS_POINT_LIMIT_PER_APP·=·50; | 68 | ····public·static·final·int·NUM_OF_ACCESS_POINT_LIMIT_PER_APP·=·50; |
| Offset 69, 15 lines modified | Offset 71, 15 lines modified | ||
| 69 | ····private·static·final·int·SCORE_FILTER·=·60; | 71 | ····private·static·final·int·SCORE_FILTER·=·60; |
| 70 | ····private·static·final·String·TAG·=·"WifiNetworkFactory"; | 72 | ····private·static·final·String·TAG·=·"WifiNetworkFactory"; |
| 71 | ····public·static·final·String·UI_START_INTENT_ACTION·=·"com.android.settings.wifi.action.NETWORK_REQUEST"; | 73 | ····public·static·final·String·UI_START_INTENT_ACTION·=·"com.android.settings.wifi.action.NETWORK_REQUEST"; |
| 72 | ····public·static·final·String·UI_START_INTENT_CATEGORY·=·"android.intent.category.DEFAULT"; | 74 | ····public·static·final·String·UI_START_INTENT_CATEGORY·=·"android.intent.category.DEFAULT"; |
| 73 | ····public·static·final·String·UI_START_INTENT_EXTRA_APP_NAME·=·"com.android.settings.wifi.extra.APP_NAME"; | 75 | ····public·static·final·String·UI_START_INTENT_EXTRA_APP_NAME·=·"com.android.settings.wifi.extra.APP_NAME"; |
| 74 | ····public·static·final·String·UI_START_INTENT_EXTRA_REQUEST_IS_FOR_SINGLE_NETWORK·=·"com.android.settings.wifi.extra.REQUEST_IS_FOR_SINGLE_NETWORK"; | 76 | ····public·static·final·String·UI_START_INTENT_EXTRA_REQUEST_IS_FOR_SINGLE_NETWORK·=·"com.android.settings.wifi.extra.REQUEST_IS_FOR_SINGLE_NETWORK"; |
| 75 | ····public·static·final·int·USER_SELECTED_NETWORK_CONNECT_RETRY_MAX·=·3; | 77 | ····public·static·final·int·USER_SELECTED_NETWORK_CONNECT_RETRY_MAX·=·3; |
| 76 | ····private· | 78 | ····private·Map·mActiveMatchedScanResults; |
| 77 | ····private·NetworkRequest·mActiveSpecificNetworkRequest; | 79 | ····private·NetworkRequest·mActiveSpecificNetworkRequest; |
| 78 | ····private·WifiNetworkSpecifier·mActiveSpecificNetworkRequestSpecifier; | 80 | ····private·WifiNetworkSpecifier·mActiveSpecificNetworkRequestSpecifier; |
| 79 | ····private·final·ActivityManager·mActivityManager; | 81 | ····private·final·ActivityManager·mActivityManager; |
| 80 | ····private·final·AlarmManager·mAlarmManager; | 82 | ····private·final·AlarmManager·mAlarmManager; |
| 81 | ····private·final·AppOpsManager·mAppOpsManager; | 83 | ····private·final·AppOpsManager·mAppOpsManager; |
| 82 | ····private·String·mApprovedApp; | 84 | ····private·String·mApprovedApp; |
| 83 | ····private·final·Clock·mClock; | 85 | ····private·final·Clock·mClock; |
| Offset 150, 15 lines modified | Offset 152, 15 lines modified | ||
| 150 | ····} | 152 | ····} |
| 151 | ···· | 153 | ···· |
| 152 | ····private·void·addNetworkToUserApprovedAccessPointMap(final·WifiConfiguration·wifiConfiguration)·{ | 154 | ····private·void·addNetworkToUserApprovedAccessPointMap(final·WifiConfiguration·wifiConfiguration)·{ |
| 153 | ········if·(this.mActiveSpecificNetworkRequestSpecifier·!=·null)·{ | 155 | ········if·(this.mActiveSpecificNetworkRequestSpecifier·!=·null)·{ |
| 154 | ············if·(this.mActiveMatchedScanResults·!=·null)·{ | 156 | ············if·(this.mActiveMatchedScanResults·!=·null)·{ |
| 155 | ················final·HashSet<WifiNetworkFactory$AccessPoint>·set·=·new·HashSet<WifiNetworkFactory$AccessPoint>(); | 157 | ················final·HashSet<WifiNetworkFactory$AccessPoint>·set·=·new·HashSet<WifiNetworkFactory$AccessPoint>(); |
| 156 | ················final·ScanResultMatchInfo·fromWifiConfiguration·=·ScanResultMatchInfo.fromWifiConfiguration(wifiConfiguration); | 158 | ················final·ScanResultMatchInfo·fromWifiConfiguration·=·ScanResultMatchInfo.fromWifiConfiguration(wifiConfiguration); |
| 157 | ················for·(final·ScanResult·scanResult·:·this.mActiveMatchedScanResults)·{ | 159 | ················for·(final·ScanResult·scanResult·:·this.mActiveMatchedScanResults.values())·{ |
| 158 | ····················final·ScanResultMatchInfo·fromScanResult·=·ScanResultMatchInfo.fromScanResult(scanResult); | 160 | ····················final·ScanResultMatchInfo·fromScanResult·=·ScanResultMatchInfo.fromScanResult(scanResult); |
| 159 | ····················if·(fromScanResult.equals((Object)fromWifiConfiguration))·{ | 161 | ····················if·(fromScanResult.equals((Object)fromWifiConfiguration))·{ |
| 160 | ························set.add(new·WifiNetworkFactory$AccessPoint(scanResult.SSID,·MacAddress.fromString(scanResult.BSSID),·fromScanResult.networkType)); | 162 | ························set.add(new·WifiNetworkFactory$AccessPoint(scanResult.SSID,·MacAddress.fromString(scanResult.BSSID),·fromScanResult.networkType)); |
| 161 | ····················} | 163 | ····················} |
| 162 | ················} | 164 | ················} |
| 163 | ················if·(set.isEmpty())·{ | 165 | ················if·(set.isEmpty())·{ |
| 164 | ····················return; | 166 | ····················return; |
| Offset 320, 17 lines modified | Offset 322, 17 lines modified | ||
| 320 | ···· | 322 | ···· |
| 321 | ····private·boolean·doesScanResultMatchWifiNetworkSpecifier(final·WifiNetworkSpecifier·wifiNetworkSpecifier,·final·ScanResult·scanResult)·{ | 323 | ····private·boolean·doesScanResultMatchWifiNetworkSpecifier(final·WifiNetworkSpecifier·wifiNetworkSpecifier,·final·ScanResult·scanResult)·{ |
| 322 | ········return·wifiNetworkSpecifier.ssidPatternMatcher.match(scanResult.SSID)·&&·MacAddress.fromString(scanResult.BSSID).matches((MacAddress)wifiNetworkSpecifier.bssidPatternMatcher.first,·(MacAddress)wifiNetworkSpecifier.bssidPatternMatcher.second)·&&·ScanResultMatchInfo.fromScanResult(scanResult).networkTypeEquals(ScanResultMatchInfo.fromWifiConfiguration(wifiNetworkSpecifier.wifiConfiguration),·false); | 324 | ········return·wifiNetworkSpecifier.ssidPatternMatcher.match(scanResult.SSID)·&&·MacAddress.fromString(scanResult.BSSID).matches((MacAddress)wifiNetworkSpecifier.bssidPatternMatcher.first,·(MacAddress)wifiNetworkSpecifier.bssidPatternMatcher.second)·&&·ScanResultMatchInfo.fromScanResult(scanResult).networkTypeEquals(ScanResultMatchInfo.fromWifiConfiguration(wifiNetworkSpecifier.wifiConfiguration),·false); |
| 323 | ····} | 325 | ····} |
| 324 | ···· | 326 | ···· |
| 325 | ····private·String·findBestBssidFromActiveMatchedScanResultsForNetwork(final·ScanResultMatchInfo·scanResultMatchInfo)·{ | 327 | ····private·String·findBestBssidFromActiveMatchedScanResultsForNetwork(final·ScanResultMatchInfo·scanResultMatchInfo)·{ |
| 326 | ········if·(this.mActiveSpecificNetworkRequestSpecifier·!=·null)·{ | 328 | ········if·(this.mActiveSpecificNetworkRequestSpecifier·!=·null)·{ |
| 327 | ············final· | 329 | ············final·Map·mActiveMatchedScanResults·=·this.mActiveMatchedScanResults; |
| 328 | ············if·(mActiveMatchedScanResults·!=·null)·{ | 330 | ············if·(mActiveMatchedScanResults·!=·null)·{ |
| 329 | ················final·ScanResult·scanResult·=·(ScanResult)mActiveMatchedScanResults.stream().filter((Predicate<?·super·ScanResult>)new·-$$Lambda$WifiNetworkFactory$kgmvViUSRQFBmgULiV_K6mdrFGI(scanResultMatchInfo)).max(Comparator.comparing((Function<?·super·ScanResult,·?·extends·Comparable>)-$$Lambda$WifiNetworkFactory$uQTzBkFoCEwN-ndjhXTPHmeDMro.INSTANCE)).orElse(null); | 331 | ················final·ScanResult·scanResult·=·(ScanResult)mActiveMatchedScanResults.values().stream().filter((Predicate<?·super·ScanResult>)new·-$$Lambda$WifiNetworkFactory$kgmvViUSRQFBmgULiV_K6mdrFGI(scanResultMatchInfo)).max(Comparator.comparing((Function<?·super·ScanResult,·?·extends·Comparable>)-$$Lambda$WifiNetworkFactory$uQTzBkFoCEwN-ndjhXTPHmeDMro.INSTANCE)).orElse(null); |
| 330 | ················final·String·s·=·"WifiNetworkFactory"; | 332 | ················final·String·s·=·"WifiNetworkFactory"; |
| 331 | ················if·(scanResult·==·null)·{ | 333 | ················if·(scanResult·==·null)·{ |
| 332 | ····················Log.wtf(s,·"Expected·to·find·at·least·one·matching·scan·result"); | 334 | ····················Log.wtf(s,·"Expected·to·find·at·least·one·matching·scan·result"); |
| 333 | ····················return·null; | 335 | ····················return·null; |
| 334 | ················} | 336 | ················} |
| 335 | ················if·(this.mVerboseLoggingEnabled)·{ | 337 | ················if·(this.mVerboseLoggingEnabled)·{ |
| 336 | ····················final·StringBuilder·sb·=·new·StringBuilder(); | 338 | ····················final·StringBuilder·sb·=·new·StringBuilder(); |
| Offset 370, 15 lines modified | Offset 372, 15 lines modified | ||
| 370 | ········} | 372 | ········} |
| 371 | ········catch·(PackageManager$NameNotFoundException·ex3)·{} | 373 | ········catch·(PackageManager$NameNotFoundException·ex3)·{} |
| 372 | ····} | 374 | ····} |
| 373 | ···· | 375 | ···· |
| 374 | ····private·ScanResult[]·getFilteredCachedScanResults()·{ | 376 | ····private·ScanResult[]·getFilteredCachedScanResults()·{ |
| 375 | ········final·List·singleScanResults·=·this.mWifiScanner.getSingleScanResults(); | 377 | ········final·List·singleScanResults·=·this.mWifiScanner.getSingleScanResults(); |
| 376 | ········if·(singleScanResults·!=·null·&&·!singleScanResults.isEmpty())·{ | 378 | ········if·(singleScanResults·!=·null·&&·!singleScanResults.isEmpty())·{ |
| 377 | ············return·(ScanResult[])singleScanResults.stream().filter((Predicate)new·-$$Lambda$WifiNetworkFactory$ | 379 | ············return·(ScanResult[])singleScanResults.stream().filter((Predicate)new·-$$Lambda$WifiNetworkFactory$ATGrMu-WJcTIB14_5MdpeoV7zeM(this.mClock.getElapsedSinceBootMillis())).toArray((IntFunction)-$$Lambda$WifiNetworkFactory$uPA78n83TSspOaWHZLtCxZB_s7Y.INSTANCE); |
| 378 | ········} | 380 | ········} |
| 379 | ········return·new·ScanResult[0]; | 381 | ········return·new·ScanResult[0]; |
| 380 | ····} | 382 | ····} |
| 381 | ···· | 383 | ···· |
| 382 | ····private·List·getNetworksMatchingActiveNetworkRequest(final·ScanResult[]·array)·{ | 384 | ····private·List·getNetworksMatchingActiveNetworkRequest(final·ScanResult[]·array)·{ |
| 383 | ········final·WifiNetworkSpecifier·mActiveSpecificNetworkRequestSpecifier·=·this.mActiveSpecificNetworkRequestSpecifier; | 385 | ········final·WifiNetworkSpecifier·mActiveSpecificNetworkRequestSpecifier·=·this.mActiveSpecificNetworkRequestSpecifier; |
| 384 | ········final·String·s·=·"WifiNetworkFactory"; | 386 | ········final·String·s·=·"WifiNetworkFactory"; |
| Offset 527, 19 lines modified | Offset 529, 23 lines modified | ||
| 527 | ········Log.w("WifiNetworkFactory",·sb.toString()); | 529 | ········Log.w("WifiNetworkFactory",·sb.toString()); |
| 528 | ········this.teardownForActiveRequest(); | 530 | ········this.teardownForActiveRequest(); |
| ... Open expanded diff ... | |||
| Offset 31, 15 lines modified | Offset 31, 15 lines modified | ||
| 31 | ····public·boolean·referenced; | 31 | ····public·boolean·referenced; |
| 32 | ····public·final·String·ssid; | 32 | ····public·final·String·ssid; |
| 33 | ····final·/*·synthetic·*/·WifiScoreCard·this$0; | 33 | ····final·/*·synthetic·*/·WifiScoreCard·this$0; |
| 34 | ···· | 34 | ···· |
| 35 | ····WifiScoreCard$PerBssid(final·WifiScoreCard·this$0,·final·String·ssid,·final·MacAddress·bssid)·{ | 35 | ····WifiScoreCard$PerBssid(final·WifiScoreCard·this$0,·final·String·ssid,·final·MacAddress·bssid)·{ |
| 36 | ········this.this$0·=·this$0; | 36 | ········this.this$0·=·this$0; |
| 37 | ········super(WifiScoreCard.computeHashLong(ssid,·bssid,·WifiScoreCard.access$100(this$0))); | 37 | ········super(WifiScoreCard.computeHashLong(ssid,·bssid,·WifiScoreCard.access$100(this$0))); |
| 38 | ········this.blocklistStreakCount·=·new·int[ | 38 | ········this.blocklistStreakCount·=·new·int[12]; |
| 39 | ········this.mSecurityType·=·null; | 39 | ········this.mSecurityType·=·null; |
| 40 | ········final·int·n·=·-1·<<·-1; | 40 | ········final·int·n·=·-1·<<·-1; |
| 41 | ········this.mNetworkAgentId·=·n; | 41 | ········this.mNetworkAgentId·=·n; |
| 42 | ········this.mNetworkConfigId·=·n; | 42 | ········this.mNetworkConfigId·=·n; |
| 43 | ········this.mSignalForEventAndFrequency·=·(Map)new·ArrayMap(); | 43 | ········this.mSignalForEventAndFrequency·=·(Map)new·ArrayMap(); |
| 44 | ········this.ssid·=·ssid; | 44 | ········this.ssid·=·ssid; |
| 45 | ········this.bssid·=·bssid; | 45 | ········this.bssid·=·bssid; |
| Offset 764, 18 lines modified | Offset 764, 23 lines modified | ||
| 764 | ········this.mWifiThreadRunner.post((Runnable)new·-$$Lambda$WifiServiceImpl$Pt1Ihcc2sM6HL3NuTqmuOdyOw4g(this.mClientModeImpl.getWifiScoreReport())); | 764 | ········this.mWifiThreadRunner.post((Runnable)new·-$$Lambda$WifiServiceImpl$Pt1Ihcc2sM6HL3NuTqmuOdyOw4g(this.mClientModeImpl.getWifiScoreReport())); |
| 765 | ····} | 765 | ····} |
| 766 | ···· | 766 | ···· |
| 767 | ····public·void·connect(final·WifiConfiguration·wifiConfiguration,·final·int·n,·final·IBinder·binder,·final·IActionListener·actionListener,·final·int·n2)·{ | 767 | ····public·void·connect(final·WifiConfiguration·wifiConfiguration,·final·int·n,·final·IBinder·binder,·final·IActionListener·actionListener,·final·int·n2)·{ |
| 768 | ········final·int·callingUid·=·Binder.getCallingUid(); | 768 | ········final·int·callingUid·=·Binder.getCallingUid(); |
| 769 | ········if·(this.isPrivileged(Binder.getCallingPid(),·callingUid))·{ | 769 | ········if·(this.isPrivileged(Binder.getCallingPid(),·callingUid))·{ |
| 770 | ············this.mLog.info("connect·uid=%").c((long)callingUid).flush(); | 770 | ············this.mLog.info("connect·uid=%").c((long)callingUid).flush(); |
| 771 | ············this.mClientModeImpl.connect(wifiConfiguration,·n,·binder,·actionListener,·n2,·callingUid); |  | |
| 772 | ············if·(this.mWifiPermissionsUtil.checkNetworkSettingsPermission(callingUid))·{ | 771 | ············if·(this.mWifiPermissionsUtil.checkNetworkSettingsPermission(callingUid))·{ |
| 773 | ················ | 772 | ················if·(wifiConfiguration·==·null)·{ |
|  | 773 | ····················this.mWifiMetrics.logUserActionEvent(11,·n); | |
|  | 774 | ················} | |
|  | 775 | ················else·{ | |
|  | 776 | ····················this.mWifiMetrics.logUserActionEvent(13,·wifiConfiguration.networkId); | |
|  | 777 | ················} | |
| 774 | ············} | 778 | ············} |
|  | 779 | ············this.mClientModeImpl.connect(wifiConfiguration,·n,·binder,·actionListener,·n2,·callingUid); | |
| 775 | ············return; | 780 | ············return; |
| 776 | ········} | 781 | ········} |
| 777 | ········throw·new·SecurityException("WifiService:·Permission·denied"); | 782 | ········throw·new·SecurityException("WifiService:·Permission·denied"); |
| 778 | ····} | 783 | ····} |
| 779 | ···· | 784 | ···· |
| 780 | ····public·void·deauthenticateNetwork(final·long·n,·final·boolean·b)·{ | 785 | ····public·void·deauthenticateNetwork(final·long·n,·final·boolean·b)·{ |
| 781 | ········this.mLog.info("deauthenticateNetwork·uid=%").c((long)Binder.getCallingUid()).flush(); | 786 | ········this.mLog.info("deauthenticateNetwork·uid=%").c((long)Binder.getCallingUid()).flush(); |
| Offset 1996, 14 lines modified | Offset 2001, 17 lines modified | ||
| 1996 | ········Log.d("WifiService",·"Retrieved·soft·ap·backup·data"); | 2001 | ········Log.d("WifiService",·"Retrieved·soft·ap·backup·data"); |
| 1997 | ········return·retrieveBackupDataFromSoftApConfiguration; | 2002 | ········return·retrieveBackupDataFromSoftApConfiguration; |
| 1998 | ····} | 2003 | ····} |
| 1999 | ···· | 2004 | ···· |
| 2000 | ····public·void·save(final·WifiConfiguration·wifiConfiguration,·final·IBinder·binder,·final·IActionListener·actionListener,·final·int·n)·{ | 2005 | ····public·void·save(final·WifiConfiguration·wifiConfiguration,·final·IBinder·binder,·final·IActionListener·actionListener,·final·int·n)·{ |
| 2001 | ········if·(this.isPrivileged(Binder.getCallingPid(),·Binder.getCallingUid()))·{ | 2006 | ········if·(this.isPrivileged(Binder.getCallingPid(),·Binder.getCallingUid()))·{ |
| 2002 | ············this.mLog.info("save·uid=%").c((long)Binder.getCallingUid()).flush(); | 2007 | ············this.mLog.info("save·uid=%").c((long)Binder.getCallingUid()).flush(); |
|  | 2008 | ············if·(this.mWifiPermissionsUtil.checkNetworkSettingsPermission(Binder.getCallingUid()))·{ | |
|  | 2009 | ················this.mWifiMetrics.logUserActionEvent(13,·wifiConfiguration.networkId); | |
|  | 2010 | ············} | |
| 2003 | ············this.mClientModeImpl.save(wifiConfiguration,·binder,·actionListener,·n,·Binder.getCallingUid()); | 2011 | ············this.mClientModeImpl.save(wifiConfiguration,·binder,·actionListener,·n,·Binder.getCallingUid()); |
| 2004 | ············return; | 2012 | ············return; |
| 2005 | ········} | 2013 | ········} |
| 2006 | ········throw·new·SecurityException("WifiService:·Permission·denied"); | 2014 | ········throw·new·SecurityException("WifiService:·Permission·denied"); |
| 2007 | ····} | 2015 | ····} |
| 2008 | ···· | 2016 | ···· |
| 2009 | ····public·void·setAutoWakeupEnabled(final·boolean·b)·{ | 2017 | ····public·void·setAutoWakeupEnabled(final·boolean·b)·{ |
| Offset 2144, 23 lines modified | Offset 2152, 30 lines modified | ||
| 2144 | ················final·boolean·handleWifiToggled·=·this.mSettingsStore.handleWifiToggled(b); | 2152 | ················final·boolean·handleWifiToggled·=·this.mSettingsStore.handleWifiToggled(b); |
| 2145 | ················final·boolean·b2·=·true; | 2153 | ················final·boolean·b2·=·true; |
| 2146 | ················if·(!handleWifiToggled)·{ | 2154 | ················if·(!handleWifiToggled)·{ |
| 2147 | ····················return·b2; | 2155 | ····················return·b2; |
| 2148 | ················} | 2156 | ················} |
| 2149 | ················Binder.restoreCallingIdentity(clearCallingIdentity); | 2157 | ················Binder.restoreCallingIdentity(clearCallingIdentity); |
| 2150 | ················if·(this.mWifiPermissionsUtil.checkNetworkSettingsPermission(Binder.getCallingUid()))·{ | 2158 | ················if·(this.mWifiPermissionsUtil.checkNetworkSettingsPermission(Binder.getCallingUid()))·{ |
| 2151 | ····················final·WifiMetrics·mWifiMetrics·=·this.mWifiMetrics; |  | |
| 2152 | ····················int·n; |  | |
| 2153 | ····················if·(b)·{ | 2159 | ····················if·(b)·{ |
| 2154 | ························n | 2160 | ························this.mWifiMetrics.logUserActionEvent(9); |
| 2155 | ····················} | 2161 | ····················} |
| 2156 | ····················else·{ | 2162 | ····················else·{ |
| 2157 | ························n·=· | 2163 | ························final·WifiInfo·syncRequestConnectionInfo·=·this.mClientModeImpl.syncRequestConnectionInfo(); |
|  | 2164 | ························final·WifiMetrics·mWifiMetrics·=·this.mWifiMetrics; | |
|  | 2165 | ························final·int·n·=·10; | |
|  | 2166 | ························int·networkId; | |
|  | 2167 | ························if·(syncRequestConnectionInfo·==·null)·{ | |
|  | 2168 | ····························networkId·=·-1; | |
|  | 2169 | ························} | |
|  | 2170 | ························else·{ | |
|  | 2171 | ····························networkId·=·syncRequestConnectionInfo.getNetworkId(); | |
|  | 2172 | ························} | |
|  | 2173 | ························mWifiMetrics.logUserActionEvent(n,·networkId); | |
| 2158 | ····················} | 2174 | ····················} |
| 2159 | ····················mWifiMetrics.logUserActionEvent(n); |  | |
| 2160 | ················} | 2175 | ················} |
| 2161 | ················this.mWifiMetrics.incrementNumWifiToggles(privileged,·b); | 2176 | ················this.mWifiMetrics.incrementNumWifiToggles(privileged,·b); |
| 2162 | ················this.mActiveModeWarden.wifiToggled(); | 2177 | ················this.mActiveModeWarden.wifiToggled(); |
| 2163 | ················return·b2; | 2178 | ················return·b2; |
| 2164 | ············} | 2179 | ············} |
| 2165 | ············finally·{ | 2180 | ············finally·{ |
| 2166 | ················Binder.restoreCallingIdentity(clearCallingIdentity); | 2181 | ················Binder.restoreCallingIdentity(clearCallingIdentity); |
| Offset 325, 15 lines modified | Offset 325, 15 lines modified | ||
| 325 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 325 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 326 | ········sb.append("··mSettableParameters:·"); | 326 | ········sb.append("··mSettableParameters:·"); |
| 327 | ········sb.append(this.mSettableParameters); | 327 | ········sb.append(this.mSettableParameters); |
| 328 | ········printWriter.println(sb.toString()); | 328 | ········printWriter.println(sb.toString()); |
| 329 | ········this.mHal.dump(fileDescriptor,·printWriter,·array); | 329 | ········this.mHal.dump(fileDescriptor,·printWriter,·array); |
| 330 | ····} | 330 | ····} |
| 331 | ···· | 331 | ···· |
| 332 | ····public·boolean·enableAndConfigure(final·short·n,·final·ConfigRequest·configRequest,·final·boolean·b,·final·boolean·b2,·final·boolean·b3,·final·boolean·b4)·{ | 332 | ····public·boolean·enableAndConfigure(final·short·n,·final·ConfigRequest·configRequest,·final·boolean·b,·final·boolean·b2,·final·boolean·b3,·final·boolean·b4,·final·boolean·enableRanging)·{ |
| 333 | ········final·boolean·mDbg·=·this.mDbg; | 333 | ········final·boolean·mDbg·=·this.mDbg; |
| 334 | ········final·String·s·=·"WifiAwareNativeApi"; | 334 | ········final·String·s·=·"WifiAwareNativeApi"; |
| 335 | ········if·(mDbg)·{ | 335 | ········if·(mDbg)·{ |
| 336 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 336 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 337 | ············sb.append("enableAndConfigure:·transactionId="); | 337 | ············sb.append("enableAndConfigure:·transactionId="); |
| 338 | ············sb.append(n); | 338 | ············sb.append(n); |
| 339 | ············sb.append(",·configRequest="); | 339 | ············sb.append(",·configRequest="); |
| Offset 353, 15 lines modified | Offset 353, 14 lines modified | ||
| 353 | ········if·(wifiNanIface·==·null)·{ | 353 | ········if·(wifiNanIface·==·null)·{ |
| 354 | ············Log.e(s,·"enableAndConfigure:·null·interface"); | 354 | ············Log.e(s,·"enableAndConfigure:·null·interface"); |
| 355 | ············return·false; | 355 | ············return·false; |
| 356 | ········} | 356 | ········} |
| 357 | ········final·com.android.wifi.x.android.hardware.wifi.V1_2.IWifiNanIface·mockableCastTo_1_2·=·this.mockableCastTo_1_2(wifiNanIface); | 357 | ········final·com.android.wifi.x.android.hardware.wifi.V1_2.IWifiNanIface·mockableCastTo_1_2·=·this.mockableCastTo_1_2(wifiNanIface); |
| 358 | ········final·com.android.wifi.x.android.hardware.wifi.V1_4.IWifiNanIface·mockableCastTo_1_3·=·this.mockableCastTo_1_4(wifiNanIface); | 358 | ········final·com.android.wifi.x.android.hardware.wifi.V1_4.IWifiNanIface·mockableCastTo_1_3·=·this.mockableCastTo_1_4(wifiNanIface); |
| 359 | ········final·NanConfigRequestSupplemental·nanConfigRequestSupplemental·=·new·NanConfigRequestSupplemental(); | 359 | ········final·NanConfigRequestSupplemental·nanConfigRequestSupplemental·=·new·NanConfigRequestSupplemental(); |
| 360 | ········final·boolean·enableRanging·=·true; |  | |
| 361 | ········if·(mockableCastTo_1_2·!=·null·||·mockableCastTo_1_3·!=·null)·{ | 360 | ········if·(mockableCastTo_1_2·!=·null·||·mockableCastTo_1_3·!=·null)·{ |
| 362 | ············nanConfigRequestSupplemental.discoveryBeaconIntervalMs·=·0; | 361 | ············nanConfigRequestSupplemental.discoveryBeaconIntervalMs·=·0; |
| 363 | ············nanConfigRequestSupplemental.numberOfSpatialStreamsInDiscovery·=·0; | 362 | ············nanConfigRequestSupplemental.numberOfSpatialStreamsInDiscovery·=·0; |
| 364 | ············nanConfigRequestSupplemental.enableDiscoveryWindowEarlyTermination·=·false; | 363 | ············nanConfigRequestSupplemental.enableDiscoveryWindowEarlyTermination·=·false; |
| 365 | ············nanConfigRequestSupplemental.enableRanging·=·enableRanging; | 364 | ············nanConfigRequestSupplemental.enableRanging·=·enableRanging; |
| 366 | ········} | 365 | ········} |
| 367 | ········final·NanBandSpecificConfig·nanBandSpecificConfig·=·new·NanBandSpecificConfig(); | 366 | ········final·NanBandSpecificConfig·nanBandSpecificConfig·=·new·NanBandSpecificConfig(); |
| Offset 369, 93 lines modified | Offset 368, 94 lines modified | ||
| 369 | ········nanBandSpecificConfig.rssiClose·=·b5; | 368 | ········nanBandSpecificConfig.rssiClose·=·b5; |
| 370 | ········nanBandSpecificConfig.rssiMiddle·=·70; | 369 | ········nanBandSpecificConfig.rssiMiddle·=·70; |
| 371 | ········nanBandSpecificConfig.rssiCloseProximity·=·b5; | 370 | ········nanBandSpecificConfig.rssiCloseProximity·=·b5; |
| 372 | ········nanBandSpecificConfig.dwellTimeMs·=·-56; | 371 | ········nanBandSpecificConfig.dwellTimeMs·=·-56; |
| 373 | ········nanBandSpecificConfig.scanPeriodSec·=·20; | 372 | ········nanBandSpecificConfig.scanPeriodSec·=·20; |
| 374 | ········final·int[]·mDiscoveryWindowInterval·=·configRequest.mDiscoveryWindowInterval; | 373 | ········final·int[]·mDiscoveryWindowInterval·=·configRequest.mDiscoveryWindowInterval; |
| 375 | ········final·int·n2·=·mDiscoveryWindowInterval[0]; | 374 | ········final·int·n2·=·mDiscoveryWindowInterval[0]; |
| 376 | ········final·String·s2·=·s; |  | |
| 377 | ········final·int·n3·=·-1; | 375 | ········final·int·n3·=·-1; |
|  | 376 | ········final·String·s2·=·s; | |
|  | 377 | ········final·int·validDiscoveryWindowIntervalVal·=·1; | |
| 378 | ········if·(n2·==·n3)·{ | 378 | ········if·(n2·==·n3)·{ |
| 379 | ············nanBandSpecificConfig.validDiscoveryWindowIntervalVal·=·false; | 379 | ············nanBandSpecificConfig.validDiscoveryWindowIntervalVal·=·false; |
| 380 | ········} | 380 | ········} |
| 381 | ········else·{ | 381 | ········else·{ |
| 382 | ············nanBandSpecificConfig.validDiscoveryWindowIntervalVal·=·tr | 382 | ············nanBandSpecificConfig.validDiscoveryWindowIntervalVal·=·(validDiscoveryWindowIntervalVal·!=·0); |
| 383 | ············nanBandSpecificConfig.discoveryWindowIntervalVal·=·(byte)mDiscoveryWindowInterval[0]; | 383 | ············nanBandSpecificConfig.discoveryWindowIntervalVal·=·(byte)mDiscoveryWindowInterval[0]; |
| 384 | ········} | 384 | ········} |
| 385 | ········final·NanBandSpecificConfig·nanBandSpecificConfig2·=·new·NanBandSpecificConfig(); | 385 | ········final·NanBandSpecificConfig·nanBandSpecificConfig2·=·new·NanBandSpecificConfig(); |
| 386 | ········final·byte·b6·=·60; | 386 | ········final·byte·b6·=·60; |
| 387 | ········nanBandSpecificConfig2.rssiClose·=·b6; | 387 | ········nanBandSpecificConfig2.rssiClose·=·b6; |
| 388 | ········nanBandSpecificConfig2.rssiMiddle·=·75; | 388 | ········nanBandSpecificConfig2.rssiMiddle·=·75; |
| 389 | ········nanBandSpecificConfig2.rssiCloseProximity·=·b6; | 389 | ········nanBandSpecificConfig2.rssiCloseProximity·=·b6; |
| 390 | ········nanBandSpecificConfig2.dwellTimeMs·=·-56; | 390 | ········nanBandSpecificConfig2.dwellTimeMs·=·-56; |
| 391 | ········nanBandSpecificConfig2.scanPeriodSec·=·20; | 391 | ········nanBandSpecificConfig2.scanPeriodSec·=·20; |
| 392 | ········final·int[]·mDiscoveryWindowInterval2·=·configRequest.mDiscoveryWindowInterval; | 392 | ········final·int[]·mDiscoveryWindowInterval2·=·configRequest.mDiscoveryWindowInterval; |
| 393 | ········fi | 393 | ········if·(mDiscoveryWindowInterval2[validDiscoveryWindowIntervalVal]·==·-1)·{ |
| 394 | ········final·int·validDiscoveryWindowIntervalVal·=·1; |  | |
| 395 | ········if·(mDiscoveryWindowInterval2[validDiscoveryWindowIntervalVal]·==·n3)·{ |  | |
| 396 | ············nanBandSpecificConfig2.validDiscoveryWindowIntervalVal·=·false; | 394 | ············nanBandSpecificConfig2.validDiscoveryWindowIntervalVal·=·false; |
| 397 | ········} | 395 | ········} |
| 398 | ········else·{ | 396 | ········else·{ |
| 399 | ············ | 397 | ············final·int·validDiscoveryWindowIntervalVal2·=·1; |
| 400 | ············nanBandSpecificConfig2.discoveryWindowIntervalVal·=·( | 398 | ············nanBandSpecificConfig2.validDiscoveryWindowIntervalVal·=·(validDiscoveryWindowIntervalVal2·!=·0); |
|  | 399 | ············nanBandSpecificConfig2.discoveryWindowIntervalVal·=·(byte)mDiscoveryWindowInterval2[validDiscoveryWindowIntervalVal2]; | |
| 401 | ········} | 400 | ········} |
| 402 | ········final·NanBandSpecificConfig·nanBandSpecificConfig3·=·new·NanBandSpecificConfig(); | 401 | ········final·NanBandSpecificConfig·nanBandSpecificConfig3·=·new·NanBandSpecificConfig(); |
| 403 | ········final·byte·b7·=·60; | 402 | ········final·byte·b7·=·60; |
| 404 | ········nanBandSpecificConfig3.rssiClose·=·b7; | 403 | ········nanBandSpecificConfig3.rssiClose·=·b7; |
| 405 | ········nanBandSpecificConfig3.rssiMiddle·=·75; | 404 | ········nanBandSpecificConfig3.rssiMiddle·=·75; |
| 406 | ········nanBandSpecificConfig3.rssiCloseProximity·=·b7; | 405 | ········nanBandSpecificConfig3.rssiCloseProximity·=·b7; |
| 407 | ········nanBandSpecificConfig3.dwellTimeMs·=·-56; | 406 | ········nanBandSpecificConfig3.dwellTimeMs·=·-56; |
| 408 | ········nanBandSpecificConfig3.scanPeriodSec·=·20; | 407 | ········nanBandSpecificConfig3.scanPeriodSec·=·20; |
| 409 | ········final·int[]·mDiscoveryWindowInterval3·=·configRequest.mDiscoveryWindowInterval; | 408 | ········final·int[]·mDiscoveryWindowInterval3·=·configRequest.mDiscoveryWindowInterval; |
| 410 | ········final· | 409 | ········final·IWifiNanIface·wifiNanIface2·=·wifiNanIface; |
| 411 | ········ | 410 | ········if·(mDiscoveryWindowInterval3[2]·==·-1)·{ |
| 412 | ········if·(mDiscoveryWindowInterval3[b8]·==·n3)·{ |  | |
| 413 | ············nanBandSpecificConfig3.validDiscoveryWindowIntervalVal·=·false; | 411 | ············nanBandSpecificConfig3.validDiscoveryWindowIntervalVal·=·false; |
| 414 | ········} | 412 | ········} |
| 415 | ········else·{ | 413 | ········else·{ |
| 416 | ············nanBandSpecificConfig3.validDiscoveryWindowIntervalVal·=·true; | 414 | ············nanBandSpecificConfig3.validDiscoveryWindowIntervalVal·=·true; |
| 417 | ············nanBandSpecificConfig3.discoveryWindowIntervalVal·=·(byte)mDiscoveryWindowInterval3[ | 415 | ············nanBandSpecificConfig3.discoveryWindowIntervalVal·=·(byte)mDiscoveryWindowInterval3[2]; |
| 418 | ········} | 416 | ········} |
| 419 | ········final·String·s3·=·"mac_random_interval_sec"; | 417 | ········final·String·s3·=·"mac_random_interval_sec"; |
| 420 | ········String·s4·=·null; | 418 | ········String·s4·=·null; |
| 421 | ········Label_2 | 419 | ········Label_2216:·{ |
| 422 | ············if·(!b2)·{ | 420 | ············if·(!b2)·{ |
| 423 | ················break·Label_2 | 421 | ················break·Label_2216; |
| 424 | ············} | 422 | ············} |
| 425 | ············Label_14 | 423 | ············Label_1480:·{ |
| 426 | ················if·(mockableCastTo_1_3·==·null)·{ | 424 | ················if·(mockableCastTo_1_3·==·null)·{ |
| 427 | ····················break·Label_14 | 425 | ····················break·Label_1480; |
| 428 | ················} | 426 | ················} |
| 429 | ················try·{ | 427 | ················try·{ |
| 430 | ····················try·{ | 428 | ····················try·{ |
| 431 | ························final·NanEnableRequest·nanEnableRequest·=·new·NanEnableRequest(); | 429 | ························final·NanEnableRequest·nanEnableRequest·=·new·NanEnableRequest(); |
| 432 | ························final·boolean[]·operateInBand·=·nanEnableRequest.operateInBand; | 430 | ························final·boolean[]·operateInBand·=·nanEnableRequest.operateInBand; |
| 433 | ························final·int·n4·=·1; | 431 | ························final·int·n4·=·1; |
| 434 | ························operateInBand[0]·=·(n4·!=·0); | 432 | ························operateInBand[0]·=·(n4·!=·0); |
| 435 | ························final·boolean[]·operateInBand2·=·nanEnableRequest.operateInBand; | 433 | ························final·boolean[]·operateInBand2·=·nanEnableRequest.operateInBand; |
| 436 | ························try·{ | 434 | ························try·{ |
| 437 | ····························operateInBand2[n4]·=·configRequest.mSupport5gBand; | 435 | ····························operateInBand2[n4]·=·configRequest.mSupport5gBand; |
| 438 | ····························final·boolean[]·operateInBand3·=·nanEnableRequest.operateInBand; | 436 | ····························final·boolean[]·operateInBand3·=·nanEnableRequest.operateInBand; |
| 439 | ····························try·{ | 437 | ····························try·{ |
| 440 | ································o | 438 | ································final·boolean·mSupport6gBand·=·configRequest.mSupport6gBand; |
|  | 439 | ································final·byte·hopCountMax·=·2; | |
|  | 440 | ································operateInBand3[hopCountMax]·=·mSupport6gBand; | |
| 441 | ································final·NanEnableRequest·nanEnableRequest2·=·nanEnableRequest; | 441 | ································final·NanEnableRequest·nanEnableRequest2·=·nanEnableRequest; |
| 442 | ································try·{ | 442 | ································try·{ |
| 443 | ····································nanEnableRequest2.hopCountMax·=· | 443 | ····································nanEnableRequest2.hopCountMax·=·hopCountMax; |
| 444 | ····································final·com.android.wifi.x.android.hardware.wifi.V1_4.NanConfigRequest·configParams·=·nanEnableRequest.configParams; | 444 | ····································final·com.android.wifi.x.android.hardware.wifi.V1_4.NanConfigRequest·configParams·=·nanEnableRequest.configParams; |
| 445 | ····································try·{ | 445 | ····································try·{ |
| 446 | ········································configParams.masterPref·=·(byte)configRequest.mMasterPreference; | 446 | ········································configParams.masterPref·=·(byte)configRequest.mMasterPreference; |
| 447 | ········································nanEnableRequest.configParams.disableDiscoveryAddressChangeIndication·=·!b; | 447 | ········································nanEnableRequest.configParams.disableDiscoveryAddressChangeIndication·=·!b; |
| 448 | ········································nanEnableRequest.configParams.disableStartedClusterIndication·=·!b; | 448 | ········································nanEnableRequest.configParams.disableStartedClusterIndication·=·!b; |
| 449 | ········································nanEnableRequest.configParams.disableJoinedClusterIndication·=·!b; | 449 | ········································nanEnableRequest.configParams.disableJoinedClusterIndication·=·!b; |
| 450 | ········································final·com.android.wifi.x.android.hardware.wifi.V1_4.NanConfigRequest·configParams2·=·nanEnableRequest.configParams; | 450 | ········································final·com.android.wifi.x.android.hardware.wifi.V1_4.NanConfigRequest·configParams2·=·nanEnableRequest.configParams; |
| 451 | ········································final·boolean·b | 451 | ········································final·boolean·b8·=·true; |
| 452 | ········································configParams2.includePublishServiceIdsInBeacon·=·b | 452 | ········································configParams2.includePublishServiceIdsInBeacon·=·b8; |
| 453 | ········································nanEnableRequest.configParams.numberOfPublishServiceIdsInBeacon·=·0; | 453 | ········································nanEnableRequest.configParams.numberOfPublishServiceIdsInBeacon·=·0; |
| 454 | ········································nanEnableRequest.configParams.includeSubscribeServiceIdsInBeacon·=·b | 454 | ········································nanEnableRequest.configParams.includeSubscribeServiceIdsInBeacon·=·b8; |
| 455 | ········································nanEnableRequest.configParams.numberOfSubscribeServiceIdsInBeacon·=·0; | 455 | ········································nanEnableRequest.configParams.numberOfSubscribeServiceIdsInBeacon·=·0; |
| 456 | ········································nanEnableRequest.configParams.rssiWindowSize·=·8; | 456 | ········································nanEnableRequest.configParams.rssiWindowSize·=·8; |
| 457 | ········································final·com.android.wifi.x.android.hardware.wifi.V1_4.NanConfigRequest·configParams3·=·nanEnableRequest.configParams; | 457 | ········································final·com.android.wifi.x.android.hardware.wifi.V1_4.NanConfigRequest·configParams3·=·nanEnableRequest.configParams; |
| 458 | ········································try·{ | 458 | ········································try·{ |
| ... Open expanded diff ... | |||
| Offset 111, 15 lines modified | Offset 111, 15 lines modified | ||
| 111 | ········final·String·s5·=·"passphrase"; | 111 | ········final·String·s5·=·"passphrase"; |
| 112 | ········final·String·s6·=·"pmk"; | 112 | ········final·String·s6·=·"pmk"; |
| 113 | ········final·String·s7·=·"interface_name"; | 113 | ········final·String·s7·=·"interface_name"; |
| 114 | ········final·String·s8·=·"uid"; | 114 | ········final·String·s8·=·"uid"; |
| 115 | ········final·String·s9·=·"session_id"; | 115 | ········final·String·s9·=·"session_id"; |
| 116 | ········final·String·s10·=·"config"; | 116 | ········final·String·s10·=·"config"; |
| 117 | ········boolean·b·=·false; | 117 | ········boolean·b·=·false; |
| 118 | ········Label_18 | 118 | ········Label_1877:·{ |
| 119 | ············switch·(arg1)·{ | 119 | ············switch·(arg1)·{ |
| 120 | ················default:·{ | 120 | ················default:·{ |
| 121 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); | 121 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); |
| 122 | ····················sb2.append("processCommand:·this·isn't·a·COMMAND·--·msg="); | 122 | ····················sb2.append("processCommand:·this·isn't·a·COMMAND·--·msg="); |
| 123 | ····················sb2.append(message); | 123 | ····················sb2.append(message); |
| 124 | ····················Log.wtf(s,·sb2.toString()); | 124 | ····················Log.wtf(s,·sb2.toString()); |
| 125 | ····················break; | 125 | ····················break; |
| Offset 134, 15 lines modified | Offset 134, 15 lines modified | ||
| 134 | ················} | 134 | ················} |
| 135 | ················case·121:·{ | 135 | ················case·121:·{ |
| 136 | ····················WifiAwareStateManager.access$4300(this.this$0).start(this.getHandler()); | 136 | ····················WifiAwareStateManager.access$4300(this.this$0).start(this.getHandler()); |
| 137 | ····················break; | 137 | ····················break; |
| 138 | ················} | 138 | ················} |
| 139 | ················case·120:·{ | 139 | ················case·120:·{ |
| 140 | ····················b·=·WifiAwareStateManager.access$2900(this.this$0,·mNextTransactionId); | 140 | ····················b·=·WifiAwareStateManager.access$2900(this.this$0,·mNextTransactionId); |
| 141 | ····················break·Label_18 | 141 | ····················break·Label_1877; |
| 142 | ················} | 142 | ················} |
| 143 | ················case·119:·{ | 143 | ················case·119:·{ |
| 144 | ····················if·(this.mSendQueueBlocked)·{ | 144 | ····················if·(this.mSendQueueBlocked)·{ |
| 145 | ························break; | 145 | ························break; |
| 146 | ····················} | 146 | ····················} |
| 147 | ····················if·(this.mHostQueuedSendMessages.size()·==·0)·{ | 147 | ····················if·(this.mHostQueuedSendMessages.size()·==·0)·{ |
| 148 | ························break; | 148 | ························break; |
| Offset 153, 62 lines modified | Offset 153, 62 lines modified | ||
| 153 | ····················final·int·arg2·=·message2.arg2; | 153 | ····················final·int·arg2·=·message2.arg2; |
| 154 | ····················final·int·int1·=·message2.getData().getInt(s9); | 154 | ····················final·int·int1·=·message2.getData().getInt(s9); |
| 155 | ····················final·int·int2·=·data.getInt("message_peer_id"); | 155 | ····················final·int·int2·=·data.getInt("message_peer_id"); |
| 156 | ····················final·byte[]·byteArray·=·data.getByteArray("message"); | 156 | ····················final·byte[]·byteArray·=·data.getByteArray("message"); |
| 157 | ····················final·int·int3·=·data.getInt(s2); | 157 | ····················final·int·int3·=·data.getInt(s2); |
| 158 | ····················message.getData().putParcelable("send_message",·(Parcelable)message2); | 158 | ····················message.getData().putParcelable("send_message",·(Parcelable)message2); |
| 159 | ····················b·=·WifiAwareStateManager.access$3500(this.this$0,·this.mCurrentTransactionId,·arg2,·int1,·int2,·byteArray,·int3); | 159 | ····················b·=·WifiAwareStateManager.access$3500(this.this$0,·this.mCurrentTransactionId,·arg2,·int1,·int2,·byteArray,·int3); |
| 160 | ····················break·Label_18 | 160 | ····················break·Label_1877; |
| 161 | ················} | 161 | ················} |
| 162 | ················case·118:·{ | 162 | ················case·118:·{ |
| 163 | ····················b·=·WifiAwareStateManager.access$4200(this.this$0,·mNextTransactionId,·message.arg2); | 163 | ····················b·=·WifiAwareStateManager.access$4200(this.this$0,·mNextTransactionId,·message.arg2); |
| 164 | ····················break·Label_18 | 164 | ····················break·Label_1877; |
| 165 | ················} | 165 | ················} |
| 166 | ················case·117:·{ | 166 | ················case·117:·{ |
| 167 | ····················final·Bundle·data2·=·message.getData(); | 167 | ····················final·Bundle·data2·=·message.getData(); |
| 168 | ····················b·=·WifiAwareStateManager.access$4100(this.this$0,·this.mCurrentTransactionId,·(boolean)(Boolean)message.obj,·message.arg2,·data2.getString(s7),·data2.getByteArray(s6),·data2.getString(s5),·data2.getByteArray(s3),·data2.getBoolean(s4)); | 168 | ····················b·=·WifiAwareStateManager.access$4100(this.this$0,·this.mCurrentTransactionId,·(boolean)(Boolean)message.obj,·message.arg2,·data2.getString(s7),·data2.getByteArray(s6),·data2.getString(s5),·data2.getByteArray(s3),·data2.getBoolean(s4)); |
| 169 | ····················break·Label_18 | 169 | ····················break·Label_1877; |
| 170 | ················} | 170 | ················} |
| 171 | ················case·116:·{ | 171 | ················case·116:·{ |
| 172 | ····················final·Bundle·data3·=·message.getData(); | 172 | ····················final·Bundle·data3·=·message.getData(); |
| 173 | ····················final·WifiAwareNetworkSpecifier·wifiAwareNetworkSpecifier·=·(WifiAwareNetworkSpecifier)message.obj; | 173 | ····················final·WifiAwareNetworkSpecifier·wifiAwareNetworkSpecifier·=·(WifiAwareNetworkSpecifier)message.obj; |
| 174 | ····················b·=·WifiAwareStateManager.access$4000(this.this$0,·this.mCurrentTransactionId,·wifiAwareNetworkSpecifier,·data3.getInt("peer_id"),·data3.getInt("channel_request_type"),·data3.getInt("channel"),·data3.getByteArray("mac_address"),·data3.getString(s7),·data3.getByteArray(s6),·data3.getString(s5),·data3.getBoolean(s4),·data3.getByteArray(s3)); | 174 | ····················b·=·WifiAwareStateManager.access$4000(this.this$0,·this.mCurrentTransactionId,·wifiAwareNetworkSpecifier,·data3.getInt("peer_id"),·data3.getInt("channel_request_type"),·data3.getInt("channel"),·data3.getByteArray("mac_address"),·data3.getString(s7),·data3.getByteArray(s6),·data3.getString(s5),·data3.getBoolean(s4),·data3.getByteArray(s3)); |
| 175 | ····················if·(b)·{ | 175 | ····················if·(b)·{ |
| 176 | ························final·WakeupMessage·wakeupMessage·=·new·WakeupMessage(WifiAwareStateManager.access$600(this.this$0),·this.getHandler(),·"WifiAwareStateManager·HAL·Data·Path·Confirm·Timeout",·6,·0,·0,·(Object)wifiAwareNetworkSpecifier); | 176 | ························final·WakeupMessage·wakeupMessage·=·new·WakeupMessage(WifiAwareStateManager.access$600(this.this$0),·this.getHandler(),·"WifiAwareStateManager·HAL·Data·Path·Confirm·Timeout",·6,·0,·0,·(Object)wifiAwareNetworkSpecifier); |
| 177 | ························this.mDataPathConfirmTimeoutMessages.put(wifiAwareNetworkSpecifier,·wakeupMessage); | 177 | ························this.mDataPathConfirmTimeoutMessages.put(wifiAwareNetworkSpecifier,·wakeupMessage); |
| 178 | ························wakeupMessage.schedule(SystemClock.elapsedRealtime()·+·20000L); | 178 | ························wakeupMessage.schedule(SystemClock.elapsedRealtime()·+·20000L); |
| 179 | ····················} | 179 | ····················} |
| 180 | ····················break·Label_18 | 180 | ····················break·Label_1877; |
| 181 | ················} | 181 | ················} |
| 182 | ················case·115:·{ | 182 | ················case·115:·{ |
| 183 | ····················b·=·WifiAwareStateManager.access$3900(this.this$0).deleteAwareNetworkInterface(this.mCurrentTransactionId,·(String)message.obj); | 183 | ····················b·=·WifiAwareStateManager.access$3900(this.this$0).deleteAwareNetworkInterface(this.mCurrentTransactionId,·(String)message.obj); |
| 184 | ····················break·Label_18 | 184 | ····················break·Label_1877; |
| 185 | ················} | 185 | ················} |
| 186 | ················case·114:·{ | 186 | ················case·114:·{ |
| 187 | ····················b·=·WifiAwareStateManager.access$3900(this.this$0).createAwareNetworkInterface(this.mCurrentTransactionId,·(String)message.obj); | 187 | ····················b·=·WifiAwareStateManager.access$3900(this.this$0).createAwareNetworkInterface(this.mCurrentTransactionId,·(String)message.obj); |
| 188 | ····················break·Label_18 | 188 | ····················break·Label_1877; |
| 189 | ················} | 189 | ················} |
| 190 | ················case·113:·{ | 190 | ················case·113:·{ |
| 191 | ····················this.this$0.mDataPathMgr.deleteAllInterfaces(); | 191 | ····················this.this$0.mDataPathMgr.deleteAllInterfaces(); |
| 192 | ····················break; | 192 | ····················break; |
| 193 | ················} | 193 | ················} |
| 194 | ················case·112:·{ | 194 | ················case·112:·{ |
| 195 | ····················this.this$0.mDataPathMgr.createAllInterfaces(); | 195 | ····················this.this$0.mDataPathMgr.createAllInterfaces(); |
| 196 | ····················break; | 196 | ····················break; |
| 197 | ················} | 197 | ················} |
| 198 | ················case·111:·{ | 198 | ················case·111:·{ |
| 199 | ····················if·(WifiAwareStateManager.access$3800(this.this$0)·==·null)·{ | 199 | ····················if·(WifiAwareStateManager.access$3800(this.this$0)·==·null)·{ |
| 200 | ························b·=·WifiAwareStateManager.access$3900(this.this$0).getCapabilities(this.mCurrentTransactionId); | 200 | ························b·=·WifiAwareStateManager.access$3900(this.this$0).getCapabilities(this.mCurrentTransactionId); |
| 201 | ························break·Label_18 | 201 | ························break·Label_1877; |
| 202 | ····················} | 202 | ····················} |
| 203 | ····················break; | 203 | ····················break; |
| 204 | ················} | 204 | ················} |
| 205 | ················case·109:·{ | 205 | ················case·109:·{ |
| 206 | ····················b·=·WifiAwareStateManager.access$3700(this.this$0,·mNextTransactionId); | 206 | ····················b·=·WifiAwareStateManager.access$3700(this.this$0,·mNextTransactionId); |
| 207 | ····················break·Label_18 | 207 | ····················break·Label_1877; |
| 208 | ················} | 208 | ················} |
| 209 | ················case·108:·{ | 209 | ················case·108:·{ |
| 210 | ····················WifiAwareStateManager.access$3600(this.this$0); | 210 | ····················WifiAwareStateManager.access$3600(this.this$0); |
| 211 | ····················break; | 211 | ····················break; |
| 212 | ················} | 212 | ················} |
| 213 | ················case·107:·{ | 213 | ················case·107:·{ |
| 214 | ····················final·int·int4·=·message.getData().getInt(s8); | 214 | ····················final·int·int4·=·message.getData().getInt(s8); |
| Offset 234, 40 lines modified | Offset 234, 40 lines modified | ||
| 234 | ····················if·(!this.mSendQueueBlocked)·{ | 234 | ····················if·(!this.mSendQueueBlocked)·{ |
| 235 | ························WifiAwareStateManager.access$2500(this.this$0); | 235 | ························WifiAwareStateManager.access$2500(this.this$0); |
| 236 | ························break; | 236 | ························break; |
| 237 | ····················} | 237 | ····················} |
| 238 | ····················break; | 238 | ····················break; |
| 239 | ················} | 239 | ················} |
| 240 | ················case·106:·{ | 240 | ················case·106:·{ |
| 241 | ····················b·=·WifiAwareStateManager.access$3400(this.this$0,·this.mCurrentTransactionId,·message.arg2,·message.getData().getInt(s9),·(SubscribeConfig)message. | 241 | ····················b·=·WifiAwareStateManager.access$3400(this.this$0,·this.mCurrentTransactionId,·message.arg2,·message.getData().getInt(s9),·(SubscribeConfig)message.getData().getParcelable(s10)); |
| 242 | ····················break·Label_18 | 242 | ····················break·Label_1877; |
| 243 | ················} | 243 | ················} |
| 244 | ················case·105:·{ | 244 | ················case·105:·{ |
| 245 | ····················b·=·WifiAwareStateManager.access$3300(this.this$0,·this.mCurrentTransactionId,·message.arg2,·(SubscribeConfig)message.getData().getParcelable(s10),·(IWifiAwareDiscoverySessionCallback)message.obj); | 245 | ····················b·=·WifiAwareStateManager.access$3300(this.this$0,·this.mCurrentTransactionId,·message.arg2,·(SubscribeConfig)message.getData().getParcelable(s10),·(IWifiAwareDiscoverySessionCallback)message.obj); |
| 246 | ····················break·Label_18 | 246 | ····················break·Label_1877; |
| 247 | ················} | 247 | ················} |
| 248 | ················case·104:·{ | 248 | ················case·104:·{ |
| 249 | ····················b·=·WifiAwareStateManager.access$3200(this.this$0,·this.mCurrentTransactionId,·message.arg2,·message.getData().getInt(s9),·(PublishConfig)message. | 249 | ····················b·=·WifiAwareStateManager.access$3200(this.this$0,·this.mCurrentTransactionId,·message.arg2,·message.getData().getInt(s9),·(PublishConfig)message.getData().getParcelable(s10)); |
| 250 | ····················break·Label_18 | 250 | ····················break·Label_1877; |
| 251 | ················} | 251 | ················} |
| 252 | ················case·103:·{ | 252 | ················case·103:·{ |
| 253 | ····················b·=·WifiAwareStateManager.access$3100(this.this$0,·this.mCurrentTransactionId,·message.arg2,·(PublishConfig)message.getData().getParcelable(s10),·(IWifiAwareDiscoverySessionCallback)message.obj); | 253 | ····················b·=·WifiAwareStateManager.access$3100(this.this$0,·this.mCurrentTransactionId,·message.arg2,·(PublishConfig)message.getData().getParcelable(s10),·(IWifiAwareDiscoverySessionCallback)message.obj); |
| 254 | ····················break·Label_18 | 254 | ····················break·Label_1877; |
| 255 | ················} | 255 | ················} |
| 256 | ················case·102:·{ | 256 | ················case·102:·{ |
| 257 | ····················WifiAwareStateManager.access$3000(this.this$0,·message.arg2,·(int)(Integer)message.obj); | 257 | ····················WifiAwareStateManager.access$3000(this.this$0,·message.arg2,·(int)(Integer)message.obj); |
| 258 | ····················break; | 258 | ····················break; |
| 259 | ················} | 259 | ················} |
| 260 | ················case·101:·{ | 260 | ················case·101:·{ |
| 261 | ····················b·=·WifiAwareStateManager.access$2800(this.this$0,·mNextTransactionId,·message.arg2); | 261 | ····················b·=·WifiAwareStateManager.access$2800(this.this$0,·mNextTransactionId,·message.arg2); |
| 262 | ····················break·Label_18 | 262 | ····················break·Label_1877; |
| 263 | ················} | 263 | ················} |
| 264 | ················case·100:·{ | 264 | ················case·100:·{ |
| 265 | ····················b·=·WifiAwareStateManager.access$2700(this.this$0,·this.mCurrentTransactionId,·message.arg2,·message.getData().getInt(s8),·message.getData().getInt("pid"),·message.getData().getString("calling_package"),·message.getData().getString("calling_feature_id"),·(IWifiAwareEventCallback)message.obj,·(ConfigRequest)message.getData().getParcelable(s10),·message.getData().getBoolean("notify_identity_chg")); | 265 | ····················b·=·WifiAwareStateManager.access$2700(this.this$0,·this.mCurrentTransactionId,·message.arg2,·message.getData().getInt(s8),·message.getData().getInt("pid"),·message.getData().getString("calling_package"),·message.getData().getString("calling_feature_id"),·(IWifiAwareEventCallback)message.obj,·(ConfigRequest)message.getData().getParcelable(s10),·message.getData().getBoolean("notify_identity_chg")); |
| ... Open expanded diff ... | |||
| Offset 148, 14 lines modified | Offset 148, 15 lines modified | ||
| 148 | ····private·volatile·Capabilities·mCapabilities; | 148 | ····private·volatile·Capabilities·mCapabilities; |
| 149 | ····private·volatile·Characteristics·mCharacteristics; | 149 | ····private·volatile·Characteristics·mCharacteristics; |
| 150 | ····private·final·SparseArray·mClients; | 150 | ····private·final·SparseArray·mClients; |
| 151 | ····private·Context·mContext; | 151 | ····private·Context·mContext; |
| 152 | ····private·ConfigRequest·mCurrentAwareConfiguration; | 152 | ····private·ConfigRequest·mCurrentAwareConfiguration; |
| 153 | ····private·byte[]·mCurrentDiscoveryInterfaceMac; | 153 | ····private·byte[]·mCurrentDiscoveryInterfaceMac; |
| 154 | ····private·boolean·mCurrentIdentityNotification; | 154 | ····private·boolean·mCurrentIdentityNotification; |
|  | 155 | ····private·boolean·mCurrentRangingEnabled; | |
| 155 | ····public·WifiAwareDataPathStateManager·mDataPathMgr; | 156 | ····public·WifiAwareDataPathStateManager·mDataPathMgr; |
| 156 | ····private·boolean·mDbg; | 157 | ····private·boolean·mDbg; |
| 157 | ····private·LocationManager·mLocationManager; | 158 | ····private·LocationManager·mLocationManager; |
| 158 | ····private·PowerManager·mPowerManager; | 159 | ····private·PowerManager·mPowerManager; |
| 159 | ····private·Map·mSettableParameters; | 160 | ····private·Map·mSettableParameters; |
| 160 | ····private·WifiAwareStateManager$WifiAwareStateMachine·mSm; | 161 | ····private·WifiAwareStateManager$WifiAwareStateMachine·mSm; |
| 161 | ····private·volatile·boolean·mUsageEnabled; | 162 | ····private·volatile·boolean·mUsageEnabled; |
| Offset 177, 14 lines modified | Offset 178, 15 lines modified | ||
| 177 | ····public·WifiAwareStateManager()·{ | 178 | ····public·WifiAwareStateManager()·{ |
| 178 | ········this.mDbg·=·false; | 179 | ········this.mDbg·=·false; |
| 179 | ········this.mUsageEnabled·=·false; | 180 | ········this.mUsageEnabled·=·false; |
| 180 | ········this.mCharacteristics·=·null; | 181 | ········this.mCharacteristics·=·null; |
| 181 | ········this.mClients·=·new·SparseArray(); | 182 | ········this.mClients·=·new·SparseArray(); |
| 182 | ········this.mCurrentAwareConfiguration·=·null; | 183 | ········this.mCurrentAwareConfiguration·=·null; |
| 183 | ········this.mCurrentIdentityNotification·=·false; | 184 | ········this.mCurrentIdentityNotification·=·false; |
|  | 185 | ········this.mCurrentRangingEnabled·=·false; | |
| 184 | ········this.mCurrentDiscoveryInterfaceMac·=·WifiAwareStateManager.ALL_ZERO_MAC; | 186 | ········this.mCurrentDiscoveryInterfaceMac·=·WifiAwareStateManager.ALL_ZERO_MAC; |
| 185 | ········this.mSettableParameters·=·new·HashMap(); | 187 | ········this.mSettableParameters·=·new·HashMap(); |
| 186 | ········this.onReset(); | 188 | ········this.onReset(); |
| 187 | ····} | 189 | ····} |
| 188 | ···· | 190 | ···· |
| 189 | ····private·boolean·connectLocal(final·short·n,·final·int·n2,·final·int·n3,·final·int·n4,·final·String·s,·final·String·s2,·final·IWifiAwareEventCallback·wifiAwareEventCallback,·final·ConfigRequest·configRequest,·final·boolean·b)·{ | 191 | ····private·boolean·connectLocal(final·short·n,·final·int·n2,·final·int·n3,·final·int·n4,·final·String·s,·final·String·s2,·final·IWifiAwareEventCallback·wifiAwareEventCallback,·final·ConfigRequest·configRequest,·final·boolean·b)·{ |
| 190 | ········final·boolean·mUsageEnabled·=·this.mUsageEnabled; | 192 | ········final·boolean·mUsageEnabled·=·this.mUsageEnabled; |
| Offset 262, 15 lines modified | Offset 264, 15 lines modified | ||
| 262 | ········int·n7; | 264 | ········int·n7; |
| 263 | ········if·(this.mCurrentAwareConfiguration·==·null)·{ | 265 | ········if·(this.mCurrentAwareConfiguration·==·null)·{ |
| 264 | ············n7·=·n5; | 266 | ············n7·=·n5; |
| 265 | ········} | 267 | ········} |
| 266 | ········else·{ | 268 | ········else·{ |
| 267 | ············n7·=·0; | 269 | ············n7·=·0; |
| 268 | ········} | 270 | ········} |
| 269 | ········final·boolean·enableAndConfigure·=·mWifiAwareNativeApi.enableAndConfigure(n,·mergeConfigRequests,·(boolean)(n6·!=·0),·(boolean)(n7·!=·0),·this.mPowerManager.isInteractive(),·this.mPowerManager.isDeviceIdleMode()); | 271 | ········final·boolean·enableAndConfigure·=·mWifiAwareNativeApi.enableAndConfigure(n,·mergeConfigRequests,·(boolean)(n6·!=·0),·(boolean)(n7·!=·0),·this.mPowerManager.isInteractive(),·this.mPowerManager.isDeviceIdleMode(),·this.mCurrentRangingEnabled); |
| 270 | ········if·(!enableAndConfigure)·{ | 272 | ········if·(!enableAndConfigure)·{ |
| 271 | ············try·{ | 273 | ············try·{ |
| 272 | ················wifiAwareEventCallback.onConnectFail(n5); | 274 | ················wifiAwareEventCallback.onConnectFail(n5); |
| 273 | ················this.mAwareMetrics.recordAttachStatus(n5); | 275 | ················this.mAwareMetrics.recordAttachStatus(n5); |
| 274 | ············} | 276 | ············} |
| 275 | ············catch·(RemoteException·ex4)·{ | 277 | ············catch·(RemoteException·ex4)·{ |
| 276 | ················final·StringBuilder·sb6·=·new·StringBuilder(); | 278 | ················final·StringBuilder·sb6·=·new·StringBuilder(); |
| Offset 319, 26 lines modified | Offset 321, 36 lines modified | ||
| 319 | ········} | 321 | ········} |
| 320 | ········final·ConfigRequest·mergeConfigRequests·=·this.mergeConfigRequests(null); | 322 | ········final·ConfigRequest·mergeConfigRequests·=·this.mergeConfigRequests(null); |
| 321 | ········if·(mergeConfigRequests·==·null)·{ | 323 | ········if·(mergeConfigRequests·==·null)·{ |
| 322 | ············Log.wtf(s,·"disconnectLocal:·got·an·incompatible·merge·on·remaining·configs!?"); | 324 | ············Log.wtf(s,·"disconnectLocal:·got·an·incompatible·merge·on·remaining·configs!?"); |
| 323 | ············return·false; | 325 | ············return·false; |
| 324 | ········} | 326 | ········} |
| 325 | ········final·boolean·doesAnyClientNeedIdentityChangeNotifications·=·this.doesAnyClientNeedIdentityChangeNotifications(); | 327 | ········final·boolean·doesAnyClientNeedIdentityChangeNotifications·=·this.doesAnyClientNeedIdentityChangeNotifications(); |
| 326 | ········ | 328 | ········final·boolean·doesAnyClientNeedRanging·=·this.doesAnyClientNeedRanging(); |
|  | 329 | ········return·(!mergeConfigRequests.equals((Object)this.mCurrentAwareConfiguration)·||·this.mCurrentIdentityNotification·!=·doesAnyClientNeedIdentityChangeNotifications·||·this.mCurrentRangingEnabled·!=·doesAnyClientNeedRanging)·&&·this.mWifiAwareNativeApi.enableAndConfigure(n,·mergeConfigRequests,·doesAnyClientNeedIdentityChangeNotifications,·false,·this.mPowerManager.isInteractive(),·this.mPowerManager.isDeviceIdleMode(),·doesAnyClientNeedRanging); | |
| 327 | ····} | 330 | ····} |
| 328 | ···· | 331 | ···· |
| 329 | ····private·boolean·doesAnyClientNeedIdentityChangeNotifications()·{ | 332 | ····private·boolean·doesAnyClientNeedIdentityChangeNotifications()·{ |
| 330 | ········for·(int·i·=·0;·i·<·this.mClients.size();·++i)·{ | 333 | ········for·(int·i·=·0;·i·<·this.mClients.size();·++i)·{ |
| 331 | ············if·(((WifiAwareClientState)this.mClients.valueAt(i)).getNotifyIdentityChange())·{ | 334 | ············if·(((WifiAwareClientState)this.mClients.valueAt(i)).getNotifyIdentityChange())·{ |
| 332 | ················return·true; | 335 | ················return·true; |
| 333 | ············} | 336 | ············} |
| 334 | ········} | 337 | ········} |
| 335 | ········return·false; | 338 | ········return·false; |
| 336 | ····} | 339 | ····} |
| 337 | ···· | 340 | ···· |
|  | 341 | ····private·boolean·doesAnyClientNeedRanging()·{ | |
|  | 342 | ········for·(int·i·=·0;·i·<·this.mClients.size();·++i)·{ | |
|  | 343 | ············if·(((WifiAwareClientState)this.mClients.valueAt(i)).isRangingEnabled())·{ | |
|  | 344 | ················return·true; | |
|  | 345 | ············} | |
|  | 346 | ········} | |
|  | 347 | ········return·false; | |
|  | 348 | ····} | |
|  | 349 | ···· | |
| 338 | ····private·void·enableUsageLocal()·{ | 350 | ····private·void·enableUsageLocal()·{ |
| 339 | ········if·(this.mCapabilities·==·null)·{ | 351 | ········if·(this.mCapabilities·==·null)·{ |
| 340 | ············this.getAwareInterface(); | 352 | ············this.getAwareInterface(); |
| 341 | ············this.queryCapabilities(); | 353 | ············this.queryCapabilities(); |
| 342 | ············this.releaseAwareInterface(); | 354 | ············this.releaseAwareInterface(); |
| 343 | ········} | 355 | ········} |
| 344 | ········if·(this.mUsageEnabled)·{ | 356 | ········if·(this.mUsageEnabled)·{ |
| Offset 575, 14 lines modified | Offset 587, 15 lines modified | ||
| 575 | ················return; | 587 | ················return; |
| 576 | ············} | 588 | ············} |
| 577 | ········} | 589 | ········} |
| 578 | ········if·((this.mCurrentAwareConfiguration·=·this.mergeConfigRequests(null))·==·null)·{ | 590 | ········if·((this.mCurrentAwareConfiguration·=·this.mergeConfigRequests(null))·==·null)·{ |
| 579 | ············Log.wtf(s,·"onConfigCompletedLocal:·got·a·null·merged·configuration·after·config!?"); | 591 | ············Log.wtf(s,·"onConfigCompletedLocal:·got·a·null·merged·configuration·after·config!?"); |
| 580 | ········} | 592 | ········} |
| 581 | ········this.mCurrentIdentityNotification·=·this.doesAnyClientNeedIdentityChangeNotifications(); | 593 | ········this.mCurrentIdentityNotification·=·this.doesAnyClientNeedIdentityChangeNotifications(); |
|  | 594 | ········this.mCurrentRangingEnabled·=·this.doesAnyClientNeedRanging(); | |
| 582 | ····} | 595 | ····} |
| 583 | ···· | 596 | ···· |
| 584 | ····private·void·onConfigFailedLocal(final·Message·message,·final·int·n)·{ | 597 | ····private·void·onConfigFailedLocal(final·Message·message,·final·int·n)·{ |
| 585 | ········final·int·arg1·=·message.arg1; | 598 | ········final·int·arg1·=·message.arg1; |
| 586 | ········final·String·s·=·"WifiAwareStateManager"; | 599 | ········final·String·s·=·"WifiAwareStateManager"; |
| 587 | ········if·(arg1·==·100)·{ | 600 | ········if·(arg1·==·100)·{ |
| 588 | ············final·IWifiAwareEventCallback·wifiAwareEventCallback·=·(IWifiAwareEventCallback)message.obj; | 601 | ············final·IWifiAwareEventCallback·wifiAwareEventCallback·=·(IWifiAwareEventCallback)message.obj; |
| Offset 821, 14 lines modified | Offset 834, 17 lines modified | ||
| 821 | ················final·int·uid·=·wifiAwareClientState.getUid(); | 834 | ················final·int·uid·=·wifiAwareClientState.getUid(); |
| 822 | ················if·(message.arg1·!=·n3)·{ | 835 | ················if·(message.arg1·!=·n3)·{ |
| 823 | ····················b2·=·false; | 836 | ····················b2·=·false; |
| 824 | ················} | 837 | ················} |
| 825 | ················mAwareMetrics.recordDiscoveryStatus(uid,·n,·b2); | 838 | ················mAwareMetrics.recordDiscoveryStatus(uid,·n,·b2); |
| 826 | ················if·(n·==·3)·{ | 839 | ················if·(n·==·3)·{ |
| 827 | ····················wifiAwareClientState.removeSession(int1); | 840 | ····················wifiAwareClientState.removeSession(int1); |
|  | 841 | ····················if·(this.mCurrentRangingEnabled·!=·this.doesAnyClientNeedRanging())·{ | |
|  | 842 | ························this.reconfigure(); | |
|  | 843 | ····················} | |
| 828 | ················} | 844 | ················} |
| 829 | ············} | 845 | ············} |
| 830 | ········} | 846 | ········} |
| 831 | ········else·{ | 847 | ········else·{ |
| 832 | ············final·int·arg3·=·message.arg2; | 848 | ············final·int·arg3·=·message.arg2; |
| 833 | ············final·IWifiAwareDiscoverySessionCallback·wifiAwareDiscoverySessionCallback·=·(IWifiAwareDiscoverySessionCallback)message.obj; | 849 | ············final·IWifiAwareDiscoverySessionCallback·wifiAwareDiscoverySessionCallback·=·(IWifiAwareDiscoverySessionCallback)message.obj; |
| 834 | ············final·WifiAwareClientState·wifiAwareClientState2·=·(WifiAwareClientState)this.mClients.get(arg3); | 850 | ············final·WifiAwareClientState·wifiAwareClientState2·=·(WifiAwareClientState)this.mClients.get(arg3); |
| Offset 855, 178 lines modified | Offset 871, 192 lines modified | ||
| 855 | ················b2·=·false; | 871 | ················b2·=·false; |
| 856 | ············} | 872 | ············} |
| 857 | ············mAwareMetrics2.recordDiscoveryStatus(uid2,·n,·b2); | 873 | ············mAwareMetrics2.recordDiscoveryStatus(uid2,·n,·b2); |
| 858 | ········} | 874 | ········} |
| 859 | ····} | 875 | ····} |
| 860 | ···· | 876 | ···· |
| 861 | ····private·void·onSessionConfigSuccessLocal(final·Message·message,·final·byte·b,·final·boolean·b2)·{ | 877 | ····private·void·onSessionConfigSuccessLocal(final·Message·message,·final·byte·b,·final·boolean·b2)·{ |
| 862 | ········final· | 878 | ········final·String·s·=·"config"; |
| ... Open expanded diff ... | |||
| Offset 3, 18 lines modified | Offset 3, 22 lines modified | ||
| Â | Â | ||
| 3 | import·java.io.ObjectInputStream; | 3 | import·java.io.ObjectInputStream; |
| 4 | import·java.io.IOException; | 4 | import·java.io.IOException; |
| 5 | import·java.io.ObjectOutputStream; | 5 | import·java.io.ObjectOutputStream; |
| 6 | import·java.io.Serializable; | 6 | import·java.io.Serializable; |
| 7 | import·java.io.PrintWriter; | 7 | import·java.io.PrintWriter; |
| 8 | import·java.io.FileDescriptor; | 8 | import·java.io.FileDescriptor; |
|  | 9 | import·java.util.Objects; | |
| 9 | import·android.net.InetAddresses; | 10 | import·android.net.InetAddresses; |
| 10 | import·android.os.Parcelable; | 11 | import·android.os.Parcelable; |
| 11 | import·android.content.Context; | 12 | import·android.content.Context; |
| 12 | import·android.content.Intent; | 13 | import·android.content.Intent; |
|  | 14 | import·android.net.wifi.WifiInfo; | |
|  | 15 | import·android.net.wifi.ScanResult; | |
|  | 16 | import·android.net.wifi.WifiManager; | |
| 13 | import·android.app.AlertDialog; | 17 | import·android.app.AlertDialog; |
| 14 | import·android.net.wifi.WpsInfo; | 18 | import·android.net.wifi.WpsInfo; |
| 15 | import·android.content.DialogInterface$OnKeyListener; | 19 | import·android.content.DialogInterface$OnKeyListener; |
| 16 | import·android.content.DialogInterface$OnCancelListener; | 20 | import·android.content.DialogInterface$OnCancelListener; |
| 17 | import·android.content.DialogInterface$OnClickListener; | 21 | import·android.content.DialogInterface$OnClickListener; |
| 18 | import·android.widget.EditText; | 22 | import·android.widget.EditText; |
| 19 | import·android.app.AlertDialog$Builder; | 23 | import·android.app.AlertDialog$Builder; |
| Offset 158, 19 lines modified | Offset 162, 19 lines modified | ||
| 158 | ············return·false; | 162 | ············return·false; |
| 159 | ········} | 163 | ········} |
| 160 | ········this.clearClientDeadChannels(); | 164 | ········this.clearClientDeadChannels(); |
| 161 | ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false); | 165 | ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false); |
| 162 | ········if·(clientInfo·==·null)·{ | 166 | ········if·(clientInfo·==·null)·{ |
| 163 | ············return·false; | 167 | ············return·false; |
| 164 | ········} | 168 | ········} |
| 165 | ········if·(!WifiP2pServiceImpl$ClientInfo.access$11 | 169 | ········if·(!WifiP2pServiceImpl$ClientInfo.access$11800(clientInfo).add(wifiP2pServiceInfo))·{ |
| 166 | ············return·false; | 170 | ············return·false; |
| 167 | ········} | 171 | ········} |
| 168 | ········if·(!this.mWifiNative.p2pServiceAdd(wifiP2pServiceInfo))·{ | 172 | ········if·(!this.mWifiNative.p2pServiceAdd(wifiP2pServiceInfo))·{ |
| 169 | ············WifiP2pServiceImpl$ClientInfo.access$11 | 173 | ············WifiP2pServiceImpl$ClientInfo.access$11800(clientInfo).remove(wifiP2pServiceInfo); |
| 170 | ············return·false; | 174 | ············return·false; |
| 171 | ········} | 175 | ········} |
| 172 | ········return·true; | 176 | ········return·true; |
| 173 | ····} | 177 | ····} |
| 174 | ···· | 178 | ···· |
| 175 | ····private·void·addRowToDialog(final·ViewGroup·viewGroup,·final·int·n,·final·String·text)·{ | 179 | ····private·void·addRowToDialog(final·ViewGroup·viewGroup,·final·int·n,·final·String·text)·{ |
| 176 | ········final·Resources·resources·=·WifiP2pServiceImpl.access$1100(this.this$0).getResources(); | 180 | ········final·Resources·resources·=·WifiP2pServiceImpl.access$1100(this.this$0).getResources(); |
| Offset 186, 34 lines modified | Offset 190, 34 lines modified | ||
| 186 | ············return·false; | 190 | ············return·false; |
| 187 | ········} | 191 | ········} |
| 188 | ········this.clearClientDeadChannels(); | 192 | ········this.clearClientDeadChannels(); |
| 189 | ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false); | 193 | ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false); |
| 190 | ········if·(clientInfo·==·null)·{ | 194 | ········if·(clientInfo·==·null)·{ |
| 191 | ············return·false; | 195 | ············return·false; |
| 192 | ········} | 196 | ········} |
| 193 | ········WifiP2pServiceImpl.access$11 | 197 | ········WifiP2pServiceImpl.access$11404(this.this$0); |
| 194 | ········if·(WifiP2pServiceImpl.access$11 | 198 | ········if·(WifiP2pServiceImpl.access$11400(this.this$0)·==·0)·{ |
| 195 | ············WifiP2pServiceImpl.access$11 | 199 | ············WifiP2pServiceImpl.access$11404(this.this$0); |
| 196 | ········} | 200 | ········} |
| 197 | ········wifiP2pServiceRequest.setTransactionId((int)WifiP2pServiceImpl.access$11 | 201 | ········wifiP2pServiceRequest.setTransactionId((int)WifiP2pServiceImpl.access$11400(this.this$0)); |
| 198 | ········WifiP2pServiceImpl$ClientInfo.access$11 | 202 | ········WifiP2pServiceImpl$ClientInfo.access$11700(clientInfo).put((int)WifiP2pServiceImpl.access$11400(this.this$0),·(Object)wifiP2pServiceRequest); |
| 199 | ········return·WifiP2pServiceImpl.access$7600(this.this$0)·==·null·||·this.updateSupplicantServiceRequest(); | 203 | ········return·WifiP2pServiceImpl.access$7600(this.this$0)·==·null·||·this.updateSupplicantServiceRequest(); |
| 200 | ····} | 204 | ····} |
| 201 | ···· | 205 | ···· |
| 202 | ····private·void·checkAndReEnableP2p()·{ | 206 | ····private·void·checkAndReEnableP2p()·{ |
| 203 | ········final·boolean·halInterfaceAvailable·=·this.isHalInterfaceAvailable(); | 207 | ········final·boolean·halInterfaceAvailable·=·this.isHalInterfaceAvailable(); |
| 204 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 208 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 205 | ········sb.append("Wifi·enabled="); | 209 | ········sb.append("Wifi·enabled="); |
| 206 | ········sb.append(this.mIsWifiEnabled); | 210 | ········sb.append(this.mIsWifiEnabled); |
| 207 | ········sb.append(",·P2P·Interface·availability="); | 211 | ········sb.append(",·P2P·Interface·availability="); |
| 208 | ········sb.append(halInterfaceAvailable); | 212 | ········sb.append(halInterfaceAvailable); |
| 209 | ········sb.append(",·Number·of·clients="); | 213 | ········sb.append(",·Number·of·clients="); |
| 210 | ········sb.append(WifiP2pServiceImpl.access$1 | 214 | ········sb.append(WifiP2pServiceImpl.access$11000(this.this$0).size()); |
| 211 | ········Log.d("WifiP2pService",·sb.toString()); | 215 | ········Log.d("WifiP2pService",·sb.toString()); |
| 212 | ········if·(this.mIsWifiEnabled·&&·halInterfaceAvailable·&&·!WifiP2pServiceImpl.access$1 | 216 | ········if·(this.mIsWifiEnabled·&&·halInterfaceAvailable·&&·!WifiP2pServiceImpl.access$11000(this.this$0).isEmpty())·{ |
| 213 | ············this.sendMessage(143376); | 217 | ············this.sendMessage(143376); |
| 214 | ········} | 218 | ········} |
| 215 | ····} | 219 | ····} |
| 216 | ···· | 220 | ···· |
| 217 | ····private·void·checkAndSendP2pStateChangedBroadcast()·{ | 221 | ····private·void·checkAndSendP2pStateChangedBroadcast()·{ |
| 218 | ········final·boolean·halInterfaceAvailable·=·this.isHalInterfaceAvailable(); | 222 | ········final·boolean·halInterfaceAvailable·=·this.isHalInterfaceAvailable(); |
| 219 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 223 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| Offset 229, 25 lines modified | Offset 233, 25 lines modified | ||
| 229 | ········final·ArrayList<Messenger>·list·=·new·ArrayList<Messenger>(); | 233 | ········final·ArrayList<Messenger>·list·=·new·ArrayList<Messenger>(); |
| 230 | ········for·(final·WifiP2pServiceImpl$ClientInfo·wifiP2pServiceImpl$ClientInfo·:·WifiP2pServiceImpl.access$4600(this.this$0).values())·{ | 234 | ········for·(final·WifiP2pServiceImpl$ClientInfo·wifiP2pServiceImpl$ClientInfo·:·WifiP2pServiceImpl.access$4600(this.this$0).values())·{ |
| 231 | ············final·Message·obtain·=·Message.obtain(); | 235 | ············final·Message·obtain·=·Message.obtain(); |
| 232 | ············obtain.what·=·139313; | 236 | ············obtain.what·=·139313; |
| 233 | ············obtain.arg1·=·0; | 237 | ············obtain.arg1·=·0; |
| 234 | ············obtain.arg2·=·0; | 238 | ············obtain.arg2·=·0; |
| 235 | ············obtain.obj·=·null; | 239 | ············obtain.obj·=·null; |
| 236 | ············if·(WifiP2pServiceImpl$ClientInfo.access$11 | 240 | ············if·(WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo)·==·null)·{ |
| 237 | ················continue; | 241 | ················continue; |
| 238 | ············} | 242 | ············} |
| 239 | ············try·{ | 243 | ············try·{ |
| 240 | ················WifiP2pServiceImpl$ClientInfo.access$11 | 244 | ················WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo).send(obtain); |
| 241 | ············} | 245 | ············} |
| 242 | ············catch·(RemoteException·ex)·{ | 246 | ············catch·(RemoteException·ex)·{ |
| 243 | ················if·(WifiP2pServiceImpl.access$500(this.this$0))·{ | 247 | ················if·(WifiP2pServiceImpl.access$500(this.this$0))·{ |
| 244 | ····················this.logd("detect·dead·channel"); | 248 | ····················this.logd("detect·dead·channel"); |
| 245 | ················} | 249 | ················} |
| 246 | ················list.add(WifiP2pServiceImpl$ClientInfo.access$11 | 250 | ················list.add(WifiP2pServiceImpl$ClientInfo.access$11900(wifiP2pServiceImpl$ClientInfo)); |
| 247 | ············} | 251 | ············} |
| 248 | ········} | 252 | ········} |
| 249 | ········final·Iterator<Messenger>·iterator2·=·list.iterator(); | 253 | ········final·Iterator<Messenger>·iterator2·=·list.iterator(); |
| 250 | ········while·(iterator2.hasNext())·{ | 254 | ········while·(iterator2.hasNext())·{ |
| 251 | ············this.clearClientInfo(iterator2.next()); | 255 | ············this.clearClientInfo(iterator2.next()); |
| 252 | ········} | 256 | ········} |
| 253 | ····} | 257 | ····} |
| Offset 270, 44 lines modified | Offset 274, 44 lines modified | ||
| 270 | ············Log.e("WifiP2pService",·"Illegal·argument(s)"); | 274 | ············Log.e("WifiP2pService",·"Illegal·argument(s)"); |
| 271 | ············return; | 275 | ············return; |
| 272 | ········} | 276 | ········} |
| 273 | ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false); | 277 | ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false); |
| 274 | ········if·(clientInfo·==·null)·{ | 278 | ········if·(clientInfo·==·null)·{ |
| 275 | ············return; | 279 | ············return; |
| 276 | ········} | 280 | ········} |
| 277 | ········final·Iterator·iterator·=·WifiP2pServiceImpl$ClientInfo.access$11 | 281 | ········final·Iterator·iterator·=·WifiP2pServiceImpl$ClientInfo.access$11800(clientInfo).iterator(); |
| 278 | ········while·(iterator.hasNext())·{ | 282 | ········while·(iterator.hasNext())·{ |
| 279 | ············this.mWifiNative.p2pServiceDel((WifiP2pServiceInfo)iterator.next()); | 283 | ············this.mWifiNative.p2pServiceDel((WifiP2pServiceInfo)iterator.next()); |
| 280 | ········} | 284 | ········} |
| 281 | ········WifiP2pServiceImpl$ClientInfo.access$11 | 285 | ········WifiP2pServiceImpl$ClientInfo.access$11800(clientInfo).clear(); |
| 282 | ····} | 286 | ····} |
| 283 | ···· | 287 | ···· |
| 284 | ····private·void·clearServiceRequests(final·Messenger·messenger)·{ | 288 | ····private·void·clearServiceRequests(final·Messenger·messenger)·{ |
| 285 | ········if·(messenger·==·null)·{ | 289 | ········if·(messenger·==·null)·{ |
| 286 | ············Log.e("WifiP2pService",·"Illegal·argument(s)"); | 290 | ············Log.e("WifiP2pService",·"Illegal·argument(s)"); |
| 287 | ············return; | 291 | ············return; |
| 288 | ········} | 292 | ········} |
| 289 | ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false); | 293 | ········final·WifiP2pServiceImpl$ClientInfo·clientInfo·=·this.getClientInfo(messenger,·false); |
| 290 | ········if·(clientInfo·==·null)·{ | 294 | ········if·(clientInfo·==·null)·{ |
| 291 | ············return; | 295 | ············return; |
| 292 | ········} | 296 | ········} |
| ... Open expanded diff ... | |||
| Offset 23, 16 lines modified | Offset 23, 18 lines modified | ||
| 23 | ····public·static·final·int·EVENT_FORGET_WIFI·=·1; | 23 | ····public·static·final·int·EVENT_FORGET_WIFI·=·1; |
| 24 | ····public·static·final·int·EVENT_MANUAL_CONNECT·=·11; | 24 | ····public·static·final·int·EVENT_MANUAL_CONNECT·=·11; |
| 25 | ····public·static·final·int·EVENT_TOGGLE_WIFI_OFF·=·10; | 25 | ····public·static·final·int·EVENT_TOGGLE_WIFI_OFF·=·10; |
| 26 | ····public·static·final·int·EVENT_TOGGLE_WIFI_ON·=·9; | 26 | ····public·static·final·int·EVENT_TOGGLE_WIFI_ON·=·9; |
| 27 | ····public·static·final·int·EVENT_UNKNOWN; | 27 | ····public·static·final·int·EVENT_UNKNOWN; |
| 28 | ····private·static·volatile·WifiMetricsProto$UserActionEvent[]·_emptyArray; | 28 | ····private·static·volatile·WifiMetricsProto$UserActionEvent[]·_emptyArray; |
| 29 | ····public·int·eventType; | 29 | ····public·int·eventType; |
|  | 30 | ····public·WifiMetricsProto$NetworkDisableReason·networkDisableReason; | |
| 30 | ····public·long·startTimeMillis; | 31 | ····public·long·startTimeMillis; |
| 31 | ····public·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo; | 32 | ····public·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo; |
|  | 33 | ····public·WifiMetricsProto$WifiStatus·wifiStatus; | |
| 32 | ···· | 34 | ···· |
| 33 | ····public·WifiMetricsProto$UserActionEvent()·{ | 35 | ····public·WifiMetricsProto$UserActionEvent()·{ |
| 34 | ········this.clear(); | 36 | ········this.clear(); |
| 35 | ····} | 37 | ····} |
| 36 | ···· | 38 | ···· |
| 37 | ····public·static·WifiMetricsProto$UserActionEvent[]·emptyArray()·{ | 39 | ····public·static·WifiMetricsProto$UserActionEvent[]·emptyArray()·{ |
| 38 | ········if·(WifiMetricsProto$UserActionEvent._emptyArray·==·null)·{ | 40 | ········if·(WifiMetricsProto$UserActionEvent._emptyArray·==·null)·{ |
| Offset 53, 14 lines modified | Offset 55, 16 lines modified | ||
| 53 | ········return·(WifiMetricsProto$UserActionEvent)MessageNano.mergeFrom((MessageNano)new·WifiMetricsProto$UserActionEvent(),·array); | 55 | ········return·(WifiMetricsProto$UserActionEvent)MessageNano.mergeFrom((MessageNano)new·WifiMetricsProto$UserActionEvent(),·array); |
| 54 | ····} | 56 | ····} |
| 55 | ···· | 57 | ···· |
| 56 | ····public·WifiMetricsProto$UserActionEvent·clear()·{ | 58 | ····public·WifiMetricsProto$UserActionEvent·clear()·{ |
| 57 | ········this.eventType·=·0; | 59 | ········this.eventType·=·0; |
| 58 | ········this.startTimeMillis·=·0L; | 60 | ········this.startTimeMillis·=·0L; |
| 59 | ········this.targetNetworkInfo·=·null; | 61 | ········this.targetNetworkInfo·=·null; |
|  | 62 | ········this.wifiStatus·=·null; | |
|  | 63 | ········this.networkDisableReason·=·null; | |
| 60 | ········super.cachedSize·=·-1; | 64 | ········super.cachedSize·=·-1; |
| 61 | ········return·this; | 65 | ········return·this; |
| 62 | ····} | 66 | ····} |
| 63 | ···· | 67 | ···· |
| 64 | ····protected·int·computeSerializedSize()·{ | 68 | ····protected·int·computeSerializedSize()·{ |
| 65 | ········int·computeSerializedSize·=·super.computeSerializedSize(); | 69 | ········int·computeSerializedSize·=·super.computeSerializedSize(); |
| 66 | ········final·int·eventType·=·this.eventType; | 70 | ········final·int·eventType·=·this.eventType; |
| Offset 71, 30 lines modified | Offset 75, 54 lines modified | ||
| 71 | ········if·(startTimeMillis·!=·0L)·{ | 75 | ········if·(startTimeMillis·!=·0L)·{ |
| 72 | ············computeSerializedSize·+=·CodedOutputByteBufferNano.computeInt64Size(2,·startTimeMillis); | 76 | ············computeSerializedSize·+=·CodedOutputByteBufferNano.computeInt64Size(2,·startTimeMillis); |
| 73 | ········} | 77 | ········} |
| 74 | ········final·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo·=·this.targetNetworkInfo; | 78 | ········final·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo·=·this.targetNetworkInfo; |
| 75 | ········if·(targetNetworkInfo·!=·null)·{ | 79 | ········if·(targetNetworkInfo·!=·null)·{ |
| 76 | ············computeSerializedSize·+=·CodedOutputByteBufferNano.computeMessageSize(3,·(MessageNano)targetNetworkInfo); | 80 | ············computeSerializedSize·+=·CodedOutputByteBufferNano.computeMessageSize(3,·(MessageNano)targetNetworkInfo); |
| 77 | ········} | 81 | ········} |
|  | 82 | ········final·WifiMetricsProto$WifiStatus·wifiStatus·=·this.wifiStatus; | |
|  | 83 | ········if·(wifiStatus·!=·null)·{ | |
|  | 84 | ············computeSerializedSize·+=·CodedOutputByteBufferNano.computeMessageSize(4,·(MessageNano)wifiStatus); | |
|  | 85 | ········} | |
|  | 86 | ········final·WifiMetricsProto$NetworkDisableReason·networkDisableReason·=·this.networkDisableReason; | |
|  | 87 | ········if·(networkDisableReason·!=·null)·{ | |
|  | 88 | ············computeSerializedSize·+=·CodedOutputByteBufferNano.computeMessageSize(5,·(MessageNano)networkDisableReason); | |
|  | 89 | ········} | |
| 78 | ········return·computeSerializedSize; | 90 | ········return·computeSerializedSize; |
| 79 | ····} | 91 | ····} |
| 80 | ···· | 92 | ···· |
| 81 | ····public·WifiMetricsProto$UserActionEvent·mergeFrom(final·CodedInputByteBufferNano·codedInputByteBufferNano)·{ | 93 | ····public·WifiMetricsProto$UserActionEvent·mergeFrom(final·CodedInputByteBufferNano·codedInputByteBufferNano)·{ |
| 82 | ········while·(true)·{ | 94 | ········while·(true)·{ |
| 83 | ············final·int·tag·=·codedInputByteBufferNano.readTag(); | 95 | ············final·int·tag·=·codedInputByteBufferNano.readTag(); |
| 84 | ············if·(tag·==·0)·{ | 96 | ············if·(tag·==·0)·{ |
| 85 | ················return·this; | 97 | ················return·this; |
| 86 | ············} | 98 | ············} |
| 87 | ············if·(tag·!=·8)·{ | 99 | ············if·(tag·!=·8)·{ |
| 88 | ················if·(tag·!=·16)·{ | 100 | ················if·(tag·!=·16)·{ |
| 89 | ····················if·(tag·!=·26)·{ | 101 | ····················if·(tag·!=·26)·{ |
| 90 | ························if·( | 102 | ························if·(tag·!=·34)·{ |
| 91 | ···························· | 103 | ····························if·(tag·!=·42)·{ |
|  | 104 | ································if·(!WireFormatNano.parseUnknownField(codedInputByteBufferNano,·tag))·{ | |
|  | 105 | ····································return·this; | |
|  | 106 | ································} | |
|  | 107 | ································continue; | |
|  | 108 | ····························} | |
|  | 109 | ····························else·{ | |
|  | 110 | ································if·(this.networkDisableReason·==·null)·{ | |
|  | 111 | ····································this.networkDisableReason·=·new·WifiMetricsProto$NetworkDisableReason(); | |
|  | 112 | ································} | |
|  | 113 | ································codedInputByteBufferNano.readMessage((MessageNano)this.networkDisableReason); | |
|  | 114 | ····························} | |
|  | 115 | ························} | |
|  | 116 | ························else·{ | |
|  | 117 | ····························if·(this.wifiStatus·==·null)·{ | |
|  | 118 | ································this.wifiStatus·=·new·WifiMetricsProto$WifiStatus(); | |
|  | 119 | ····························} | |
|  | 120 | ····························codedInputByteBufferNano.readMessage((MessageNano)this.wifiStatus); | |
| 92 | ························} | 121 | ························} |
| 93 | ························continue; |  | |
| 94 | ····················} | 122 | ····················} |
| 95 | ····················else·{ | 123 | ····················else·{ |
| 96 | ························if·(this.targetNetworkInfo·==·null)·{ | 124 | ························if·(this.targetNetworkInfo·==·null)·{ |
| 97 | ····························this.targetNetworkInfo·=·new·WifiMetricsProto$TargetNetworkInfo(); | 125 | ····························this.targetNetworkInfo·=·new·WifiMetricsProto$TargetNetworkInfo(); |
| 98 | ························} | 126 | ························} |
| 99 | ························codedInputByteBufferNano.readMessage((MessageNano)this.targetNetworkInfo); | 127 | ························codedInputByteBufferNano.readMessage((MessageNano)this.targetNetworkInfo); |
| 100 | ····················} | 128 | ····················} |
| Offset 142, 10 lines modified | Offset 170, 18 lines modified | ||
| 142 | ········if·(startTimeMillis·!=·0L)·{ | 170 | ········if·(startTimeMillis·!=·0L)·{ |
| 143 | ············codedOutputByteBufferNano.writeInt64(2,·startTimeMillis); | 171 | ············codedOutputByteBufferNano.writeInt64(2,·startTimeMillis); |
| 144 | ········} | 172 | ········} |
| 145 | ········final·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo·=·this.targetNetworkInfo; | 173 | ········final·WifiMetricsProto$TargetNetworkInfo·targetNetworkInfo·=·this.targetNetworkInfo; |
| 146 | ········if·(targetNetworkInfo·!=·null)·{ | 174 | ········if·(targetNetworkInfo·!=·null)·{ |
| 147 | ············codedOutputByteBufferNano.writeMessage(3,·(MessageNano)targetNetworkInfo); | 175 | ············codedOutputByteBufferNano.writeMessage(3,·(MessageNano)targetNetworkInfo); |
| 148 | ········} | 176 | ········} |
|  | 177 | ········final·WifiMetricsProto$WifiStatus·wifiStatus·=·this.wifiStatus; | |
|  | 178 | ········if·(wifiStatus·!=·null)·{ | |
|  | 179 | ············codedOutputByteBufferNano.writeMessage(4,·(MessageNano)wifiStatus); | |
|  | 180 | ········} | |
|  | 181 | ········final·WifiMetricsProto$NetworkDisableReason·networkDisableReason·=·this.networkDisableReason; | |
|  | 182 | ········if·(networkDisableReason·!=·null)·{ | |
|  | 183 | ············codedOutputByteBufferNano.writeMessage(5,·(MessageNano)networkDisableReason); | |
|  | 184 | ········} | |
| 149 | ········super.writeTo(codedOutputByteBufferNano); | 185 | ········super.writeTo(codedOutputByteBufferNano); |
| 150 | ····} | 186 | ····} |
| 151 | } | 187 | } |
| Offset 12, 15 lines modified | Offset 12, 15 lines modified | ||
| 12 | import·android.net.wifi.WifiScanner$ChannelSpec; | 12 | import·android.net.wifi.WifiScanner$ChannelSpec; |
| Â | Â | ||
| 13 | public·class·KnownBandsChannelHelper·extends·ChannelHelper | 13 | public·class·KnownBandsChannelHelper·extends·ChannelHelper |
| 14 | { | 14 | { |
| 15 | ····public·static·final·int·BAND_5_GHZ_HIGH_END_FREQ·=·5865; | 15 | ····public·static·final·int·BAND_5_GHZ_HIGH_END_FREQ·=·5865; |
| 16 | ····public·static·final·int·BAND_5_GHZ_LOW_END_FREQ·=·5240; | 16 | ····public·static·final·int·BAND_5_GHZ_LOW_END_FREQ·=·5240; |
| 17 | ····public·static·final·int·BAND_5_GHZ_MID_END_FREQ·=·5710; | 17 | ····public·static·final·int·BAND_5_GHZ_MID_END_FREQ·=·5710; |
| 18 | ····public·static·final·int·BAND_6_GHZ_HIGH_END_FREQ·=·71 | 18 | ····public·static·final·int·BAND_6_GHZ_HIGH_END_FREQ·=·7115; |
| 19 | ····public·static·final·int·BAND_6_GHZ_LOW_END_FREQ·=·6425; | 19 | ····public·static·final·int·BAND_6_GHZ_LOW_END_FREQ·=·6425; |
| 20 | ····public·static·final·int·BAND_6_GHZ_MID_END_FREQ·=·6875; | 20 | ····public·static·final·int·BAND_6_GHZ_MID_END_FREQ·=·6875; |
| 21 | ····private·WifiScanner$ChannelSpec[][]·mBandsToChannels; | 21 | ····private·WifiScanner$ChannelSpec[][]·mBandsToChannels; |
| 22 | ···· | 22 | ···· |
| 23 | ····private·static·void·copyChannels(final·WifiScanner$ChannelSpec[]·array,·final·int[]·array2)·{ | 23 | ····private·static·void·copyChannels(final·WifiScanner$ChannelSpec[]·array,·final·int[]·array2)·{ |
| 24 | ········for·(int·i·=·0;·i·<·array2.length;·++i)·{ | 24 | ········for·(int·i·=·0;·i·<·array2.length;·++i)·{ |
| 25 | ············array[i]·=·new·WifiScanner$ChannelSpec(array2[i]); | 25 | ············array[i]·=·new·WifiScanner$ChannelSpec(array2[i]); |
| Offset 31, 109 lines modified | Offset 31, 109 lines modified | ||
| 31 | ····ClientModeImpl$ConnectModeState(final·ClientModeImpl·this$0)·{ | 31 | ····ClientModeImpl$ConnectModeState(final·ClientModeImpl·this$0)·{ |
| 32 | ········this.this$0·=·this$0; | 32 | ········this.this$0·=·this$0; |
| 33 | ····} | 33 | ····} |
| 34 | ···· | 34 | ···· |
| 35 | ····public·void·enter()·{ | 35 | ····public·void·enter()·{ |
| 36 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 36 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 37 | ········sb.append("entering·ConnectModeState:·ifaceName·=·"); | 37 | ········sb.append("entering·ConnectModeState:·ifaceName·=·"); |
| 38 | ········sb.append(ClientModeImpl.access$2 | 38 | ········sb.append(ClientModeImpl.access$2400(this.this$0)); |
| 39 | ········Log.d("WifiClientModeImpl",·sb.toString()); | 39 | ········Log.d("WifiClientModeImpl",·sb.toString()); |
| 40 | ········final·ClientModeImpl·this$0·=·this.this$0; | 40 | ········final·ClientModeImpl·this$0·=·this.this$0; |
| 41 | ········final·int·wifiEnabled·=·1; | 41 | ········final·int·wifiEnabled·=·1; |
| 42 | ········ClientModeImpl.access$3 | 42 | ········ClientModeImpl.access$3502(this$0,·wifiEnabled); |
| 43 | ········ClientModeImpl.access$3 | 43 | ········ClientModeImpl.access$3600(this.this$0); |
| 44 | ········if·(!ClientModeImpl.access$600(this.this$0).removeAllNetworks(ClientModeImpl.access$2 | 44 | ········if·(!ClientModeImpl.access$600(this.this$0).removeAllNetworks(ClientModeImpl.access$2400(this.this$0)))·{ |
| 45 | ············this.this$0.loge("Failed·to·remove·networks·on·entering·connect·mode"); | 45 | ············this.this$0.loge("Failed·to·remove·networks·on·entering·connect·mode"); |
| 46 | ········} | 46 | ········} |
| 47 | ········ClientModeImpl.access$ | 47 | ········ClientModeImpl.access$800(this.this$0).reset(); |
| 48 | ········ClientModeImpl.access$ | 48 | ········ClientModeImpl.access$800(this.this$0).setSupplicantState(SupplicantState.DISCONNECTED); |
| 49 | ········ClientModeImpl.access$3 | 49 | ········ClientModeImpl.access$3700(this.this$0).getWakeupController().reset(); |
| 50 | ········ClientModeImpl.access$3 | 50 | ········ClientModeImpl.access$3800(this.this$0,·NetworkInfo$DetailedState.DISCONNECTED); |
| 51 | ········ClientModeImpl.access$1 | 51 | ········ClientModeImpl.access$1400(this.this$0).setWifiEnabled((boolean)(wifiEnabled·!=·0)); |
| 52 | ········ClientModeImpl.access$3 | 52 | ········ClientModeImpl.access$3900(this.this$0).setWifiState((boolean)(wifiEnabled·!=·0)); |
| 53 | ········ClientModeImpl.access$300(this.this$0).setWifiState(2); | 53 | ········ClientModeImpl.access$300(this.this$0).setWifiState(2); |
| 54 | ········ClientModeImpl.access$300(this.this$0).logStaEvent(18); | 54 | ········ClientModeImpl.access$300(this.this$0).logStaEvent(18); |
| 55 | ········ClientModeImpl.access$ | 55 | ········ClientModeImpl.access$4000(this.this$0).noteSupplicantStateChanged(ClientModeImpl.access$800(this.this$0)); |
| 56 | ········ClientModeImpl.access$4 | 56 | ········ClientModeImpl.access$4100(this.this$0).setWifiEnabled((boolean)(wifiEnabled·!=·0)); |
| 57 | ········ClientModeImpl.access$4 | 57 | ········ClientModeImpl.access$4200(this.this$0).init(); |
| 58 | ····} | 58 | ····} |
| 59 | ···· | 59 | ···· |
| 60 | ····public·void·exit()·{ | 60 | ····public·void·exit()·{ |
| 61 | ········ClientModeImpl.access$3 | 61 | ········ClientModeImpl.access$3502(this.this$0,·4); |
| 62 | ········ClientModeImpl.access$1 | 62 | ········ClientModeImpl.access$1400(this.this$0).setWifiEnabled(false); |
| 63 | ········ClientModeImpl.access$3 | 63 | ········ClientModeImpl.access$3900(this.this$0).setWifiState(false); |
| 64 | ········ClientModeImpl.access$300(this.this$0).setWifiState(1); | 64 | ········ClientModeImpl.access$300(this.this$0).setWifiState(1); |
| 65 | ········ClientModeImpl.access$300(this.this$0).logStaEvent(19); | 65 | ········ClientModeImpl.access$300(this.this$0).logStaEvent(19); |
| 66 | ········ClientModeImpl.access$ | 66 | ········ClientModeImpl.access$4000(this.this$0).noteWifiDisabled(ClientModeImpl.access$800(this.this$0)); |
| 67 | ········if·(!ClientModeImpl.access$600(this.this$0).removeAllNetworks(ClientModeImpl.access$2 | 67 | ········if·(!ClientModeImpl.access$600(this.this$0).removeAllNetworks(ClientModeImpl.access$2400(this.this$0)))·{ |
| 68 | ············this.this$0.loge("Failed·to·remove·networks·on·exiting·connect·mode"); | 68 | ············this.this$0.loge("Failed·to·remove·networks·on·exiting·connect·mode"); |
| 69 | ········} | 69 | ········} |
| 70 | ········ClientModeImpl.access$ | 70 | ········ClientModeImpl.access$800(this.this$0).reset(); |
| 71 | ········ClientModeImpl.access$ | 71 | ········ClientModeImpl.access$800(this.this$0).setSupplicantState(SupplicantState.DISCONNECTED); |
| 72 | ········ClientModeImpl.access$ | 72 | ········ClientModeImpl.access$4000(this.this$0).noteSupplicantStateChanged(ClientModeImpl.access$800(this.this$0)); |
| 73 | ········ClientModeImpl.access$4 | 73 | ········ClientModeImpl.access$4100(this.this$0).setWifiEnabled(false); |
| 74 | ········ClientModeImpl.access$4 | 74 | ········ClientModeImpl.access$4200(this.this$0).reset(); |
| 75 | ········ClientModeImpl.access$4 | 75 | ········ClientModeImpl.access$4300(this.this$0); |
| 76 | ····} | 76 | ····} |
| 77 | ···· | 77 | ···· |
| 78 | ····public·boolean·processMessage(final·Message·message)·{ | 78 | ····public·boolean·processMessage(final·Message·message)·{ |
| 79 | ········final·int·what·=·message.what; | 79 | ········final·int·what·=·message.what; |
| 80 | ········final·int·n·=·-1; | 80 | ········final·int·n·=·-1; |
| 81 | ········final·String·s·=·"any"; | 81 | ········final·String·s·=·"any"; |
| 82 | ········final·int·n2·=·15; | 82 | ········final·int·n2·=·15; |
| 83 | ········int·n3·=·4; | 83 | ········int·n3·=·4; |
| 84 | ········int·n4·=·5; | 84 | ········int·n4·=·5; |
| 85 | ········final·String·s2·=·"WifiClientModeImpl"; | 85 | ········final·String·s2·=·"WifiClientModeImpl"; |
| 86 | ········int·n5·=·2; | 86 | ········int·n5·=·2; |
| 87 | ········int·access$8300·=·0; | 87 | ········int·access$8300·=·0; |
| 88 | ········final·int·n6·=·1; | 88 | ········final·int·n6·=·1; |
| 89 | ········Label_5 | 89 | ········Label_5313:·{ |
| 90 | ············switch·(what)·{ | 90 | ············switch·(what)·{ |
| 91 | ················default:·{ | 91 | ················default:·{ |
| 92 | ····················break·Label_5 | 92 | ····················break·Label_5313; |
| 93 | ················} | 93 | ················} |
| 94 | ················case·147527:·{ | 94 | ················case·147527:·{ |
| 95 | ····················ClientModeImpl.access$8200(this.this$0,·(MboOceController$BtmFrameData)message.obj); | 95 | ····················ClientModeImpl.access$8200(this.this$0,·(MboOceController$BtmFrameData)message.obj); |
| 96 | ····················break; | 96 | ····················break; |
| 97 | ················} | 97 | ················} |
| 98 | ················case·147517:·{ | 98 | ················case·147517:·{ |
| 99 | ····················ClientModeImpl.access$ | 99 | ····················ClientModeImpl.access$6000(this.this$0).receivedWnmFrame((WnmData)message.obj); |
| 100 | ····················break; | 100 | ····················break; |
| 101 | ················} | 101 | ················} |
| 102 | ················case·147509:·{ | 102 | ················case·147509:·{ |
| 103 | ····················ClientModeImpl.access$ | 103 | ····················ClientModeImpl.access$6000(this.this$0).notifyIconDone((IconEvent)message.obj); |
| 104 | ····················break; | 104 | ····················break; |
| 105 | ················} | 105 | ················} |
| 106 | ················case·147502:·{ | 106 | ················case·147502:·{ |
| 107 | ····················final·Object·obj·=·message.obj; | 107 | ····················final·Object·obj·=·message.obj; |
| 108 | ····················if·(obj·!=·null)·{ | 108 | ····················if·(obj·!=·null)·{ |
| 109 | ························ClientModeImpl.access$4 | 109 | ························ClientModeImpl.access$4602(this.this$0,·(String)obj); |
| 110 | ························break; | 110 | ························break; |
| 111 | ····················} | 111 | ····················} |
| 112 | ····················break; | 112 | ····················break; |
| 113 | ················} | 113 | ················} |
| 114 | ················case·147501:·{ | 114 | ················case·147501:·{ |
| 115 | ····················final·String·s3·=·(String)message.obj; | 115 | ····················final·String·s3·=·(String)message.obj; |
| 116 | ····················if·(s3·!=·null)·{ | 116 | ····················if·(s3·!=·null)·{ |
| 117 | ························final·ScanDetailCache·scanDetailCacheForNetwork·=·ClientModeImpl.access$4 | 117 | ························final·ScanDetailCache·scanDetailCacheForNetwork·=·ClientModeImpl.access$4700(this.this$0).getScanDetailCacheForNetwork(ClientModeImpl.access$400(this.this$0)); |
| 118 | ························if·(scanDetailCacheForNetwork·!=·null)·{ | 118 | ························if·(scanDetailCacheForNetwork·!=·null)·{ |
| 119 | ····························ClientModeImpl.access$300(this.this$0).setConnectionScanDetail(scanDetailCacheForNetwork.getScanDetail(s3)); | 119 | ····························ClientModeImpl.access$300(this.this$0).setConnectionScanDetail(scanDetailCacheForNetwork.getScanDetail(s3)); |
| 120 | ························} | 120 | ························} |
| 121 | ························ClientModeImpl.access$5 | 121 | ························ClientModeImpl.access$5402(this.this$0,·s3); |
| 122 | ····················} | 122 | ····················} |
| 123 | ····················break·Label_5 | 123 | ····················break·Label_5313; |
| 124 | ················} | 124 | ················} |
| 125 | ················case·147500:·{ | 125 | ················case·147500:·{ |
| 126 | ····················ClientModeImpl.access$ | 126 | ····················ClientModeImpl.access$6000(this.this$0).notifyANQPDone((AnqpEvent)message.obj); |
| 127 | ····················break; | 127 | ····················break; |
| 128 | ················} | 128 | ················} |
| 129 | ················case·147499:·{ | 129 | ················case·147499:·{ |
| 130 | ····················ClientModeImpl.access$4 | 130 | ····················ClientModeImpl.access$4400(this.this$0); |
| 131 | ····················ClientModeImpl.access$3 | 131 | ····················ClientModeImpl.access$3300(this.this$0).captureBugReportData(n6); |
| 132 | ····················ClientModeImpl.access$4 | 132 | ····················ClientModeImpl.access$4502(this.this$0,·false); |
| 133 | ····················String·access$8301·=·(String)message.obj; | 133 | ····················String·access$8301·=·(String)message.obj; |
| 134 | ····················int·n7; | 134 | ····················int·n7; |
| 135 | ····················if·(message.arg1·>·0)·{ | 135 | ····················if·(message.arg1·>·0)·{ |
| 136 | ························n7·=·n6; | 136 | ························n7·=·n6; |
| 137 | ····················} | 137 | ····················} |
| 138 | ····················else·{ | 138 | ····················else·{ |
| 139 | ························n7·=·0; | 139 | ························n7·=·0; |
| Offset 144, 34 lines modified | Offset 144, 34 lines modified | ||
| 144 | ····················sb.append(access$8301); | 144 | ····················sb.append(access$8301); |
| 145 | ····················sb.append("·reason·code="); | 145 | ····················sb.append("·reason·code="); |
| 146 | ····················sb.append(arg2); | 146 | ····················sb.append(arg2); |
| 147 | ····················sb.append("·timedOut="); | 147 | ····················sb.append("·timedOut="); |
| 148 | ····················sb.append(Boolean.toString((boolean)(n7·!=·0))); | 148 | ····················sb.append(Boolean.toString((boolean)(n7·!=·0))); |
| 149 | ····················Log.d(s2,·sb.toString()); | 149 | ····················Log.d(s2,·sb.toString()); |
| 150 | ····················if·(access$8301·!=·null·&&·!TextUtils.isEmpty((CharSequence)access$8301))·{ | 150 | ····················if·(access$8301·!=·null·&&·!TextUtils.isEmpty((CharSequence)access$8301))·{ |
| 151 | ························if·(ClientModeImpl.access$4 | 151 | ························if·(ClientModeImpl.access$4600(this.this$0)·==·s)·{ |
| 152 | ····························ClientModeImpl.access$4 | 152 | ····························ClientModeImpl.access$4602(this.this$0,·access$8301); |
| 153 | ························} | 153 | ························} |
| 154 | ····················} | 154 | ····················} |
| 155 | ····················else·{ | 155 | ····················else·{ |
| 156 | ························access$8301·=·ClientModeImpl.access$4 | 156 | ························access$8301·=·ClientModeImpl.access$4600(this.this$0); |
| 157 | ····················} | 157 | ····················} |
| 158 | ····················ClientModeImpl.access$4 | 158 | ····················ClientModeImpl.access$4700(this.this$0).updateNetworkSelectionStatus(ClientModeImpl.access$400(this.this$0),·n6); |
| 159 | ····················ClientModeImpl.access$4 | 159 | ····················ClientModeImpl.access$4700(this.this$0).setRecentFailureAssociationStatus(ClientModeImpl.access$400(this.this$0),·arg2); |
| 160 | ····················final·int·n8·=·17; | 160 | ····················final·int·n8·=·17; |
| ... Open expanded diff ... | |||
| Offset 16, 97 lines modified | Offset 16, 97 lines modified | ||
| 16 | ····final·/*·synthetic·*/·ClientModeImpl·this$0; | 16 | ····final·/*·synthetic·*/·ClientModeImpl·this$0; |
| 17 | ···· | 17 | ···· |
| 18 | ····ClientModeImpl$ConnectedState(final·ClientModeImpl·this$0)·{ | 18 | ····ClientModeImpl$ConnectedState(final·ClientModeImpl·this$0)·{ |
| 19 | ········this.this$0·=·this$0; | 19 | ········this.this$0·=·this$0; |
| 20 | ····} | 20 | ····} |
| 21 | ···· | 21 | ···· |
| 22 | ····public·void·enter()·{ | 22 | ····public·void·enter()·{ |
| 23 | ········if·(ClientModeImpl.access$ | 23 | ········if·(ClientModeImpl.access$900(this.this$0))·{ |
| 24 | ············final·ClientModeImpl·this$0·=·this.this$0; | 24 | ············final·ClientModeImpl·this$0·=·this.this$0; |
| 25 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 25 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 26 | ············sb.append("Enter·ConnectedState··mScreenOn="); | 26 | ············sb.append("Enter·ConnectedState··mScreenOn="); |
| 27 | ············sb.append(ClientModeImpl.access$11400(this.this$0)); | 27 | ············sb.append(ClientModeImpl.access$11400(this.this$0)); |
| 28 | ············this$0.log(sb.toString()); | 28 | ············this$0.log(sb.toString()); |
| 29 | ········} | 29 | ········} |
| 30 | ········final·ClientModeImpl·this$2·=·this.this$0; | 30 | ········final·ClientModeImpl·this$2·=·this.this$0; |
| 31 | ········final·int·n·=·1; | 31 | ········final·int·n·=·1; |
| 32 | ········ClientModeImpl.access$4 | 32 | ········ClientModeImpl.access$4800(this$2,·n,·n,·0); |
| 33 | ········ClientModeImpl.access$1 | 33 | ········ClientModeImpl.access$1400(this.this$0).handleConnectionStateChanged(n); |
| 34 | ········this.this$0.registerConnected(); | 34 | ········this.this$0.registerConnected(); |
| 35 | ········final·ClientModeImpl·this$3·=·this.this$0; | 35 | ········final·ClientModeImpl·this$3·=·this.this$0; |
| 36 | ········final·long·n2·=·0L; | 36 | ········final·long·n2·=·0L; |
| 37 | ········ClientModeImpl.access$6 | 37 | ········ClientModeImpl.access$6102(this$3,·n2); |
| 38 | ········ClientModeImpl.access$5 | 38 | ········ClientModeImpl.access$5802(this.this$0,·(WifiConfiguration)null); |
| 39 | ········ClientModeImpl.access$1 | 39 | ········ClientModeImpl.access$1700(this.this$0).reset(); |
| 40 | ········final·ClientModeImpl·this$4·=·this.this$0; | 40 | ········final·ClientModeImpl·this$4·=·this.this$0; |
| 41 | ········final·int·n3·=·-1; | 41 | ········final·int·n3·=·-1; |
| 42 | ········ClientModeImpl.access$10802(this$4,·n3); | 42 | ········ClientModeImpl.access$10802(this$4,·n3); |
| 43 | ········ClientModeImpl.access$6 | 43 | ········ClientModeImpl.access$6602(this.this$0,·false); |
| 44 | ········ClientModeImpl.access$11702(this.this$0,·n2); | 44 | ········ClientModeImpl.access$11702(this.this$0,·n2); |
| 45 | ········ClientModeImpl.access$402(this.this$0,·n3); | 45 | ········ClientModeImpl.access$402(this.this$0,·n3); |
| 46 | ········ClientModeImpl.access$3 | 46 | ········ClientModeImpl.access$3700(this.this$0).getWifiLastResortWatchdog().connectedStateTransition((boolean)(n·!=·0)); |
| 47 | ········ClientModeImpl.access$9100(this.this$0).updateState(3); | 47 | ········ClientModeImpl.access$9100(this.this$0).updateState(3); |
| 48 | ········ClientModeImpl.access$3 | 48 | ········ClientModeImpl.access$3700(this.this$0).getWifiLockManager().updateWifiClientConnected((boolean)(n·!=·0)); |
| 49 | ········ClientModeImpl.access$1 | 49 | ········ClientModeImpl.access$1700(this.this$0).startConnectedNetworkScorer(((NetworkAgent)ClientModeImpl.access$3200(this.this$0)).getNetwork().getNetId()); |
| 50 | ········this.this$0.updateLinkLayerStatsRssiAndScoreReport(); | 50 | ········this.this$0.updateLinkLayerStatsRssiAndScoreReport(); |
| 51 | ····} | 51 | ····} |
| 52 | ···· | 52 | ···· |
| 53 | ····public·void·exit()·{ | 53 | ····public·void·exit()·{ |
| 54 | ········this.this$0.logd("ClientModeImpl:·Leaving·Connected·state"); | 54 | ········this.this$0.logd("ClientModeImpl:·Leaving·Connected·state"); |
| 55 | ········ClientModeImpl.access$1 | 55 | ········ClientModeImpl.access$1400(this.this$0).handleConnectionStateChanged(3); |
| 56 | ········ClientModeImpl.access$11702(this.this$0,·0L); | 56 | ········ClientModeImpl.access$11702(this.this$0,·0L); |
| 57 | ········ClientModeImpl.access$3 | 57 | ········ClientModeImpl.access$3700(this.this$0).getWifiLastResortWatchdog().connectedStateTransition(false); |
| 58 | ····} | 58 | ····} |
| 59 | ···· | 59 | ···· |
| 60 | ····public·boolean·processMessage(final·Message·message)·{ | 60 | ····public·boolean·processMessage(final·Message·message)·{ |
| 61 | ········final·int·what·=·message.what; | 61 | ········final·int·what·=·message.what; |
| 62 | ········final·int·n·=·5; | 62 | ········final·int·n·=·5; |
| 63 | ········final·int·n2·=·131324; | 63 | ········final·int·n2·=·131324; |
| 64 | ········final·int·n3·=·3; | 64 | ········final·int·n3·=·3; |
| 65 | ········final·int·n4·=·6; | 65 | ········final·int·n4·=·6; |
| 66 | ········final·long·n5·=·0L; | 66 | ········final·long·n5·=·0L; |
| 67 | ········byte·b·=·0; | 67 | ········byte·b·=·0; |
| 68 | ········final·byte·b2·=·1; | 68 | ········final·byte·b2·=·1; |
| 69 | ········Label_1 | 69 | ········Label_1746:·{ |
| 70 | ············switch·(what)·{ | 70 | ············switch·(what)·{ |
| 71 | ················default:·{ | 71 | ················default:·{ |
| 72 | ····················break·Label_1 | 72 | ····················break·Label_1746; |
| 73 | ················} | 73 | ················} |
| 74 | ················case·147501:·{ | 74 | ················case·147501:·{ |
| 75 | ····················final·ClientModeImpl·this$0·=·this.this$0; | 75 | ····················final·ClientModeImpl·this$0·=·this.this$0; |
| 76 | ····················ClientModeImpl.access$11702(this$0,·ClientModeImpl.access$6 | 76 | ····················ClientModeImpl.access$11702(this$0,·ClientModeImpl.access$6200(this$0).getWallClockMillis()); |
| 77 | ····················break·Label_1 | 77 | ····················break·Label_1746; |
| 78 | ················} | 78 | ················} |
| 79 | ················case·147460:·{ | 79 | ················case·147460:·{ |
| 80 | ····················ClientModeImpl.access$4 | 80 | ····················ClientModeImpl.access$4800(this.this$0,·n4,·(int)b2,·0); |
| 81 | ····················if·(ClientModeImpl.access$11700(this.this$0)·!=·n5)·{ | 81 | ····················if·(ClientModeImpl.access$11700(this.this$0)·!=·n5)·{ |
| 82 | ························ClientModeImpl.access$6 | 82 | ························ClientModeImpl.access$6200(this.this$0).getWallClockMillis(); |
| 83 | ························ClientModeImpl.access$11700(this.this$0); | 83 | ························ClientModeImpl.access$11700(this.this$0); |
| 84 | ························ClientModeImpl.access$11702(this.this$0,·n5); | 84 | ························ClientModeImpl.access$11702(this.this$0,·n5); |
| 85 | ····················} | 85 | ····················} |
| 86 | ····················if·(ClientModeImpl.unexpectedDisconnectedReason(message.arg2))·{ | 86 | ····················if·(ClientModeImpl.unexpectedDisconnectedReason(message.arg2))·{ |
| 87 | ························ClientModeImpl.access$3 | 87 | ························ClientModeImpl.access$3300(this.this$0).captureBugReportData(n); |
| 88 | ····················} | 88 | ····················} |
| 89 | ····················if·(message.arg1· | 89 | ····················if·(message.arg1·==·b2)·{ |
| 90 | ························ | 90 | ························b·=·b2; |
| 91 | ···················· | 91 | ····················} |
| 92 | ···················· | 92 | ····················if·(b·==·0)·{ |
| 93 | ························ | 93 | ························ClientModeImpl.access$4000(this.this$0).noteNonlocalDisconnect(message.arg2); |
| 94 | ························ClientModeImpl.access$ | 94 | ························ClientModeImpl.access$700(this.this$0).handleBssidConnectionFailure(((WifiInfo)ClientModeImpl.access$800(this.this$0)).getBSSID(),·((WifiInfo)ClientModeImpl.access$800(this.this$0)).getSSID(),·8,·((WifiInfo)ClientModeImpl.access$800(this.this$0)).getRssi()); |
| 95 | ····················} | 95 | ····················} |
| 96 | ····················final·WifiConfiguration·currentWifiConfiguration·=·this.this$0.getCurrentWifiConfiguration(); | 96 | ····················final·WifiConfiguration·currentWifiConfiguration·=·this.this$0.getCurrentWifiConfiguration(); |
| 97 | ····················if·(ClientModeImpl.access$ | 97 | ····················if·(ClientModeImpl.access$900(this.this$0))·{ |
| 98 | ························final·ClientModeImpl·this$2·=·this.this$0; | 98 | ························final·ClientModeImpl·this$2·=·this.this$0; |
| 99 | ························final·StringBuilder·sb·=·new·StringBuilder(); | 99 | ························final·StringBuilder·sb·=·new·StringBuilder(); |
| 100 | ························sb.append("NETWORK_DISCONNECTION_EVENT·in·connected·state·BSSID="); | 100 | ························sb.append("NETWORK_DISCONNECTION_EVENT·in·connected·state·BSSID="); |
| 101 | ························sb.append(((WifiInfo)ClientModeImpl.access$ | 101 | ························sb.append(((WifiInfo)ClientModeImpl.access$800(this.this$0)).getBSSID()); |
| 102 | ························sb.append("·RSSI="); | 102 | ························sb.append("·RSSI="); |
| 103 | ························sb.append(((WifiInfo)ClientModeImpl.access$ | 103 | ························sb.append(((WifiInfo)ClientModeImpl.access$800(this.this$0)).getRssi()); |
| 104 | ························sb.append("·freq="); | 104 | ························sb.append("·freq="); |
| 105 | ························sb.append(((WifiInfo)ClientModeImpl.access$ | 105 | ························sb.append(((WifiInfo)ClientModeImpl.access$800(this.this$0)).getFrequency()); |
| 106 | ························sb.append("·reason="); | 106 | ························sb.append("·reason="); |
| 107 | ························sb.append(message.arg2); | 107 | ························sb.append(message.arg2); |
| 108 | ························sb.append("·Network·Selection·Status="); | 108 | ························sb.append("·Network·Selection·Status="); |
| 109 | ························String·networkStatusString; | 109 | ························String·networkStatusString; |
| 110 | ························if·(currentWifiConfiguration·==·null)·{ | 110 | ························if·(currentWifiConfiguration·==·null)·{ |
| 111 | ····························networkStatusString·=·"Unavailable"; | 111 | ····························networkStatusString·=·"Unavailable"; |
| 112 | ························} | 112 | ························} |
| Offset 117, 36 lines modified | Offset 117, 36 lines modified | ||
| 117 | ························this$2.log(sb.toString()); | 117 | ························this$2.log(sb.toString()); |
| 118 | ························break; | 118 | ························break; |
| 119 | ····················} | 119 | ····················} |
| 120 | ····················break; | 120 | ····················break; |
| 121 | ················} | 121 | ················} |
| 122 | ················case·131335:·{ | 122 | ················case·131335:·{ |
| 123 | ····················final·ClientModeImpl·this$3·=·this.this$0; | 123 | ····················final·ClientModeImpl·this$3·=·this.this$0; |
| 124 | ····················ClientModeImpl.access$2 | 124 | ····················ClientModeImpl.access$2500(this$3,·message,·what,·(Object)ClientModeImpl.access$11600(this$3)); |
| 125 | ····················break; | 125 | ····················break; |
| 126 | ················} | 126 | ················} |
| 127 | ················case·131225:·{ | 127 | ················case·131225:·{ |
| 128 | ····················if·(message.arg1·!=·0)·{ | 128 | ····················if·(message.arg1·!=·0)·{ |
| 129 | ························b·=·b2; | 129 | ························b·=·b2; |
| 130 | ····················} | 130 | ····················} |
| 131 | ····················ClientModeImpl.access$4 | 131 | ····················ClientModeImpl.access$4700(this.this$0).setNetworkNoInternetAccessExpected(ClientModeImpl.access$500(this.this$0),·(boolean)(b·!=·0)); |
| 132 | ····················break; | 132 | ····················break; |
| 133 | ················} | 133 | ················} |
| 134 | ················case·131220:·{ | 134 | ················case·131220:·{ |
| 135 | ····················if·(message.arg1·!=·b2)·{ | 135 | ····················if·(message.arg1·!=·b2)·{ |
| 136 | ························break; | 136 | ························break; |
| 137 | ····················} | 137 | ····················} |
| 138 | ····················ClientModeImpl.access$11900(this.this$0,·n2); | 138 | ····················ClientModeImpl.access$11900(this.this$0,·n2); |
| 139 | ····················ClientModeImpl.access$3 | 139 | ····················ClientModeImpl.access$3300(this.this$0).reportConnectionEvent(b2); |
| 140 | ····················ClientModeImpl.access$ | 140 | ····················ClientModeImpl.access$4000(this.this$0).noteValidationSuccess(ClientModeImpl.access$800(this.this$0)); |
| 141 | ····················ClientModeImpl.access$ | 141 | ····················ClientModeImpl.access$700(this.this$0).handleNetworkValidationSuccess(ClientModeImpl.access$5400(this.this$0),·((WifiInfo)ClientModeImpl.access$800(this.this$0)).getSSID()); |
| 142 | ····················final·WifiConfiguration·currentWifiConfiguration2·=·this.this$0.getCurrentWifiConfiguration(); | 142 | ····················final·WifiConfiguration·currentWifiConfiguration2·=·this.this$0.getCurrentWifiConfiguration(); |
| 143 | ····················if·(currentWifiConfiguration2·!=·null)·{ | 143 | ····················if·(currentWifiConfiguration2·!=·null)·{ |
| 144 | ························ClientModeImpl.access$4 | 144 | ························ClientModeImpl.access$4700(this.this$0).updateNetworkSelectionStatus(currentWifiConfiguration2.networkId,·0); |
| 145 | ························ClientModeImpl.access$4 | 145 | ························ClientModeImpl.access$4700(this.this$0).setNetworkValidatedInternetAccess(currentWifiConfiguration2.networkId,·(boolean)(b2·!=·0)); |
| ... Open expanded diff ... | |||
| Offset 28, 86 lines modified | Offset 28, 86 lines modified | ||
| 28 | ············switch·(what)·{ | 28 | ············switch·(what)·{ |
| 29 | ················default:·{ | 29 | ················default:·{ |
| 30 | ····················final·ClientModeImpl·this$0·=·this.this$0; | 30 | ····················final·ClientModeImpl·this$0·=·this.this$0; |
| 31 | ····················final·StringBuilder·sb·=·new·StringBuilder(); | 31 | ····················final·StringBuilder·sb·=·new·StringBuilder(); |
| 32 | ····················sb.append("Error!·unhandled·message"); | 32 | ····················sb.append("Error!·unhandled·message"); |
| 33 | ····················sb.append(message); | 33 | ····················sb.append(message); |
| 34 | ····················this$0.loge(sb.toString()); | 34 | ····················this$0.loge(sb.toString()); |
| 35 | ····················break·Label_17 | 35 | ····················break·Label_1732; |
| 36 | ················} | 36 | ················} |
| 37 | ················case·131280:·{ | 37 | ················case·131280:·{ |
| 38 | ····················final·byte[]·packetFilter·=·ClientModeImpl.access$600(this.this$0).readPacketFilter(ClientModeImpl.access$2 | 38 | ····················final·byte[]·packetFilter·=·ClientModeImpl.access$600(this.this$0).readPacketFilter(ClientModeImpl.access$2400(this.this$0)); |
| 39 | ····················if·(ClientModeImpl.access$200(this.this$0)·!=·null)·{ | 39 | ····················if·(ClientModeImpl.access$200(this.this$0)·!=·null)·{ |
| 40 | ························ClientModeImpl.access$200(this.this$0).readPacketFilterComplete(packetFilter); | 40 | ························ClientModeImpl.access$200(this.this$0).readPacketFilterComplete(packetFilter); |
| 41 | ····················} | 41 | ····················} |
| 42 | ····················break·Label_17 | 42 | ····················break·Label_1732; |
| 43 | ················} | 43 | ················} |
| 44 | ················case·131275:·{ | 44 | ················case·131275:·{ |
| 45 | ····················if·((boolean)message.obj)·{ | 45 | ····················if·((boolean)message.obj)·{ |
| 46 | ························ClientModeImpl.access$600(this.this$0).startFilteringMulticastV4Packets(ClientModeImpl.access$2 | 46 | ························ClientModeImpl.access$600(this.this$0).startFilteringMulticastV4Packets(ClientModeImpl.access$2400(this.this$0)); |
| 47 | ························break·Label_17 | 47 | ························break·Label_1732; |
| 48 | ····················} | 48 | ····················} |
| 49 | ····················ClientModeImpl.access$600(this.this$0).stopFilteringMulticastV4Packets(ClientModeImpl.access$2 | 49 | ····················ClientModeImpl.access$600(this.this$0).stopFilteringMulticastV4Packets(ClientModeImpl.access$2400(this.this$0)); |
| 50 | ····················break·Label_17 | 50 | ····················break·Label_1732; |
| 51 | ················} | 51 | ················} |
| 52 | ················case·131232: | 52 | ················case·131232: |
| 53 | ················case·131233: | 53 | ················case·131233: |
| 54 | ················case·131281: | 54 | ················case·131281: |
| 55 | ················case·131282:·{ | 55 | ················case·131282:·{ |
| 56 | ····················if·(ClientModeImpl.access$3 | 56 | ····················if·(ClientModeImpl.access$3200(this.this$0)·!=·null)·{ |
| 57 | ························((NetworkAgent)ClientModeImpl.access$3 | 57 | ························((NetworkAgent)ClientModeImpl.access$3200(this.this$0)).sendSocketKeepaliveEvent(message.arg1,·-20); |
| 58 | ····················} | 58 | ····················} |
| 59 | ····················break·Label_17 | 59 | ····················break·Label_1732; |
| 60 | ················} | 60 | ················} |
| 61 | ················case·131158:·{ | 61 | ················case·131158:·{ |
| 62 | ····················final·int·arg1·=·message.arg1; | 62 | ····················final·int·arg1·=·message.arg1; |
| 63 | ····················final·int·n3·=·4; | 63 | ····················final·int·n3·=·4; |
| 64 | ····················if·(arg1·==·(b2·?·1·:·0))·{ | 64 | ····················if·(arg1·==·(b2·?·1·:·0))·{ |
| 65 | ························if·(message.arg2·==·(b2·?·1·:·0))·{ | 65 | ························if·(message.arg2·==·(b2·?·1·:·0))·{ |
| 66 | ····························ClientModeImpl.access$2 | 66 | ····························ClientModeImpl.access$2100(this.this$0).release(); |
| 67 | ························} | 67 | ························} |
| 68 | ························ClientModeImpl.access$1 | 68 | ························ClientModeImpl.access$1600(this.this$0,·n3,·b2); |
| 69 | ························break·Label_17 | 69 | ························break·Label_1732; |
| 70 | ····················} | 70 | ····················} |
| 71 | ····················ClientModeImpl.access$1 | 71 | ····················ClientModeImpl.access$1600(this.this$0,·n3,·false); |
| 72 | ····················break·Label_17 | 72 | ····················break·Label_1732; |
| 73 | ················} | 73 | ················} |
| 74 | ················case·131149:·{ | 74 | ················case·131149:·{ |
| 75 | ····················if·(message.arg1·==·(b2·?·1·:·0))·{ | 75 | ····················if·(message.arg1·==·(b2·?·1·:·0))·{ |
| 76 | ························ClientModeImpl.access$1 | 76 | ························ClientModeImpl.access$1600(this.this$0,·n,·false); |
| 77 | ························break·Label_17 | 77 | ························break·Label_1732; |
| 78 | ····················} | 78 | ····················} |
| 79 | ····················ClientModeImpl.access$1 | 79 | ····················ClientModeImpl.access$1600(this.this$0,·n,·b2); |
| 80 | ····················break·Label_17 | 80 | ····················break·Label_1732; |
| 81 | ················} | 81 | ················} |
| 82 | ················case·69636:·{ | 82 | ················case·69636:·{ |
| 83 | ····················if·(message.obj·==·ClientModeImpl.access$1 | 83 | ····················if·(message.obj·==·ClientModeImpl.access$1100(this.this$0))·{ |
| 84 | ························final·ClientModeImpl·this$2·=·this.this$0; | 84 | ························final·ClientModeImpl·this$2·=·this.this$0; |
| 85 | ························final·StringBuilder·sb2·=·new·StringBuilder(); | 85 | ························final·StringBuilder·sb2·=·new·StringBuilder(); |
| 86 | ························sb2.append("WifiP2pService·channel·lost,·message.arg1·="); | 86 | ························sb2.append("WifiP2pService·channel·lost,·message.arg1·="); |
| 87 | ························sb2.append(message.arg1); | 87 | ························sb2.append(message.arg1); |
| 88 | ························this$2.loge(sb2.toString()); | 88 | ························this$2.loge(sb2.toString()); |
| 89 | ····················} | 89 | ····················} |
| 90 | ····················break·Label_17 | 90 | ····················break·Label_1732; |
| 91 | ················} | 91 | ················} |
| 92 | ················case·69632:·{ | 92 | ················case·69632:·{ |
| 93 | ····················if·(message.obj·!=·ClientModeImpl.access$1 | 93 | ····················if·(message.obj·!=·ClientModeImpl.access$1100(this.this$0))·{ |
| 94 | ························this.this$0.loge("got·HALF_CONNECTED·for·unknown·channel"); | 94 | ························this.this$0.loge("got·HALF_CONNECTED·for·unknown·channel"); |
| 95 | ························break·Label_17 | 95 | ························break·Label_1732; |
| 96 | ····················} | 96 | ····················} |
| 97 | ····················if·(message.arg1·==·0)·{ | 97 | ····················if·(message.arg1·==·0)·{ |
| 98 | ························ClientModeImpl.access$1 | 98 | ························ClientModeImpl.access$1200(this.this$0,·69633); |
| 99 | ························break·Label_17 | 99 | ························break·Label_1732; |
| 100 | ····················} | 100 | ····················} |
| 101 | ····················final·ClientModeImpl·this$3·=·this.this$0; | 101 | ····················final·ClientModeImpl·this$3·=·this.this$0; |
| 102 | ····················final·StringBuilder·sb3·=·new·StringBuilder(); | 102 | ····················final·StringBuilder·sb3·=·new·StringBuilder(); |
| 103 | ····················sb3.append("WifiP2pService·connection·failure,·error="); | 103 | ····················sb3.append("WifiP2pService·connection·failure,·error="); |
| 104 | ····················sb3.append(message.arg1); | 104 | ····················sb3.append(message.arg1); |
| 105 | ····················this$3.loge(sb3.toString()); | 105 | ····················this$3.loge(sb3.toString()); |
| 106 | ····················break·Label_17 | 106 | ····················break·Label_1732; |
| 107 | ················} | 107 | ················} |
| 108 | ················case·131144: | 108 | ················case·131144: |
| 109 | ················case·131145: | 109 | ················case·131145: |
| 110 | ················case·131146: | 110 | ················case·131146: |
| 111 | ················case·131147: | 111 | ················case·131147: |
| 112 | ················case·131155: | 112 | ················case·131155: |
| 113 | ················case·131156: | 113 | ················case·131156: |
| Offset 123, 131 lines modified | Offset 123, 130 lines modified | ||
| 123 | ················case·147460: | 123 | ················case·147460: |
| 124 | ················case·147462: | 124 | ················case·147462: |
| 125 | ················case·147463: | 125 | ················case·147463: |
| 126 | ················case·147471: | 126 | ················case·147471: |
| 127 | ················case·147472: | 127 | ················case·147472: |
| 128 | ················case·147499: | 128 | ················case·147499: |
| 129 | ················case·147501: | 129 | ················case·147501: |
| 130 | ················case·147502: | 130 | ················case·147502:·{ |
| 131 | ················ca | 131 | ····················ClientModeImpl.access$3400(this.this$0,·message,·(State)this); |
| 132 | ····················ClientModeImpl.access$3300(this.this$0,·message,·(State)this); |  | |
| 133 | ····················return·b2; | 132 | ····················return·b2; |
| 134 | ················} | 133 | ················} |
| 135 | ················case·143372:·{ | 134 | ················case·143372:·{ |
| 136 | ····················final·ClientModeImpl·this$4·=·this.this$0; | 135 | ····················final·ClientModeImpl·this$4·=·this.this$0; |
| 137 | ····················if·(message.arg1·==·(b2·?·1·:·0))·{ | 136 | ····················if·(message.arg1·==·(b2·?·1·:·0))·{ |
| 138 | ························b·=·b2; | 137 | ························b·=·b2; |
| 139 | ····················} | 138 | ····················} |
| 140 | ····················ClientModeImpl.access$2 | 139 | ····················ClientModeImpl.access$2702(this$4,·b); |
| 141 | ····················ClientModeImpl.access$2 | 140 | ····················ClientModeImpl.access$2800(this.this$0,·message,·143373); |
| 142 | ····················continue; | 141 | ····················continue; |
| 143 | ················} | 142 | ················} |
| 144 | ················case·143371:·{ | 143 | ················case·143371:·{ |
| 145 | ····················ClientModeImpl.access$2 | 144 | ····················ClientModeImpl.access$2600(this.this$0).set(((NetworkInfo)message.obj).isConnected()); |
| 146 | ····················continue; | 145 | ····················continue; |
| 147 | ················} | 146 | ················} |
| 148 | ················case·131331:·{ | 147 | ················case·131331:·{ |
| 149 | ····················ClientModeImpl.access$2 | 148 | ····················ClientModeImpl.access$2300(this.this$0,·message.arg2); |
| 150 | ····················continue; | 149 | ····················continue; |
| 151 | ················} | 150 | ················} |
| 152 | ················case·131330:·{ | 151 | ················case·131330:·{ |
| 153 | ····················ClientModeImpl.access$2 | 152 | ····················ClientModeImpl.access$2200(this.this$0,·message.arg2,·n); |
| 154 | ····················continue; | 153 | ····················continue; |
| 155 | ················} | 154 | ················} |
| 156 | ················case·131326:·{ | 155 | ················case·131326:·{ |
| 157 | ····················ClientModeImpl.access$ | 156 | ····················ClientModeImpl.access$3000(this.this$0,·message,·what,·0); |
| 158 | ····················continue; | 157 | ····················continue; |
| 159 | ················} | 158 | ················} |
| 160 | ················case·131324:·{ | 159 | ················case·131324:·{ |
| 161 | ····················ClientModeImpl.access$3 | 160 | ····················ClientModeImpl.access$3300(this.this$0).reportConnectionEvent((byte)3); |
| 162 | ····················continue; | 161 | ····················continue; |
| ... Open expanded diff ... | |||
| Offset 15, 119 lines modified | Offset 15, 120 lines modified | ||
| 15 | ···· | 15 | ···· |
| 16 | ····ClientModeImpl$DisconnectedState(final·ClientModeImpl·this$0)·{ | 16 | ····ClientModeImpl$DisconnectedState(final·ClientModeImpl·this$0)·{ |
| 17 | ········this.this$0·=·this$0; | 17 | ········this.this$0·=·this$0; |
| 18 | ····} | 18 | ····} |
| 19 | ···· | 19 | ···· |
| 20 | ····public·void·enter()·{ | 20 | ····public·void·enter()·{ |
| 21 | ········Log.i("WifiClientModeImpl",·"disconnectedstate·enter"); | 21 | ········Log.i("WifiClientModeImpl",·"disconnectedstate·enter"); |
| 22 | ········if·(ClientModeImpl.access$2 | 22 | ········if·(ClientModeImpl.access$2700(this.this$0))·{ |
| 23 | ············ClientModeImpl.access$1 | 23 | ············ClientModeImpl.access$1200(this.this$0,·143373); |
| 24 | ············return; | 24 | ············return; |
| 25 | ········} | 25 | ········} |
| 26 | ········if·(ClientModeImpl.access$ | 26 | ········if·(ClientModeImpl.access$900(this.this$0))·{ |
| 27 | ············final·ClientModeImpl·this$0·=·this.this$0; | 27 | ············final·ClientModeImpl·this$0·=·this.this$0; |
| 28 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 28 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 29 | ············sb.append("·Enter·DisconnectedState·screenOn="); | 29 | ············sb.append("·Enter·DisconnectedState·screenOn="); |
| 30 | ············sb.append(ClientModeImpl.access$11400(this.this$0)); | 30 | ············sb.append(ClientModeImpl.access$11400(this.this$0)); |
| 31 | ············this$0.logd(sb.toString()); | 31 | ············this$0.logd(sb.toString()); |
| 32 | ········} | 32 | ········} |
| 33 | ········ClientModeImpl.access$6 | 33 | ········ClientModeImpl.access$6602(this.this$0,·false); |
| 34 | ········ClientModeImpl.access$1 | 34 | ········ClientModeImpl.access$1400(this.this$0).handleConnectionStateChanged(2); |
| 35 | ····} | 35 | ····} |
| 36 | ···· | 36 | ···· |
| 37 | ····public·void·exit()·{ | 37 | ····public·void·exit()·{ |
| 38 | ········ClientModeImpl.access$1 | 38 | ········ClientModeImpl.access$1400(this.this$0).handleConnectionStateChanged(3); |
| 39 | ····} | 39 | ····} |
| 40 | ···· | 40 | ···· |
| 41 | ····public·boolean·processMessage(final·Message·message)·{ | 41 | ····public·boolean·processMessage(final·Message·message)·{ |
| 42 | ········final·int·what·=·message.what; | 42 | ········final·int·what·=·message.what; |
| 43 | ········final·int·n·=·2; | 43 | ········final·int·n·=·2; |
| 44 | ········final·int·n2·=·15; | 44 | ········final·int·n2·=·15; |
| 45 | ········final·boolean·osuAp·=·true; | 45 | ········final·boolean·osuAp·=·true; |
| 46 | ········boolean·b·=·false; | 46 | ········boolean·b·=·false; |
| 47 | ········Label_07 | 47 | ········Label_0715:·{ |
| 48 | ············switch·(what)·{ | 48 | ············switch·(what)·{ |
| 49 | ················default:·{ | 49 | ················default:·{ |
| 50 | ····················break·Label_07 | 50 | ····················break·Label_0715; |
| 51 | ················} | 51 | ················} |
| 52 | ················case·147462:·{ | 52 | ················case·147462:·{ |
| 53 | ····················final·StateChangeResult·stateChangeResult·=·(StateChangeResult)message.obj; | 53 | ····················final·StateChangeResult·stateChangeResult·=·(StateChangeResult)message.obj; |
| 54 | ····················if·(ClientModeImpl.access$ | 54 | ····················if·(ClientModeImpl.access$900(this.this$0))·{ |
| 55 | ························final·ClientModeImpl·this$0·=·this.this$0; | 55 | ························final·ClientModeImpl·this$0·=·this.this$0; |
| 56 | ························final·StringBuilder·sb·=·new·StringBuilder(); | 56 | ························final·StringBuilder·sb·=·new·StringBuilder(); |
| 57 | ························sb.append("SUPPLICANT_STATE_CHANGE_EVENT·state="); | 57 | ························sb.append("SUPPLICANT_STATE_CHANGE_EVENT·state="); |
| 58 | ························sb.append(stateChangeResult.state); | 58 | ························sb.append(stateChangeResult.state); |
| 59 | ························sb.append("·->·state=·"); | 59 | ························sb.append("·->·state=·"); |
| 60 | ························sb.append(WifiInfo.getDetailedStateOf(stateChangeResult.state)); | 60 | ························sb.append(WifiInfo.getDetailedStateOf(stateChangeResult.state)); |
| 61 | ························this$0.logd(sb.toString()); | 61 | ························this$0.logd(sb.toString()); |
| 62 | ····················} | 62 | ····················} |
| 63 | ····················if·(SupplicantState.isConnecting(stateChangeResult.state))·{ | 63 | ····················if·(SupplicantState.isConnecting(stateChangeResult.state))·{ |
| 64 | ························final·WifiConfiguration·configuredNetwork·=·ClientModeImpl.access$4 | 64 | ························final·WifiConfiguration·configuredNetwork·=·ClientModeImpl.access$4700(this.this$0).getConfiguredNetwork(stateChangeResult.networkId); |
| 65 | ························ClientModeImpl.access$ | 65 | ························ClientModeImpl.access$800(this.this$0).setFQDN((String)null); |
| 66 | ························ClientModeImpl.access$ | 66 | ························ClientModeImpl.access$800(this.this$0).setPasspointUniqueId((String)null); |
| 67 | ························ClientModeImpl.access$ | 67 | ························ClientModeImpl.access$800(this.this$0).setOsuAp(false); |
| 68 | ························ClientModeImpl.access$ | 68 | ························ClientModeImpl.access$800(this.this$0).setProviderFriendlyName((String)null); |
| 69 | ························if·(configuredNetwork·!=·null·&&·(configuredNetwork.isPasspoint()·||·configuredNetwork.osu))·{ | 69 | ························if·(configuredNetwork·!=·null·&&·(configuredNetwork.isPasspoint()·||·configuredNetwork.osu))·{ |
| 70 | ····························if·(configuredNetwork.isPasspoint())·{ | 70 | ····························if·(configuredNetwork.isPasspoint())·{ |
| 71 | ································ClientModeImpl.access$ | 71 | ································ClientModeImpl.access$800(this.this$0).setFQDN(configuredNetwork.FQDN); |
| 72 | ································ClientModeImpl.access$ | 72 | ································ClientModeImpl.access$800(this.this$0).setPasspointUniqueId(configuredNetwork.getPasspointUniqueId()); |
| 73 | ····························} | 73 | ····························} |
| 74 | ····························else·{ | 74 | ····························else·{ |
| 75 | ································ClientModeImpl.access$ | 75 | ································ClientModeImpl.access$800(this.this$0).setOsuAp(osuAp); |
| 76 | ····························} | 76 | ····························} |
| 77 | ····························ClientModeImpl.access$ | 77 | ····························ClientModeImpl.access$800(this.this$0).setProviderFriendlyName(configuredNetwork.providerFriendlyName); |
| 78 | ························} | 78 | ························} |
| 79 | ····················} | 79 | ····················} |
| 80 | ····················ClientModeImpl.access$3 | 80 | ····················ClientModeImpl.access$3800(this.this$0,·WifiInfo.getDetailedStateOf(stateChangeResult.state)); |
| 81 | ····················break·Label_07 | 81 | ····················break·Label_0715; |
| 82 | ················} | 82 | ················} |
| 83 | ················case·147460:·{ | 83 | ················case·147460:·{ |
| 84 | ····················ClientModeImpl.access$4 | 84 | ····················ClientModeImpl.access$4400(this.this$0); |
| 85 | ····················if·(message.arg2·==·n2)·{ | 85 | ····················if·(message.arg2·==·n2)·{ |
| 86 | ························final·Object·obj·=·message.obj; | 86 | ························final·Object·obj·=·message.obj; |
| 87 | ························String·access$4 | 87 | ························String·access$4600; |
| 88 | ························if·(obj·==·null)·{ | 88 | ························if·(obj·==·null)·{ |
| 89 | ····························access$4 | 89 | ····························access$4600·=·ClientModeImpl.access$4600(this.this$0); |
| 90 | ························} | 90 | ························} |
| 91 | ························else·{ | 91 | ························else·{ |
| 92 | ····························access$4 | 92 | ····························access$4600·=·(String)obj; |
| 93 | ························} | 93 | ························} |
| 94 | ························ClientModeImpl.access$3 | 94 | ························ClientModeImpl.access$3700(this.this$0).getWifiLastResortWatchdog().noteConnectionFailureAndTriggerIfNeeded(ClientModeImpl.access$4900(this.this$0),·access$4600,·n); |
| 95 | ····················} | 95 | ····················} |
| 96 | ····················final·ClientModeImpl·this$2·=·this.this$0; | 96 | ····················final·ClientModeImpl·this$2·=·this.this$0; |
| 97 | ····················this$2.clearNetworkCachedDataIfNeeded(ClientModeImpl.access$7700(this$2),·message.arg2); | 97 | ····················this$2.clearNetworkCachedDataIfNeeded(ClientModeImpl.access$7700(this$2),·message.arg2); |
| 98 | ····················ClientModeImpl.access$402(this.this$0,·-1); | 98 | ····················ClientModeImpl.access$402(this.this$0,·-1); |
|  | 99 | ····················ClientModeImpl.access$800(this.this$0).reset(); | |
| 99 | ····················break; | 100 | ····················break; |
| 100 | ················} | 101 | ················} |
| 101 | ················case·143371:·{ | 102 | ················case·143371:·{ |
| 102 | ····················ClientModeImpl.access$2 | 103 | ····················ClientModeImpl.access$2600(this.this$0).set(((NetworkInfo)message.obj).isConnected()); |
| 103 | ····················break; | 104 | ····················break; |
| 104 | ················} | 105 | ················} |
| 105 | ················case·131167:·{ | 106 | ················case·131167:·{ |
| 106 | ····················final·ClientModeImpl·this$3·=·this.this$0; | 107 | ····················final·ClientModeImpl·this$3·=·this.this$0; |
| 107 | ····················if·(message.arg1·!=·0)·{ | 108 | ····················if·(message.arg1·!=·0)·{ |
| 108 | ························b·=·osuAp; | 109 | ························b·=·osuAp; |
| 109 | ····················} | 110 | ····················} |
| 110 | ····················ClientModeImpl.access$ | 111 | ····················ClientModeImpl.access$2000(this$3,·b); |
| 111 | ····················break; | 112 | ····················break; |
| 112 | ················} | 113 | ················} |
| 113 | ················case·131146: | 114 | ················case·131146: |
| 114 | ················case·131147:·{ | 115 | ················case·131147:·{ |
| 115 | ····················if·(ClientModeImpl.access$2 | 116 | ····················if·(ClientModeImpl.access$2700(this.this$0))·{ |
| 116 | ························break; | 117 | ························break; |
| 117 | ····················} | 118 | ····················} |
| 118 | ····················break·Label_07 | 119 | ····················break·Label_0715; |
| 119 | ················} | 120 | ················} |
| 120 | ················case·131145:·{ | 121 | ················case·131145:·{ |
| 121 | ····················ClientModeImpl.access$300(this.this$0).logStaEvent(n2,·n); | 122 | ····················ClientModeImpl.access$300(this.this$0).logStaEvent(n2,·n); |
| 122 | ····················ClientModeImpl.access$600(this.this$0).disconnect(ClientModeImpl.access$2 | 123 | ····················ClientModeImpl.access$600(this.this$0).disconnect(ClientModeImpl.access$2400(this.this$0)); |
| 123 | ····················break; | 124 | ····················break; |
| 124 | ················} | 125 | ················} |
| 125 | ············} | 126 | ············} |
| 126 | ············b·= | ||