2011-04-08 18:14:09 -07:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<!-- Copyright (C) 2008 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.google.android.test.activity">
|
2014-10-03 16:26:04 -07:00
|
|
|
<uses-permission android:name="android.permission.REAL_GET_TASKS" />
|
2011-04-12 18:16:08 -07:00
|
|
|
<uses-permission android:name="android.permission.REORDER_TASKS" />
|
|
|
|
<uses-permission android:name="android.permission.REMOVE_TASKS" />
|
2011-04-08 18:14:09 -07:00
|
|
|
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
|
2012-08-02 18:31:26 -07:00
|
|
|
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
|
2012-09-25 14:53:52 -07:00
|
|
|
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
|
|
|
|
<uses-permission android:name="android.permission.MANAGE_USERS" />
|
2014-08-18 15:08:33 -07:00
|
|
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
2015-08-10 14:52:52 -07:00
|
|
|
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
2015-07-01 12:30:54 -07:00
|
|
|
<uses-sdk android:targetSdkVersion="22" />
|
2011-04-08 18:14:09 -07:00
|
|
|
<application android:label="ActivityTest">
|
|
|
|
<activity android:name="ActivityTestMain">
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.intent.action.MAIN" />
|
|
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
|
|
</intent-filter>
|
2014-09-23 16:45:39 -07:00
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="http" android:host="www.angryredplanet.com"
|
|
|
|
android:pathPrefix="" />
|
|
|
|
</intent-filter>
|
|
|
|
<preferred>
|
|
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="http" android:host="www.angryredplanet.com"
|
|
|
|
android:pathPrefix="" />
|
|
|
|
</preferred>
|
2011-04-08 18:14:09 -07:00
|
|
|
</activity>
|
Fix issue #16311398: Limit number of documents a process can open
In application processes, monitor for when we start getting close
to the Dalvik heap limit, and ask the activity manager to try to
prune old activity instances in that case.
Add an explicit API for apps to ask that they have their own
activity instances cleaned up, if they want.
Fix some bugs in launching activities that were not correctly
applying the "multi task" behavior in the appropriate situations
of document-centric recents.
Clean up the activity manager's process removal code to all share
a common path.
Add a new "Spam" option to ActivityTests, which continually creates
new tasks, checking that the activity manager will now prune old
tasks rather than letting the app run out of RAM.
And while I was was doing this, I found problems with the path
for bringing an empty task to the foreground -- it could make
a new task instead of re-starting the root activity in the
existing task. This is fixed, and some code in the recents
UI for working around the bug is removed.
And as long as I am doing that, we now have nice hooks in to
the activity manager for AppTask to give some APIs for better
managing the task, so add those along with more tests for these
APIs in ActivityTests.
We should look at also having the activity manager try to prune
old tasks when it sees app processes being killed, to better balance
memory use across multiple processes when some processes may host
many documents. That however is for another CL...
Change-Id: I2bb81c3f92819350c868c7a7470b35817eb9bea9
2014-08-24 16:45:38 -07:00
|
|
|
<activity android:name="SpamActivity" android:label="Spam!"
|
|
|
|
android:documentLaunchMode="always">
|
|
|
|
</activity>
|
|
|
|
<activity android:name="DocActivity" android:label="Some doc">
|
|
|
|
</activity>
|
2012-08-02 18:31:26 -07:00
|
|
|
<service android:name="SingleUserService"
|
|
|
|
android:singleUser="true" android:exported="true">
|
|
|
|
</service>
|
2012-09-25 14:53:52 -07:00
|
|
|
<service android:name="ServiceUserTarget">
|
|
|
|
</service>
|
2012-08-02 18:31:26 -07:00
|
|
|
<receiver android:name="UserTarget">
|
|
|
|
</receiver>
|
2014-12-01 16:22:14 -08:00
|
|
|
<service android:name="IsolatedService" android:isolatedProcess="true">
|
|
|
|
</service>
|
2014-11-19 14:21:07 -08:00
|
|
|
<receiver android:name="StartEmpty" android:exported="true">
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="com.example.START_EMPTY" />
|
|
|
|
</intent-filter>
|
|
|
|
</receiver>
|
|
|
|
<service android:name="EmptyService" android:exported="true">
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="com.example.START_EMPTY" />
|
|
|
|
</intent-filter>
|
|
|
|
</service>
|
2012-08-07 19:12:33 -07:00
|
|
|
<receiver android:name="SingleUserReceiver"
|
|
|
|
android:singleUser="true" android:exported="true" >
|
|
|
|
</receiver>
|
|
|
|
<provider android:name="SingleUserProvider"
|
|
|
|
android:authorities="com.google.android.test.activity.single_user"
|
|
|
|
android:singleUser="true" android:exported="true" />
|
Add API to track usage time of apps.
This adds a new ActivityOption for the caller to ask the
system to track the time the user is in the app it launches,
delivering the result when they are done.
The time interval tracked is from when the app launches the
activity until the user leaves that app's flow. They are
considered to stay in the flow as long as new activities
are being launched or returned to from the original flow,
even if they cross package or task boundaries. For example,
if the originator starts an activity to view an image, and
while there the user selects to share, which launches gmail
in a new task, and they complete the share, the time during
that entire operation will be included.
The user is considered to complete the operation once they
switch to another activity that is not part of the tracked
flow. For example, use the notification shade, launcher, or
recents to launch or switch to another app. Simply going
in to these navigation elements does not break the flow
(although the launcher and recents stops time tracking of
the session), it is the act of going somewhere else that
completes the tracking.
The data is delivered to the app through a PendingIntent,
which includes the total time the app was in the flow along
with a time break-down by app package.
Change-Id: If1cf8892d422c52ec5042eba0e15a8e7e8f83abf
2015-05-20 18:18:46 -07:00
|
|
|
<receiver android:name="TrackTimeReceiver" />
|
2015-06-10 16:25:57 -07:00
|
|
|
<receiver android:name="AlarmSpamReceiver" />
|
2017-02-22 16:45:48 +01:00
|
|
|
<activity android:name="DisableScreenshotsActivity"
|
2017-03-14 18:21:40 +01:00
|
|
|
android:label="DisableScreenshots"
|
|
|
|
android:theme="@style/DisableScreenshots">
|
2017-02-22 16:45:48 +01:00
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.intent.action.MAIN" />
|
|
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
|
|
</intent-filter>
|
|
|
|
</activity>
|
2011-04-08 18:14:09 -07:00
|
|
|
</application>
|
|
|
|
</manifest>
|