summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/AccessibilityEventsLogger/Android.mk13
-rw-r--r--tests/AccessibilityEventsLogger/AndroidManifest.xml51
-rw-r--r--tests/AccessibilityEventsLogger/res/values/strings.xml28
-rw-r--r--tests/AccessibilityEventsLogger/res/xml/accessibilityservice.xml24
-rw-r--r--tests/AccessibilityEventsLogger/src/com/android/tests/accessibilityeventslogger/AELogger.java65
-rw-r--r--tests/Assist/src/com/android/test/assist/AssistInteractionSession.java8
-rw-r--r--tests/VoiceInteraction/res/layout/voice_interaction_session.xml6
-rw-r--r--tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java15
-rw-r--r--tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java24
-rw-r--r--tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java1
-rw-r--r--tests/VoiceInteraction/src/com/android/test/voiceinteraction/VoiceInteractionMain.java2
11 files changed, 212 insertions, 25 deletions
diff --git a/tests/AccessibilityEventsLogger/Android.mk b/tests/AccessibilityEventsLogger/Android.mk
new file mode 100644
index 0000000..52bc579
--- /dev/null
+++ b/tests/AccessibilityEventsLogger/Android.mk
@@ -0,0 +1,13 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_SRC_FILES := $(call all-subdir-java-files)
+
+LOCAL_PACKAGE_NAME := AccessibilityEventsLogger
+LOCAL_CERTIFICATE := platform
+
+LOCAL_PROGUARD_ENABLED := disabled
+
+include $(BUILD_PACKAGE)
diff --git a/tests/AccessibilityEventsLogger/AndroidManifest.xml b/tests/AccessibilityEventsLogger/AndroidManifest.xml
new file mode 100644
index 0000000..d86769f
--- /dev/null
+++ b/tests/AccessibilityEventsLogger/AndroidManifest.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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"
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.android.tests.accessibilityeventlogger"
+ android:versionCode="1"
+ android:versionName="0.0" >
+
+ <uses-sdk
+ android:minSdkVersion="18"
+ android:targetSdkVersion="18" />
+
+ <application
+ android:allowBackup="true"
+ android:enabled="true"
+ android:label="@string/app_name" >
+
+ <service
+ android:name=".AELogger"
+ android:enabled="true"
+ android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
+ android:configChanges="locale" >
+ <intent-filter>
+ <action android:name="android.accessibilityservice.AccessibilityService"/>
+
+ <category android:name="android.accessibilityservice.category.FEEDBACK_GENERIC"/>
+ <category android:name="android.accessibilityservice.category.FEEDBACK_VISUAL"/>
+ <category android:name="android.accessibilityservice.category.FEEDBACK_AUDIBLE"/>
+ </intent-filter>
+
+ <meta-data
+ android:name="android.accessibilityservice"
+ android:resource="@xml/accessibilityservice" />
+ </service>
+ </application>
+</manifest>
diff --git a/tests/AccessibilityEventsLogger/res/values/strings.xml b/tests/AccessibilityEventsLogger/res/values/strings.xml
new file mode 100644
index 0000000..353f912
--- /dev/null
+++ b/tests/AccessibilityEventsLogger/res/values/strings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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 xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- CHAR LIMIT=none -->
+ <string name="app_name">
+ Accessibility Event Logger
+ </string>
+
+ <!-- CHAR LIMIT=none -->
+ <string name="service_description">
+ Debugging service
+ </string>
+</resources>
diff --git a/tests/AccessibilityEventsLogger/res/xml/accessibilityservice.xml b/tests/AccessibilityEventsLogger/res/xml/accessibilityservice.xml
new file mode 100644
index 0000000..69ecd61
--- /dev/null
+++ b/tests/AccessibilityEventsLogger/res/xml/accessibilityservice.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+
+<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
+ android:accessibilityEventTypes="typeAllMask"
+ android:accessibilityFeedbackType="feedbackGeneric|feedbackVisual|feedbackAudible"
+ android:canRetrieveWindowContent="true"
+ android:accessibilityFlags="flagDefault"
+ android:description="@string/service_description"
+ android:notificationTimeout="0" />
diff --git a/tests/AccessibilityEventsLogger/src/com/android/tests/accessibilityeventslogger/AELogger.java b/tests/AccessibilityEventsLogger/src/com/android/tests/accessibilityeventslogger/AELogger.java
new file mode 100644
index 0000000..27d8eb9
--- /dev/null
+++ b/tests/AccessibilityEventsLogger/src/com/android/tests/accessibilityeventslogger/AELogger.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2015 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.accessibilityeventslogger;
+
+import android.accessibilityservice.AccessibilityService;
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.util.Log;
+import android.view.accessibility.AccessibilityEvent;
+import android.widget.Toast;
+
+import java.util.Locale;
+
+public class AELogger extends AccessibilityService {
+ private static final String TAG = AELogger.class.getCanonicalName();
+
+ private static final int TOAST_EVENT_TYPES =
+ AccessibilityEvent.TYPE_VIEW_CLICKED | AccessibilityEvent.TYPE_VIEW_LONG_CLICKED;
+
+ @Override
+ public void onServiceConnected() {
+ super.onServiceConnected();
+ Log.v(TAG, "Service connected.");
+ }
+
+
+ @Override
+ public void onInterrupt() {
+ // Do nothing
+ }
+
+ @Override
+ public void onAccessibilityEvent(AccessibilityEvent event) {
+ final String eventClass = event.getClassName().toString();
+ final String eventText = String.valueOf(event.getText()).toLowerCase(Locale.getDefault());
+ final String eventType = AccessibilityEvent.eventTypeToString(event.getEventType());
+
+ Log.d(TAG, String.format(
+ "typ=%s cls=%s pkg=%s txt=%s dsc=%s",
+ eventType,
+ eventClass,
+ event.getPackageName(),
+ eventText,
+ event.getContentDescription()
+ ));
+
+ // Show selected event types
+ if (0 != (TOAST_EVENT_TYPES & event.getEventType())) {
+ final Toast toast = Toast.makeText(this,
+ eventType + ": " + eventClass, Toast.LENGTH_SHORT);
+ toast.show();
+ }
+ }
+}
diff --git a/tests/Assist/src/com/android/test/assist/AssistInteractionSession.java b/tests/Assist/src/com/android/test/assist/AssistInteractionSession.java
index 43f1e32..851bda9 100644
--- a/tests/Assist/src/com/android/test/assist/AssistInteractionSession.java
+++ b/tests/Assist/src/com/android/test/assist/AssistInteractionSession.java
@@ -24,6 +24,7 @@ import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.service.voice.VoiceInteractionSession;
+import android.util.Log;
import android.view.View;
import android.view.ViewAnimationUtils;
import android.view.ViewTreeObserver;
@@ -69,6 +70,7 @@ public class AssistInteractionSession extends VoiceInteractionSession {
@Override
public void onCreate() {
+ super.onCreate();
// Simulate slowness of Assist app
try {
Thread.sleep(1000);
@@ -105,6 +107,12 @@ public class AssistInteractionSession extends VoiceInteractionSession {
}
}
+ @Override
+ public void onLockscreenShown() {
+ super.onLockscreenShown();
+ Log.i("Assistant", "Lockscreen was shown");
+ }
+
private void playAssistAnimation() {
Interpolator linearOutSlowIn = AnimationUtils.loadInterpolator(mBackground.getContext(),
android.R.interpolator.linear_out_slow_in);
diff --git a/tests/VoiceInteraction/res/layout/voice_interaction_session.xml b/tests/VoiceInteraction/res/layout/voice_interaction_session.xml
index dc4e31b..b106437 100644
--- a/tests/VoiceInteraction/res/layout/voice_interaction_session.xml
+++ b/tests/VoiceInteraction/res/layout/voice_interaction_session.xml
@@ -80,6 +80,12 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Disallow screenshot" />
+ <TextView android:id="@+id/options_text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="16dp"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</LinearLayout>
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java
index 8381aa1..f1dd1de 100644
--- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java
+++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionService.java
@@ -74,21 +74,6 @@ public class MainInteractionService extends VoiceInteractionService {
"Hello There", Locale.forLanguageTag("en-US"), mHotwordCallback);
}
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- if (isActiveService(this, new ComponentName(this, getClass()))) {
- Bundle args = new Bundle();
- args.putParcelable("intent", new Intent(this, TestInteractionActivity.class));
- args.putBundle("assist", intent.getExtras());
- showSession(args, VoiceInteractionSession.SHOW_WITH_ASSIST
- | VoiceInteractionSession.SHOW_WITH_SCREENSHOT);
- } else {
- Log.w(TAG, "Not starting -- not current voice interaction service");
- }
- stopSelf(startId);
- return START_NOT_STICKY;
- }
-
private void hotwordAvailabilityChangeHelper(int availability) {
Log.i(TAG, "Hotword availability = " + availability);
switch (availability) {
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java
index 8796c9f..c0a67c1 100644
--- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java
+++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java
@@ -50,6 +50,7 @@ public class MainInteractionSession extends VoiceInteractionSession
View mOptionsContainer;
CheckBox mDisallowAssist;
CheckBox mDisallowScreenshot;
+ TextView mOptionsText;
ImageView mScreenshot;
ImageView mFullScreenshot;
Button mConfirmButton;
@@ -86,8 +87,9 @@ public class MainInteractionSession extends VoiceInteractionSession
@Override
public void onShow(Bundle args, int showFlags) {
super.onShow(args, showFlags);
+ Log.i(TAG, "onShow: flags=0x" + Integer.toHexString(showFlags) + " args=" + args);
mState = STATE_IDLE;
- mStartIntent = args.getParcelable("intent");
+ mStartIntent = args != null ? (Intent)args.getParcelable("intent") : null;
if (mStartIntent == null) {
mStartIntent = new Intent(getContext(), TestInteractionActivity.class);
}
@@ -96,6 +98,7 @@ public class MainInteractionSession extends VoiceInteractionSession
}
onHandleScreenshot(null);
updateState();
+ refreshOptions();
}
@Override
@@ -134,6 +137,7 @@ public class MainInteractionSession extends VoiceInteractionSession
mDisallowAssist.setOnClickListener(this);
mDisallowScreenshot = (CheckBox)mContentView.findViewById(R.id.disallow_screenshot);
mDisallowScreenshot.setOnClickListener(this);
+ mOptionsText = (TextView)mContentView.findViewById(R.id.options_text);
mConfirmButton = (Button)mContentView.findViewById(R.id.confirm);
mConfirmButton.setOnClickListener(this);
mCompleteButton = (Button)mContentView.findViewById(R.id.complete);
@@ -145,13 +149,17 @@ public class MainInteractionSession extends VoiceInteractionSession
}
void refreshOptions() {
- if (mOptionsCheck.isChecked()) {
- mOptionsContainer.setVisibility(View.VISIBLE);
- int flags = getDisabledShowContext();
- mDisallowAssist.setChecked((flags & SHOW_WITH_ASSIST) != 0);
- mDisallowScreenshot.setChecked((flags & SHOW_WITH_SCREENSHOT) != 0);
- } else {
- mOptionsContainer.setVisibility(View.GONE);
+ if (mOptionsContainer != null) {
+ if (mOptionsCheck.isChecked()) {
+ mOptionsContainer.setVisibility(View.VISIBLE);
+ int flags = getDisabledShowContext();
+ mDisallowAssist.setChecked((flags & SHOW_WITH_ASSIST) != 0);
+ mDisallowScreenshot.setChecked((flags & SHOW_WITH_SCREENSHOT) != 0);
+ int disabled = getUserDisabledShowContext();
+ mOptionsText.setText("Disabled: 0x" + Integer.toHexString(disabled));
+ } else {
+ mOptionsContainer.setVisibility(View.GONE);
+ }
}
}
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
index b0d6b39..e10d89f 100644
--- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
+++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
@@ -16,7 +16,6 @@
package com.android.test.voiceinteraction;
-import android.annotation.Nullable;
import android.app.Activity;
import android.app.VoiceInteractor;
import android.content.ComponentName;
diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/VoiceInteractionMain.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/VoiceInteractionMain.java
index a7636c3..ee75f28 100644
--- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/VoiceInteractionMain.java
+++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/VoiceInteractionMain.java
@@ -49,7 +49,7 @@ public class VoiceInteractionMain extends Activity {
View.OnClickListener mStartListener = new View.OnClickListener() {
public void onClick(View v) {
- startService(new Intent(VoiceInteractionMain.this, MainInteractionService.class));
+ showAssist(null);
}
};
}