diff options
author | Girish Moturu <gmoturu@google.com> | 2017-08-16 01:55:19 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-08-16 01:55:19 +0000 |
commit | 5ea754ac418fe20b3a2fbde52be4ee189e947e0b (patch) | |
tree | 850a2cde8daeab311e53fefcf29fe02958483e60 | |
parent | 639522b3a427004f5ef4b884eff3ae954ad26e06 (diff) | |
parent | 4b7f9d361e5d8ac8ede47b3370064a885192034d (diff) | |
download | connectivity-5ea754ac418fe20b3a2fbde52be4ee189e947e0b.tar.gz |
Merge "Code for starting UID app" into oc-dev
am: 4b7f9d361e
Change-Id: I8dbe10f2b2bebc8f433ea53745214a354174df7d
-rw-r--r-- | UID/Android.mk | 30 | ||||
-rw-r--r-- | UID/AndroidManifest.xml | 41 | ||||
-rw-r--r-- | UID/res/values/strings.xml | 22 | ||||
-rw-r--r-- | UID/res/values/styles.xml | 33 | ||||
-rw-r--r-- | UID/src/com/android/tests/connectivity/uid/ConnectivityTestActivity.java | 81 |
5 files changed, 207 insertions, 0 deletions
diff --git a/UID/Android.mk b/UID/Android.mk new file mode 100644 index 0000000..19851f6 --- /dev/null +++ b/UID/Android.mk @@ -0,0 +1,30 @@ +# +## Copyright (C) 2017 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. +# + +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_PACKAGE_NAME := ConnectivityUIDTest +LOCAL_CERTIFICATE := platform +LOCAL_DEX_PREOPT := false + +LOCAL_SRC_FILES := $(call all-java-files-under, src) +LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res + +LOCAL_PRIVILEGED_MODULE := true +LOCAL_PROGUARD_ENABLED := disabled + +include $(BUILD_PACKAGE) diff --git a/UID/AndroidManifest.xml b/UID/AndroidManifest.xml new file mode 100644 index 0000000..0baa509 --- /dev/null +++ b/UID/AndroidManifest.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.connectivity.uid" + android:versionCode="3" + android:versionName="3.0" > + + <uses-sdk + android:minSdkVersion="19" + android:targetSdkVersion="26" /> + + <uses-permission android:name="android.permission.INTERNET" /> + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> + + <application + android:allowBackup="true" + android:label="@string/app_name" + android:theme="@style/AppTheme" > + <!-- Dummy activity --> + <activity + android:name="com.android.tests.connectivity.uid.ConnectivityTestActivity" + android:configChanges="keyboardHidden|orientation|screenSize" + android:label="@string/app_name" > + </activity> + </application> + +</manifest> diff --git a/UID/res/values/strings.xml b/UID/res/values/strings.xml new file mode 100644 index 0000000..9f0cf32 --- /dev/null +++ b/UID/res/values/strings.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + + <string name="app_name">ConnectivityUIDTest</string> + <string name="settings">Settings</string> + +</resources> diff --git a/UID/res/values/styles.xml b/UID/res/values/styles.xml new file mode 100644 index 0000000..2847191 --- /dev/null +++ b/UID/res/values/styles.xml @@ -0,0 +1,33 @@ +<!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + + <!-- + Base application theme for API 14+. This theme completely replaces + AppBaseTheme from BOTH res/values/styles.xml and + res/values-v11/styles.xml on API 14+ devices. + --> + <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar"> + <!-- API 14 theme customizations can go here. --> + </style> + + <!-- Application theme. --> + <style name="AppTheme" parent="AppBaseTheme"> + <!-- All customizations that are NOT specific to a particular API-level can go here. --> + </style> + + +</resources> diff --git a/UID/src/com/android/tests/connectivity/uid/ConnectivityTestActivity.java b/UID/src/com/android/tests/connectivity/uid/ConnectivityTestActivity.java new file mode 100644 index 0000000..49c6c14 --- /dev/null +++ b/UID/src/com/android/tests/connectivity/uid/ConnectivityTestActivity.java @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.connectivity.uid; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.os.Bundle; +import android.os.StrictMode; +import android.util.Log; +import java.io.*; +import java.lang.Thread; +import java.net.HttpURLConnection; +import java.net.URL; + +public class ConnectivityTestActivity extends Activity { + + ConnectivityManager connectivityManager; + NetworkInfo netInfo; + public static final String TAG = "ConnectivityUIDTest"; + private static final String RESULT = "result"; + + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + StrictMode.ThreadPolicy policy = + new StrictMode.ThreadPolicy.Builder().permitAll().build(); + StrictMode.setThreadPolicy(policy); + } + + public void onResume() { + super.onResume(); + boolean conn = checkNow(this.getApplicationContext()); + Intent returnIntent = new Intent(); + returnIntent.putExtra(RESULT, conn); + setResult(RESULT_OK, returnIntent); + finish(); + } + + public boolean checkNow(Context con) { + try{ + connectivityManager = (ConnectivityManager) + con.getSystemService(Context.CONNECTIVITY_SERVICE); + netInfo = connectivityManager.getActiveNetworkInfo(); + return netInfo.isConnected() && httpRequest(); + } catch(Exception e) { + Log.e(TAG, "CheckConnectivity exception: ", e); + } + + return false; + } + + private boolean httpRequest() throws IOException { + URL targetURL = new URL("http://www.google.com/generate_204"); + HttpURLConnection urlConnection = null; + try { + urlConnection = (HttpURLConnection) targetURL.openConnection(); + urlConnection.connect(); + int respCode = urlConnection.getResponseCode(); + return (respCode == 204); + } catch (IOException e) { + Log.e(TAG, "Checkconnectivity exception: ", e); + } + return false; + } +} |