summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGirish Moturu <gmoturu@google.com>2017-08-16 01:55:19 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-08-16 01:55:19 +0000
commit5ea754ac418fe20b3a2fbde52be4ee189e947e0b (patch)
tree850a2cde8daeab311e53fefcf29fe02958483e60
parent639522b3a427004f5ef4b884eff3ae954ad26e06 (diff)
parent4b7f9d361e5d8ac8ede47b3370064a885192034d (diff)
downloadconnectivity-5ea754ac418fe20b3a2fbde52be4ee189e947e0b.tar.gz
Merge "Code for starting UID app" into oc-dev
am: 4b7f9d361e Change-Id: I8dbe10f2b2bebc8f433ea53745214a354174df7d
-rw-r--r--UID/Android.mk30
-rw-r--r--UID/AndroidManifest.xml41
-rw-r--r--UID/res/values/strings.xml22
-rw-r--r--UID/res/values/styles.xml33
-rw-r--r--UID/src/com/android/tests/connectivity/uid/ConnectivityTestActivity.java81
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;
+ }
+}