Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a21a87b7 authored by fionaxu's avatar fionaxu
Browse files

Default Carrier app for traffic mitigation

- have the basic function working, support traffic mitigation and
  captive portal login
- support carrier customization, OEM could configure a list of carrier
  actions to act upon certain signals
- unit test

Test: Manual test with live sim card & runtest --path
frameworks/base/packages/CarrierDefaultApp
Bug: 30958215

Change-Id: Ie99be3b95e8a1dd60fc51bef703836478fbde09d
parent f84e5e8f
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := CarrierDefaultApp
LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)

# This finds and builds the test apk as well, so a single make does both.
include $(call all-makefiles-under,$(LOCAL_PATH))
+41 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.carrierdefaultapp"
    android:sharedUserId="android.uid.phone" >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

    <application android:label="@string/app_name" >
        <receiver android:name="com.android.carrierdefaultapp.CarrierDefaultBroadcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.CARRIER_SIGNAL_REDIRECTED" />
            </intent-filter>
        </receiver>
        <activity android:name="com.android.carrierdefaultapp.CaptivePortalLaunchActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:excludeFromRecents="true"/>
    </application>
</manifest>
+26 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (C) 2016 Google Inc.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="@dimen/glif_icon_size"
    android:height="@dimen/glif_icon_size"
    android:viewportWidth="48"
    android:viewportHeight="48">
    <path
        android:fillColor="?android:attr/colorPrimary"
        android:pathData="M39.98,8c0,-2.21 -1.77,-4 -3.98,-4L20,4L8,16v24c0,2.21 1.79,4 4,4h24.02c2.21,0 3.98,-1.79 3.98,-4l-0.02,-32zM18,38h-4v-4h4v4zM34,38h-4v-4h4v4zM18,30h-4v-8h4v8zM26,38h-4v-8h4v8zM26,26h-4v-4h4v4zM34,30h-4v-8h4v8z" />
</vector>
 No newline at end of file
+3 −0
Original line number Diff line number Diff line
<resources>
    <dimen name="glif_icon_size">32dp</dimen>
</resources>
+13 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">CarrierDefaultApp</string>
    <string name="portal_notification_id">Activate your service</string>
    <string name="no_data_notification_id">No data service</string>
    <string name="portal_notification_detail">Tap to activate your service</string>
    <string name="no_data_notification_detail">No Service, please contact your service provider</string>
    <string name="progress_dialogue_network_connection">Connecting to captive portal...</string>
    <string name="alert_dialogue_network_timeout">Network timeout, would you like to retry?</string>
    <string name="alert_dialogue_network_timeout_title">Network unavailable</string>
    <string name="quit">Quit</string>
    <string name="wait">Wait</string>
</resources>
Loading