Merge pull request #6463 from smowton/smowton/admin/gson-unsafe-deserialization

Java: add Gson support to unsafe-deserialization query
This commit is contained in:
Anders Schack-Mulligen
2021-10-12 16:15:27 +02:00
committed by GitHub
152 changed files with 7585 additions and 7242 deletions

View File

@@ -77,8 +77,9 @@ private import FlowSummary
*/
private module Frameworks {
private import internal.ContainerFlow
private import semmle.code.java.frameworks.android.XssSinks
private import semmle.code.java.frameworks.android.Android
private import semmle.code.java.frameworks.android.Intent
private import semmle.code.java.frameworks.android.XssSinks
private import semmle.code.java.frameworks.ApacheHttp
private import semmle.code.java.frameworks.apache.Collections
private import semmle.code.java.frameworks.apache.Lang

View File

@@ -202,3 +202,44 @@ private class ContentProviderSourceModels extends SourceModelCsv {
]
}
}
/** Interface for classes whose instances can be written to and restored from a Parcel. */
class TypeParcelable extends Interface {
TypeParcelable() { this.hasQualifiedName("android.os", "Parcelable") }
}
/**
* A method that overrides `android.os.Parcelable.Creator.createFromParcel`.
*/
class CreateFromParcelMethod extends Method {
CreateFromParcelMethod() {
this.hasName("createFromParcel") and
this.getEnclosingCallable().getDeclaringType().getASupertype*() instanceof TypeParcelable
}
}
private class ParcelPropagationModels extends SummaryModelCsv {
override predicate row(string s) {
// Parcel readers that return their value
s =
"android.os;Parcel;false;read" +
[
"Array", "ArrayList", "Boolean", "Bundle", "Byte", "Double", "FileDescriptor", "Float",
"HashMap", "Int", "Long", "Parcelable", "ParcelableArray", "PersistableBundle",
"Serializable", "Size", "SizeF", "SparseArray", "SparseBooleanArray", "String",
"StrongBinder", "TypedObject", "Value"
] + ";;;Argument[-1];ReturnValue;taint"
or
// Parcel readers that write to an existing object
s =
"android.os;Parcel;false;read" +
[
"BinderArray", "BinderList", "BooleanArray", "ByteArray", "CharArray", "DoubleArray",
"FloatArray", "IntArray", "List", "LongArray", "Map", "ParcelableList", "StringArray",
"StringList", "TypedArray", "TypedList"
] + ";;;Argument[-1];Argument[0];taint"
or
// One Parcel method that aliases an argument to a return value
s = "android.os;Parcel;false;readParcelableList;;;Argument[0];ReturnValue;value"
}
}

View File

@@ -3,32 +3,53 @@ private import semmle.code.java.dataflow.DataFlow
import semmle.code.java.dataflow.FlowSteps
import semmle.code.java.dataflow.ExternalFlow
/**
* The class `android.content.Intent`.
*/
class TypeIntent extends Class {
TypeIntent() { hasQualifiedName("android.content", "Intent") }
}
/**
* The class `android.app.Activity`.
*/
class TypeActivity extends Class {
TypeActivity() { hasQualifiedName("android.app", "Activity") }
}
/**
* The class `android.content.Context`.
*/
class TypeContext extends RefType {
TypeContext() { hasQualifiedName("android.content", "Context") }
}
/**
* The class `android.content.BroadcastReceiver`.
*/
class TypeBroadcastReceiver extends Class {
TypeBroadcastReceiver() { hasQualifiedName("android.content", "BroadcastReceiver") }
}
/**
* The method `Activity.getIntent`
*/
class AndroidGetIntentMethod extends Method {
AndroidGetIntentMethod() { hasName("getIntent") and getDeclaringType() instanceof TypeActivity }
}
/**
* The method `BroadcastReceiver.onReceive`.
*/
class AndroidReceiveIntentMethod extends Method {
AndroidReceiveIntentMethod() {
hasName("onReceive") and getDeclaringType() instanceof TypeBroadcastReceiver
}
}
/**
* The method `Context.startActivity` or `startActivities`.
*/
class ContextStartActivityMethod extends Method {
ContextStartActivityMethod() {
(hasName("startActivity") or hasName("startActivities")) and
@@ -44,6 +65,16 @@ private class IntentFieldsInheritTaint extends DataFlow::SyntheticFieldContent,
IntentFieldsInheritTaint() { this.getField().matches("android.content.Intent.%") }
}
/**
* The method `Intent.getParcelableExtra`.
*/
class IntentGetParcelableExtraMethod extends Method {
IntentGetParcelableExtraMethod() {
hasName("getParcelableExtra") and
getDeclaringType() instanceof TypeIntent
}
}
private class IntentBundleFlowSteps extends SummaryModelCsv {
override predicate row(string row) {
row =

View File

@@ -0,0 +1,36 @@
/**
* Provides classes for working with the Gson framework.
*/
import java
import semmle.code.java.dataflow.DataFlow
import semmle.code.java.frameworks.android.Android
import semmle.code.java.frameworks.android.Intent
/** The class `com.google.gson.Gson`. */
class Gson extends RefType {
Gson() { this.hasQualifiedName("com.google.gson", "Gson") }
}
/** The `fromJson` deserialization method. */
class GsonDeserializeMethod extends Method {
GsonDeserializeMethod() {
this.getDeclaringType() instanceof Gson and
this.hasName("fromJson")
}
}
/**
* Holds if `intentNode` is an `Intent` used in the context `(T)intentNode.getParcelableExtra(...)` and
* `parcelNode` is the corresponding parameter of `Parcelable.Creator<T> { public T createFromParcel(Parcel parcelNode) { }`,
* where `T` is a concrete type implementing `Parcelable`.
*/
predicate intentFlowsToParcel(DataFlow::Node intentNode, DataFlow::Node parcelNode) {
exists(MethodAccess getParcelableExtraCall, CreateFromParcelMethod cfpm, Type createdType |
intentNode.asExpr() = getParcelableExtraCall.getQualifier() and
getParcelableExtraCall.getMethod() instanceof IntentGetParcelableExtraMethod and
DataFlow::localExprFlow(getParcelableExtraCall, any(Expr e | e.getType() = createdType)) and
parcelNode.asParameter() = cfpm.getParameter(0) and
cfpm.getReturnType() = createdType
)
}

View File

@@ -17,6 +17,7 @@ private import semmle.code.java.frameworks.Jackson
private import semmle.code.java.frameworks.Jabsorb
private import semmle.code.java.frameworks.JoddJson
private import semmle.code.java.frameworks.Flexjson
private import semmle.code.java.frameworks.google.Gson
private import semmle.code.java.frameworks.apache.Lang
private import semmle.code.java.Reflection
@@ -207,6 +208,10 @@ predicate unsafeDeserialization(MethodAccess ma, Expr sink) {
or
m instanceof FlexjsonDeserializeMethod and
sink = ma.getArgument(0)
or
m instanceof GsonDeserializeMethod and
sink = ma.getArgument(0) and
any(UnsafeTypeConfig config).hasFlowToExpr(ma.getArgument(1))
)
}
@@ -249,6 +254,8 @@ class UnsafeDeserializationConfig extends TaintTracking::Configuration {
createJacksonJsonParserStep(pred, succ)
or
createJacksonTreeNodeStep(pred, succ)
or
intentFlowsToParcel(pred, succ)
}
override predicate isSanitizer(DataFlow::Node node) {
@@ -362,9 +369,15 @@ class UnsafeTypeConfig extends TaintTracking2::Configuration {
ma.getMethod() instanceof JabsorbUnmarshallMethod
or
ma.getMethod() instanceof JoddJsonParseMethod
or
ma.getMethod() instanceof GsonDeserializeMethod
) and
// Note `JacksonTypeDescriptorType` includes plain old `java.lang.Class`
arg.getType() instanceof JacksonTypeDescriptorType and
(
arg.getType() instanceof JacksonTypeDescriptorType
or
arg.getType().(RefType).hasQualifiedName("java.lang.reflect", "Type")
) and
arg = sink.asExpr()
)
}
@@ -375,7 +388,8 @@ class UnsafeTypeConfig extends TaintTracking2::Configuration {
*/
override predicate isAdditionalTaintStep(DataFlow::Node fromNode, DataFlow::Node toNode) {
resolveClassStep(fromNode, toNode) or
looksLikeResolveClassStep(fromNode, toNode)
looksLikeResolveClassStep(fromNode, toNode) or
intentFlowsToParcel(fromNode, toNode)
}
}

View File

@@ -15,7 +15,7 @@ may have unforeseen effects, such as the execution of arbitrary code.
<p>
There are many different serialization frameworks. This query currently
supports Kryo, XmlDecoder, XStream, SnakeYaml, JYaml, JsonIO, YAMLBeans, HessianBurlap, Castor, Burlap,
Jackson, Jabsorb, Jodd JSON, Flexjson and Java IO serialization through
Jackson, Jabsorb, Jodd JSON, Flexjson, Gson and Java IO serialization through
<code>ObjectInputStream</code>/<code>ObjectOutputStream</code>.
</p>
</overview>
@@ -113,6 +113,10 @@ Jodd JSON documentation on deserialization:
RCE in Flexjson:
<a href="https://codewhitesec.blogspot.com/2020/03/liferay-portal-json-vulns.html">Flexjson deserialization</a>.
</li>
<li>
Android Intent deserialization vulnerabilities with GSON parser:
<a href="https://blog.oversecured.com/Exploiting-memory-corruption-vulnerabilities-on-Android/#insecure-use-of-json-parsers">Insecure use of JSON parsers</a>.
</li>
</references>
</qhelp>

View File

@@ -5,34 +5,34 @@
| A.java:41:5:41:53 | getInputStream(...) | A.java:41:5:41:53 | getInputStream(...) |
| A.java:42:5:42:45 | getInputStream(...) | A.java:42:5:42:45 | getInputStream(...) |
| A.java:43:5:43:47 | getHostName(...) | A.java:43:5:43:47 | getHostName(...) |
| IntentSources.java:9:20:9:35 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | [summary] read: <map.value> of android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:9:20:9:35 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | [summary] read: android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:9:20:9:35 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | [summary] to write: return (return) in getStringExtra |
| IntentSources.java:9:20:9:35 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | parameter this |
| IntentSources.java:9:20:9:35 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | [summary] read: <map.value> of android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:9:20:9:35 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | [summary] read: android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:9:20:9:35 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | [summary] to write: return (return) in getStringExtra |
| IntentSources.java:9:20:9:35 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | parameter this |
| IntentSources.java:9:20:9:35 | getIntent(...) | IntentSources.java:9:20:9:35 | getIntent(...) |
| IntentSources.java:9:20:9:35 | getIntent(...) | IntentSources.java:9:20:9:57 | getStringExtra(...) |
| IntentSources.java:9:20:9:35 | getIntent(...) | IntentSources.java:10:29:10:35 | trouble |
| IntentSources.java:16:20:16:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | [summary] read: <map.value> of android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:16:20:16:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | [summary] read: android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:16:20:16:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | [summary] to write: return (return) in getStringExtra |
| IntentSources.java:16:20:16:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | parameter this |
| IntentSources.java:16:20:16:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | [summary] read: <map.value> of android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:16:20:16:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | [summary] read: android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:16:20:16:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | [summary] to write: return (return) in getStringExtra |
| IntentSources.java:16:20:16:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | parameter this |
| IntentSources.java:16:20:16:30 | getIntent(...) | IntentSources.java:16:20:16:30 | getIntent(...) |
| IntentSources.java:16:20:16:30 | getIntent(...) | IntentSources.java:16:20:16:52 | getStringExtra(...) |
| IntentSources.java:16:20:16:30 | getIntent(...) | IntentSources.java:17:29:17:35 | trouble |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1863:19:1863:27 | [summary] read: android.content.Intent.extras of argument -1 in getExtras |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1863:19:1863:27 | [summary] to write: return (return) in getExtras |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1863:19:1863:27 | parameter this |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/os/BaseBundle.java:600:19:600:27 | [summary] read: <map.value> of argument -1 in getString |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/os/BaseBundle.java:600:19:600:27 | [summary] to write: return (return) in getString |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/os/BaseBundle.java:600:19:600:27 | parameter this |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:33:19:33:27 | [summary] read: android.content.Intent.extras of argument -1 in getExtras |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:33:19:33:27 | [summary] to write: return (return) in getExtras |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:33:19:33:27 | parameter this |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/os/BaseBundle.java:12:19:12:27 | [summary] read: <map.value> of argument -1 in getString |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/os/BaseBundle.java:12:19:12:27 | [summary] to write: return (return) in getString |
| IntentSources.java:23:20:23:30 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/os/BaseBundle.java:12:19:12:27 | parameter this |
| IntentSources.java:23:20:23:30 | getIntent(...) | IntentSources.java:23:20:23:30 | getIntent(...) |
| IntentSources.java:23:20:23:30 | getIntent(...) | IntentSources.java:23:20:23:42 | getExtras(...) |
| IntentSources.java:23:20:23:30 | getIntent(...) | IntentSources.java:23:20:23:59 | getString(...) |
| IntentSources.java:23:20:23:30 | getIntent(...) | IntentSources.java:24:29:24:35 | trouble |
| IntentSources.java:33:20:33:33 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | [summary] read: <map.value> of android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:33:20:33:33 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | [summary] read: android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:33:20:33:33 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | [summary] to write: return (return) in getStringExtra |
| IntentSources.java:33:20:33:33 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:1564:19:1564:32 | parameter this |
| IntentSources.java:33:20:33:33 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | [summary] read: <map.value> of android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:33:20:33:33 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | [summary] read: android.content.Intent.extras of argument -1 in getStringExtra |
| IntentSources.java:33:20:33:33 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | [summary] to write: return (return) in getStringExtra |
| IntentSources.java:33:20:33:33 | getIntent(...) | ../../../stubs/google-android-9.0.0/android/content/Intent.java:105:19:105:32 | parameter this |
| IntentSources.java:33:20:33:33 | getIntent(...) | IntentSources.java:33:20:33:33 | getIntent(...) |
| IntentSources.java:33:20:33:33 | getIntent(...) | IntentSources.java:33:20:33:55 | getStringExtra(...) |
| IntentSources.java:33:20:33:33 | getIntent(...) | IntentSources.java:34:29:34:35 | trouble |

View File

@@ -0,0 +1,327 @@
package generatedtest;
import android.content.Intent;
import android.os.BaseBundle;
import android.os.Bundle;
import android.os.IBinder;
import android.os.Parcel;
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
import android.os.PersistableBundle;
import android.util.Size;
import android.util.SizeF;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
// Test case generated by GenerateFlowTestCase.ql
public class Test {
Object source() { return null; }
void sink(Object o) { }
public void test() throws Exception {
{
// "android.os;Parcel;false;readArray;;;Argument[-1];ReturnValue;taint"
Object[] out = null;
Parcel in = (Parcel)source();
out = in.readArray(null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readArrayList;;;Argument[-1];ReturnValue;taint"
ArrayList out = null;
Parcel in = (Parcel)source();
out = in.readArrayList(null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readBinderArray;;;Argument[-1];Argument[0];taint"
IBinder[] out = null;
Parcel in = (Parcel)source();
in.readBinderArray(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readBinderList;;;Argument[-1];Argument[0];taint"
List out = null;
Parcel in = (Parcel)source();
in.readBinderList(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readBoolean;;;Argument[-1];ReturnValue;taint"
boolean out = false;
Parcel in = (Parcel)source();
out = in.readBoolean();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readBooleanArray;;;Argument[-1];Argument[0];taint"
boolean[] out = null;
Parcel in = (Parcel)source();
in.readBooleanArray(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readBundle;;;Argument[-1];ReturnValue;taint"
Bundle out = null;
Parcel in = (Parcel)source();
out = in.readBundle(null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readBundle;;;Argument[-1];ReturnValue;taint"
Bundle out = null;
Parcel in = (Parcel)source();
out = in.readBundle();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readByte;;;Argument[-1];ReturnValue;taint"
byte out = 0;
Parcel in = (Parcel)source();
out = in.readByte();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readByteArray;;;Argument[-1];Argument[0];taint"
byte[] out = null;
Parcel in = (Parcel)source();
in.readByteArray(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readCharArray;;;Argument[-1];Argument[0];taint"
char[] out = null;
Parcel in = (Parcel)source();
in.readCharArray(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readDouble;;;Argument[-1];ReturnValue;taint"
double out = 0.0;
Parcel in = (Parcel)source();
out = in.readDouble();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readDoubleArray;;;Argument[-1];Argument[0];taint"
double[] out = null;
Parcel in = (Parcel)source();
in.readDoubleArray(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readFileDescriptor;;;Argument[-1];ReturnValue;taint"
ParcelFileDescriptor out = null;
Parcel in = (Parcel)source();
out = in.readFileDescriptor();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readFloat;;;Argument[-1];ReturnValue;taint"
float out = 0.0f;
Parcel in = (Parcel)source();
out = in.readFloat();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readFloatArray;;;Argument[-1];Argument[0];taint"
float[] out = null;
Parcel in = (Parcel)source();
in.readFloatArray(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readHashMap;;;Argument[-1];ReturnValue;taint"
HashMap out = null;
Parcel in = (Parcel)source();
out = in.readHashMap(null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readInt;;;Argument[-1];ReturnValue;taint"
int out = 0;
Parcel in = (Parcel)source();
out = in.readInt();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readIntArray;;;Argument[-1];Argument[0];taint"
int[] out = null;
Parcel in = (Parcel)source();
in.readIntArray(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readList;;;Argument[-1];Argument[0];taint"
List out = null;
Parcel in = (Parcel)source();
in.readList(out, null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readLong;;;Argument[-1];ReturnValue;taint"
long out = 0L;
Parcel in = (Parcel)source();
out = in.readLong();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readLongArray;;;Argument[-1];Argument[0];taint"
long[] out = null;
Parcel in = (Parcel)source();
in.readLongArray(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readMap;;;Argument[-1];Argument[0];taint"
Map out = null;
Parcel in = (Parcel)source();
in.readMap(out, null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readParcelable;;;Argument[-1];ReturnValue;taint"
Parcelable out = null;
Parcel in = (Parcel)source();
out = in.readParcelable(null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readParcelableArray;;;Argument[-1];ReturnValue;taint"
Parcelable[] out = null;
Parcel in = (Parcel)source();
out = in.readParcelableArray(null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readParcelableList;;;Argument[-1];Argument[0];taint"
List out = null;
Parcel in = (Parcel)source();
in.readParcelableList(out, null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readParcelableList;;;Argument[0];ReturnValue;value"
List out = null;
List in = (List)source();
Parcel instance = null;
out = instance.readParcelableList(in, null);
sink(out); // $ hasValueFlow
}
{
// "android.os;Parcel;false;readPersistableBundle;;;Argument[-1];ReturnValue;taint"
PersistableBundle out = null;
Parcel in = (Parcel)source();
out = in.readPersistableBundle(null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readPersistableBundle;;;Argument[-1];ReturnValue;taint"
PersistableBundle out = null;
Parcel in = (Parcel)source();
out = in.readPersistableBundle();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readSerializable;;;Argument[-1];ReturnValue;taint"
Serializable out = null;
Parcel in = (Parcel)source();
out = in.readSerializable();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readSize;;;Argument[-1];ReturnValue;taint"
Size out = null;
Parcel in = (Parcel)source();
out = in.readSize();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readSizeF;;;Argument[-1];ReturnValue;taint"
SizeF out = null;
Parcel in = (Parcel)source();
out = in.readSizeF();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readSparseArray;;;Argument[-1];ReturnValue;taint"
SparseArray out = null;
Parcel in = (Parcel)source();
out = in.readSparseArray(null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readSparseBooleanArray;;;Argument[-1];ReturnValue;taint"
SparseBooleanArray out = null;
Parcel in = (Parcel)source();
out = in.readSparseBooleanArray();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readString;;;Argument[-1];ReturnValue;taint"
String out = null;
Parcel in = (Parcel)source();
out = in.readString();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readStringArray;;;Argument[-1];Argument[0];taint"
String[] out = null;
Parcel in = (Parcel)source();
in.readStringArray(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readStringList;;;Argument[-1];Argument[0];taint"
List out = null;
Parcel in = (Parcel)source();
in.readStringList(out);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readStrongBinder;;;Argument[-1];ReturnValue;taint"
IBinder out = null;
Parcel in = (Parcel)source();
out = in.readStrongBinder();
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readTypedArray;;;Argument[-1];Argument[0];taint"
Object[] out = null;
Parcel in = (Parcel)source();
in.readTypedArray(out, null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readTypedList;;;Argument[-1];Argument[0];taint"
List out = null;
Parcel in = (Parcel)source();
in.readTypedList(out, null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readTypedObject;;;Argument[-1];ReturnValue;taint"
Object out = null;
Parcel in = (Parcel)source();
out = in.readTypedObject(null);
sink(out); // $ hasTaintFlow
}
{
// "android.os;Parcel;false;readValue;;;Argument[-1];ReturnValue;taint"
Object out = null;
Parcel in = (Parcel)source();
out = in.readValue(null);
sink(out); // $ hasTaintFlow
}
}
}

View File

@@ -0,0 +1 @@
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../stubs/google-android-9.0.0

View File

@@ -0,0 +1,2 @@
import java
import TestUtilities.InlineFlowTest

View File

@@ -0,0 +1,24 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app"
android:installLocation="auto"
android:versionCode="1"
android:versionName="0.1" >
<uses-permission android:name="android.permission.INTERNET" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".GsonActivity"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,17 @@
package com.example.app;
import android.app.Activity;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.gson.Gson;
public class GsonActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(-1);
ParcelableEntity entity = (ParcelableEntity) getIntent().getParcelableExtra("jsonEntity");
}
}

View File

@@ -0,0 +1,77 @@
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.typeadapters.RuntimeTypeAdapterFactory;
import com.example.User;
import com.thirdparty.Person;
public class GsonServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
// GOOD: concrete class type specified
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String json = req.getParameter("json");
Gson gson = new Gson();
Object obj = gson.fromJson(json, User.class);
}
@Override
// GOOD: concrete class type specified
public void doPut(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String json = req.getParameter("json");
Gson gson = new Gson();
Object obj = gson.fromJson(json, Person.class);
}
@Override
// BAD: allow class name to be controlled by remote source
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String json = req.getParameter("json");
String clazz = req.getParameter("class");
try {
Gson gson = new Gson();
Object obj = gson.fromJson(json, Class.forName(clazz)); // $unsafeDeserialization
} catch (ClassNotFoundException cne) {
throw new IOException(cne.getMessage());
}
}
@Override
// BAD: allow class name to be controlled by remote source even with a type adapter factory
public void doHead(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String json = req.getParameter("json");
String clazz = req.getParameter("class");
try {
RuntimeTypeAdapterFactory<User> runtimeTypeAdapterFactory = RuntimeTypeAdapterFactory
.of(User.class, "type");
Gson gson = new GsonBuilder().registerTypeAdapterFactory(runtimeTypeAdapterFactory).create();
Object obj = gson.fromJson(json, Class.forName(clazz)); // $unsafeDeserialization
} catch (ClassNotFoundException cne) {
throw new IOException(cne.getMessage());
}
}
@Override
// GOOD: specify allowed class types without explicitly configured vulnerable subclass types
public void doTrace(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String json = req.getParameter("json");
String clazz = req.getParameter("class");
RuntimeTypeAdapterFactory<Person> runtimeTypeAdapterFactory = RuntimeTypeAdapterFactory
.of(Person.class, "type");
Gson gson = new GsonBuilder().registerTypeAdapterFactory(runtimeTypeAdapterFactory).create();
Person obj = gson.fromJson(json, Person.class);
}
}

View File

@@ -0,0 +1,45 @@
package com.example.app;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class ParcelableEntity implements Parcelable {
private static final Gson GSON = new GsonBuilder().create();
public ParcelableEntity(Object obj) {
this.obj = obj;
}
private Object obj;
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(obj.getClass().getName());
parcel.writeString(GSON.toJson(obj));
}
@Override
public int describeContents() { return 0; }
public static final Parcelable.Creator CREATOR = new Creator<ParcelableEntity>() {
@Override
public ParcelableEntity createFromParcel(Parcel parcel) {
try {
Class clazz = Class.forName(parcel.readString());
Object obj = GSON.fromJson(parcel.readString(), clazz); // $unsafeDeserialization
return new ParcelableEntity(obj);
}
catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
@Override
public ParcelableEntity[] newArray(int size) {
return new ParcelableEntity[size];
}
};
}

View File

@@ -1 +1 @@
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/snakeyaml-1.21:${testdir}/../../../stubs/xstream-1.4.10:${testdir}/../../../stubs/kryo-4.0.2:${testdir}/../../../stubs/jsr311-api-1.1.1:${testdir}/../../../stubs/fastjson-1.2.74:${testdir}/../../../stubs/springframework-5.3.8:${testdir}/../../../stubs/servlet-api-2.4:${testdir}/../../../stubs/jyaml-1.3:${testdir}/../../../stubs/json-io-4.10.0:${testdir}/../../../stubs/yamlbeans-1.09:${testdir}/../../../stubs/hessian-4.0.38:${testdir}/../../../stubs/castor-1.4.1:${testdir}/../../../stubs/jackson-databind-2.12:${testdir}/../../../stubs/jackson-core-2.12:${testdir}/../../../stubs/jabsorb-1.3.2:${testdir}/../../../stubs/json-java-20210307:${testdir}/../../../stubs/joddjson-6.0.3:${testdir}/../../../stubs/flexjson-2.1
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/snakeyaml-1.21:${testdir}/../../../stubs/xstream-1.4.10:${testdir}/../../../stubs/kryo-4.0.2:${testdir}/../../../stubs/jsr311-api-1.1.1:${testdir}/../../../stubs/fastjson-1.2.74:${testdir}/../../../stubs/springframework-5.3.8:${testdir}/../../../stubs/servlet-api-2.4:${testdir}/../../../stubs/jyaml-1.3:${testdir}/../../../stubs/json-io-4.10.0:${testdir}/../../../stubs/yamlbeans-1.09:${testdir}/../../../stubs/hessian-4.0.38:${testdir}/../../../stubs/castor-1.4.1:${testdir}/../../../stubs/jackson-databind-2.12:${testdir}/../../../stubs/jackson-core-2.12:${testdir}/../../../stubs/jabsorb-1.3.2:${testdir}/../../../stubs/json-java-20210307:${testdir}/../../../stubs/joddjson-6.0.3:${testdir}/../../../stubs/flexjson-2.1:${testdir}/../../../stubs/gson-2.8.6:${testdir}/../../../stubs/google-android-9.0.0

View File

@@ -0,0 +1,21 @@
// Generated automatically from android.accounts.Account for testing purposes
package android.accounts;
import android.os.Parcel;
import android.os.Parcelable;
public class Account implements Parcelable
{
protected Account() {}
public Account(Parcel p0){}
public Account(String p0, String p1){}
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public final String name = null;
public final String type = null;
public int describeContents(){ return 0; }
public int hashCode(){ return 0; }
public static Parcelable.Creator<Account> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,38 @@
/*
* Copyright (C) 2013 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 android.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.SOURCE;
/**
* Denotes that a integer parameter, field or method return value is expected
* to be a style resource reference (e.g. {@link android.R.style#TextAppearance}).
*
* {@hide}
*/
@Documented
@Retention(SOURCE)
@Target({METHOD, PARAMETER, FIELD})
public @interface StyleRes {
}

View File

@@ -15,11 +15,10 @@
*/
package android.app;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.Intent;
import android.content.ComponentCallbacks2;
import android.os.Bundle;
import android.view.View;
import android.view.*;
/**
* An activity is a single, focused thing that the user can do. Almost all
@@ -189,7 +188,7 @@ import android.view.View;
* </p>
*
* </p>
*
*
* <pre class="prettyprint">
* public class Activity extends ApplicationContext {
* protected void onCreate(Bundle savedInstanceState);
@@ -677,16 +676,7 @@ import android.view.View;
* upload, independent of whether the original activity is paused, stopped, or
* finished.
*/
public class Activity extends ContextWrapper {
/** Standard activity result: operation canceled. */
public static final int RESULT_CANCELED = 0;
/** Standard activity result: operation succeeded. */
public static final int RESULT_OK = -1;
/** Start of user-defined activity results. */
public static final int RESULT_FIRST_USER = 1;
public class Activity extends ContextThemeWrapper {
/** Return the intent that started this activity. */
public Intent getIntent() {
return null;
@@ -1154,36 +1144,7 @@ public class Activity extends ContextWrapper {
public void startActivities(Intent[] intents, Bundle options) {
}
/**
* Called when an activity you launched exits, giving you the requestCode
* you started it with, the resultCode it returned, and any additional
* data from it. The <var>resultCode</var> will be
* {@link #RESULT_CANCELED} if the activity explicitly returned that,
* didn't return any result, or crashed during its operation.
*
* <p>An activity can never receive a result in the resumed state. You can count on
* {@link #onResume} being called after this method, though not necessarily immediately after.
* If the activity was resumed, it will be paused and the result will be delivered, followed
* by {@link #onResume}. If the activity wasn't in the resumed state, then the result will
* be delivered, with {@link #onResume} called sometime later when the activity becomes active
* again.
*
* <p>This method is never invoked if your activity sets
* {@link android.R.styleable#AndroidManifestActivity_noHistory noHistory} to
* <code>true</code>.
*
* @param requestCode The integer request code originally supplied to
* startActivityForResult(), allowing you to identify who this
* result came from.
* @param resultCode The integer result code returned by the child activity
* through its setResult().
* @param data An Intent, which can return result data to the caller
* (various data can be attached to Intent "extras").
*
* @see #startActivityForResult
* @see #createPendingResult
* @see #setResult(int)
*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) { }
public static final int RESULT_OK = -1;
}

View File

@@ -1,255 +1,46 @@
/*
* Copyright (C) 2006 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.
*/
// Generated automatically from android.content.BroadcastReceiver for testing purposes
package android.content;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
/**
* Base class for code that will receive intents sent by sendBroadcast().
*
* <p>If you don't need to send broadcasts across applications, consider using
* this class with {@link android.support.v4.content.LocalBroadcastManager} instead
* of the more general facilities described below. This will give you a much
* more efficient implementation (no cross-process communication needed) and allow
* you to avoid thinking about any security issues related to other applications
* being able to receive or send your broadcasts.
*
* <p>You can either dynamically register an instance of this class with
* {@link Context#registerReceiver Context.registerReceiver()}
* or statically publish an implementation through the
* {@link android.R.styleable#AndroidManifestReceiver &lt;receiver&gt;}
* tag in your <code>AndroidManifest.xml</code>.
*
* <p><em><strong>Note:</strong></em>
* &nbsp;&nbsp;&nbsp;If registering a receiver in your
* {@link android.app.Activity#onResume() Activity.onResume()}
* implementation, you should unregister it in
* {@link android.app.Activity#onPause() Activity.onPause()}.
* (You won't receive intents when paused,
* and this will cut down on unnecessary system overhead). Do not unregister in
* {@link android.app.Activity#onSaveInstanceState(android.os.Bundle) Activity.onSaveInstanceState()},
* because this won't be called if the user moves back in the history
* stack.
*
* <p>There are two major classes of broadcasts that can be received:</p>
* <ul>
* <li> <b>Normal broadcasts</b> (sent with {@link Context#sendBroadcast(Intent)
* Context.sendBroadcast}) are completely asynchronous. All receivers of the
* broadcast are run in an undefined order, often at the same time. This is
* more efficient, but means that receivers cannot use the result or abort
* APIs included here.
* <li> <b>Ordered broadcasts</b> (sent with {@link Context#sendOrderedBroadcast(Intent, String)
* Context.sendOrderedBroadcast}) are delivered to one receiver at a time.
* As each receiver executes in turn, it can propagate a result to the next
* receiver, or it can completely abort the broadcast so that it won't be passed
* to other receivers. The order receivers run in can be controlled with the
* {@link android.R.styleable#AndroidManifestIntentFilter_priority
* android:priority} attribute of the matching intent-filter; receivers with
* the same priority will be run in an arbitrary order.
* </ul>
*
* <p>Even in the case of normal broadcasts, the system may in some
* situations revert to delivering the broadcast one receiver at a time. In
* particular, for receivers that may require the creation of a process, only
* one will be run at a time to avoid overloading the system with new processes.
* In this situation, however, the non-ordered semantics hold: these receivers still
* cannot return results or abort their broadcast.</p>
*
* <p>Note that, although the Intent class is used for sending and receiving
* these broadcasts, the Intent broadcast mechanism here is completely separate
* from Intents that are used to start Activities with
* {@link Context#startActivity Context.startActivity()}.
* There is no way for a BroadcastReceiver
* to see or capture Intents used with startActivity(); likewise, when
* you broadcast an Intent, you will never find or start an Activity.
* These two operations are semantically very different: starting an
* Activity with an Intent is a foreground operation that modifies what the
* user is currently interacting with; broadcasting an Intent is a background
* operation that the user is not normally aware of.
*
* <p>The BroadcastReceiver class (when launched as a component through
* a manifest's {@link android.R.styleable#AndroidManifestReceiver &lt;receiver&gt;}
* tag) is an important part of an
* <a href="{@docRoot}guide/topics/fundamentals.html#lcycles">application's overall lifecycle</a>.</p>
*
* <p>Topics covered here:
* <ol>
* <li><a href="#Security">Security</a>
* <li><a href="#ReceiverLifecycle">Receiver Lifecycle</a>
* <li><a href="#ProcessLifecycle">Process Lifecycle</a>
* </ol>
*
* <div class="special reference">
* <h3>Developer Guides</h3>
* <p>For information about how to use this class to receive and resolve intents, read the
* <a href="{@docRoot}guide/topics/intents/intents-filters.html">Intents and Intent Filters</a>
* developer guide.</p>
* </div>
*
* <a name="Security"></a>
* <h3>Security</h3>
*
* <p>Receivers used with the {@link Context} APIs are by their nature a
* cross-application facility, so you must consider how other applications
* may be able to abuse your use of them. Some things to consider are:
*
* <ul>
* <li><p>The Intent namespace is global. Make sure that Intent action names and
* other strings are written in a namespace you own, or else you may inadvertantly
* conflict with other applications.
* <li><p>When you use {@link Context#registerReceiver(BroadcastReceiver, IntentFilter)},
* <em>any</em> application may send broadcasts to that registered receiver. You can
* control who can send broadcasts to it through permissions described below.
* <li><p>When you publish a receiver in your application's manifest and specify
* intent-filters for it, any other application can send broadcasts to it regardless
* of the filters you specify. To prevent others from sending to it, make it
* unavailable to them with <code>android:exported="false"</code>.
* <li><p>When you use {@link Context#sendBroadcast(Intent)} or related methods,
* normally any other application can receive these broadcasts. You can control who
* can receive such broadcasts through permissions described below. Alternatively,
* starting with {@link android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH}, you
* can also safely restrict the broadcast to a single application with
* {@link Intent#setPackage(String) Intent.setPackage}
* </ul>
*
* <p>None of these issues exist when using
* {@link android.support.v4.content.LocalBroadcastManager}, since intents
* broadcast it never go outside of the current process.
*
* <p>Access permissions can be enforced by either the sender or receiver
* of a broadcast.
*
* <p>To enforce a permission when sending, you supply a non-null
* <var>permission</var> argument to
* {@link Context#sendBroadcast(Intent, String)} or
* {@link Context#sendOrderedBroadcast(Intent, String, BroadcastReceiver, android.os.Handler, int, String, Bundle)}.
* Only receivers who have been granted this permission
* (by requesting it with the
* {@link android.R.styleable#AndroidManifestUsesPermission &lt;uses-permission&gt;}
* tag in their <code>AndroidManifest.xml</code>) will be able to receive
* the broadcast.
*
* <p>To enforce a permission when receiving, you supply a non-null
* <var>permission</var> when registering your receiver -- either when calling
* {@link Context#registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler)}
* or in the static
* {@link android.R.styleable#AndroidManifestReceiver &lt;receiver&gt;}
* tag in your <code>AndroidManifest.xml</code>. Only broadcasters who have
* been granted this permission (by requesting it with the
* {@link android.R.styleable#AndroidManifestUsesPermission &lt;uses-permission&gt;}
* tag in their <code>AndroidManifest.xml</code>) will be able to send an
* Intent to the receiver.
*
* <p>See the <a href="{@docRoot}guide/topics/security/security.html">Security and Permissions</a>
* document for more information on permissions and security in general.
*
* <a name="ReceiverLifecycle"></a>
* <h3>Receiver Lifecycle</h3>
*
* <p>A BroadcastReceiver object is only valid for the duration of the call
* to {@link #onReceive}. Once your code returns from this function,
* the system considers the object to be finished and no longer active.
*
* <p>This has important repercussions to what you can do in an
* {@link #onReceive} implementation: anything that requires asynchronous
* operation is not available, because you will need to return from the
* function to handle the asynchronous operation, but at that point the
* BroadcastReceiver is no longer active and thus the system is free to kill
* its process before the asynchronous operation completes.
*
* <p>In particular, you may <i>not</i> show a dialog or bind to a service from
* within a BroadcastReceiver. For the former, you should instead use the
* {@link android.app.NotificationManager} API. For the latter, you can
* use {@link android.content.Context#startService Context.startService()} to
* send a command to the service.
*
* <a name="ProcessLifecycle"></a>
* <h3>Process Lifecycle</h3>
*
* <p>A process that is currently executing a BroadcastReceiver (that is,
* currently running the code in its {@link #onReceive} method) is
* considered to be a foreground process and will be kept running by the
* system except under cases of extreme memory pressure.
*
* <p>Once you return from onReceive(), the BroadcastReceiver is no longer
* active, and its hosting process is only as important as any other application
* components that are running in it. This is especially important because if
* that process was only hosting the BroadcastReceiver (a common case for
* applications that the user has never or not recently interacted with), then
* upon returning from onReceive() the system will consider its process
* to be empty and aggressively kill it so that resources are available for other
* more important processes.
*
* <p>This means that for longer-running operations you will often use
* a {@link android.app.Service} in conjunction with a BroadcastReceiver to keep
* the containing process active for the entire time of your operation.
*/
public abstract class BroadcastReceiver {
/**
* State for a result that is pending for a broadcast receiver. Returned
* by {@link BroadcastReceiver#goAsync() goAsync()}
* while in {@link BroadcastReceiver#onReceive BroadcastReceiver.onReceive()}.
* This allows you to return from onReceive() without having the broadcast
* terminate; you must call {@link #finish()} once you are done with the
* broadcast. This allows you to process the broadcast off of the main
* thread of your app.
*
* <p>Note on threading: the state inside of this class is not itself
* thread-safe, however you can use it from any thread if you properly
* sure that you do not have races. Typically this means you will hand
* the entire object to another thread, which will be solely responsible
* for setting any results and finally calling {@link #finish()}.
*/
public BroadcastReceiver() {
import android.os.IBinder;
abstract public class BroadcastReceiver
{
public BroadcastReceiver(){}
public IBinder peekService(Context p0, Intent p1){ return null; }
public abstract void onReceive(Context p0, Intent p1);
public final BroadcastReceiver.PendingResult goAsync(){ return null; }
public final Bundle getResultExtras(boolean p0){ return null; }
public final String getResultData(){ return null; }
public final boolean getAbortBroadcast(){ return false; }
public final boolean getDebugUnregister(){ return false; }
public final boolean isInitialStickyBroadcast(){ return false; }
public final boolean isOrderedBroadcast(){ return false; }
public final int getResultCode(){ return 0; }
public final void abortBroadcast(){}
public final void clearAbortBroadcast(){}
public final void setDebugUnregister(boolean p0){}
public final void setOrderedHint(boolean p0){}
public final void setResult(int p0, String p1, Bundle p2){}
public final void setResultCode(int p0){}
public final void setResultData(String p0){}
public final void setResultExtras(Bundle p0){}
static public class PendingResult
{
protected PendingResult() {}
public final Bundle getResultExtras(boolean p0){ return null; }
public final String getResultData(){ return null; }
public final boolean getAbortBroadcast(){ return false; }
public final int getResultCode(){ return 0; }
public final void abortBroadcast(){}
public final void clearAbortBroadcast(){}
public final void finish(){}
public final void setResult(int p0, String p1, Bundle p2){}
public final void setResultCode(int p0){}
public final void setResultData(String p0){}
public final void setResultExtras(Bundle p0){}
}
/**
* This method is called when the BroadcastReceiver is receiving an Intent
* broadcast. During this time you can use the other methods on
* BroadcastReceiver to view/modify the current result values. This method
* is always called within the main thread of its process, unless you
* explicitly asked for it to be scheduled on a different thread using
* {@link android.content.Context#registerReceiver(BroadcastReceiver,
* IntentFilter, String, android.os.Handler)}. When it runs on the main
* thread you should
* never perform long-running operations in it (there is a timeout of
* 10 seconds that the system allows before considering the receiver to
* be blocked and a candidate to be killed). You cannot launch a popup dialog
* in your implementation of onReceive().
*
* <p><b>If this BroadcastReceiver was launched through a &lt;receiver&gt; tag,
* then the object is no longer alive after returning from this
* function.</b> This means you should not perform any operations that
* return a result to you asynchronously -- in particular, for interacting
* with services, you should use
* {@link Context#startService(Intent)} instead of
* {@link Context#bindService(Intent, ServiceConnection, int)}. If you wish
* to interact with a service that is already running, you can use
* {@link #peekService}.
*
* <p>The Intent filters used in {@link android.content.Context#registerReceiver}
* and in application manifests are <em>not</em> guaranteed to be exclusive. They
* are hints to the operating system about how to find suitable recipients. It is
* possible for senders to force delivery to specific recipients, bypassing filter
* resolution. For this reason, {@link #onReceive(Context, Intent) onReceive()}
* implementations should respond only to known actions, ignoring any unexpected
* Intents that they may receive.
*
* @param context The Context in which the receiver is running.
* @param intent The Intent being received.
*/
public abstract void onReceive(Context context, Intent intent);
}
}

View File

@@ -0,0 +1,51 @@
// Generated automatically from android.content.ClipData for testing purposes
package android.content;
import android.content.ClipDescription;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
public class ClipData implements Parcelable
{
protected ClipData() {}
public ClipData(CharSequence p0, String[] p1, ClipData.Item p2){}
public ClipData(ClipData p0){}
public ClipData(ClipDescription p0, ClipData.Item p1){}
public ClipData.Item getItemAt(int p0){ return null; }
public ClipDescription getDescription(){ return null; }
public String toString(){ return null; }
public int describeContents(){ return 0; }
public int getItemCount(){ return 0; }
public static ClipData newHtmlText(CharSequence p0, CharSequence p1, String p2){ return null; }
public static ClipData newIntent(CharSequence p0, Intent p1){ return null; }
public static ClipData newPlainText(CharSequence p0, CharSequence p1){ return null; }
public static ClipData newRawUri(CharSequence p0, Uri p1){ return null; }
public static ClipData newUri(ContentResolver p0, CharSequence p1, Uri p2){ return null; }
public static Parcelable.Creator<ClipData> CREATOR = null;
public void addItem(ClipData.Item p0){}
public void addItem(ContentResolver p0, ClipData.Item p1){}
public void writeToParcel(Parcel p0, int p1){}
static public class Item
{
protected Item() {}
public CharSequence coerceToStyledText(Context p0){ return null; }
public CharSequence coerceToText(Context p0){ return null; }
public CharSequence getText(){ return null; }
public Intent getIntent(){ return null; }
public Item(CharSequence p0){}
public Item(CharSequence p0, Intent p1, Uri p2){}
public Item(CharSequence p0, String p1){}
public Item(CharSequence p0, String p1, Intent p2, Uri p3){}
public Item(Intent p0){}
public Item(Uri p0){}
public String coerceToHtmlText(Context p0){ return null; }
public String getHtmlText(){ return null; }
public String toString(){ return null; }
public Uri getUri(){ return null; }
}
}

View File

@@ -0,0 +1,31 @@
// Generated automatically from android.content.ClipDescription for testing purposes
package android.content;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.PersistableBundle;
public class ClipDescription implements Parcelable
{
protected ClipDescription() {}
public CharSequence getLabel(){ return null; }
public ClipDescription(CharSequence p0, String[] p1){}
public ClipDescription(ClipDescription p0){}
public PersistableBundle getExtras(){ return null; }
public String getMimeType(int p0){ return null; }
public String toString(){ return null; }
public String[] filterMimeTypes(String p0){ return null; }
public boolean hasMimeType(String p0){ return false; }
public int describeContents(){ return 0; }
public int getMimeTypeCount(){ return 0; }
public long getTimestamp(){ return 0; }
public static Parcelable.Creator<ClipDescription> CREATOR = null;
public static String MIMETYPE_TEXT_HTML = null;
public static String MIMETYPE_TEXT_INTENT = null;
public static String MIMETYPE_TEXT_PLAIN = null;
public static String MIMETYPE_TEXT_URILIST = null;
public static boolean compareMimeTypes(String p0, String p1){ return false; }
public void setExtras(PersistableBundle p0){}
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,11 @@
// Generated automatically from android.content.ComponentCallbacks for testing purposes
package android.content;
import android.content.res.Configuration;
public interface ComponentCallbacks
{
void onConfigurationChanged(Configuration p0);
void onLowMemory();
}

View File

@@ -0,0 +1,17 @@
// Generated automatically from android.content.ComponentCallbacks2 for testing purposes
package android.content;
import android.content.ComponentCallbacks;
public interface ComponentCallbacks2 extends ComponentCallbacks
{
static int TRIM_MEMORY_BACKGROUND = 0;
static int TRIM_MEMORY_COMPLETE = 0;
static int TRIM_MEMORY_MODERATE = 0;
static int TRIM_MEMORY_RUNNING_CRITICAL = 0;
static int TRIM_MEMORY_RUNNING_LOW = 0;
static int TRIM_MEMORY_RUNNING_MODERATE = 0;
static int TRIM_MEMORY_UI_HIDDEN = 0;
void onTrimMemory(int p0);
}

View File

@@ -1,29 +1,35 @@
/*
* Copyright (C) 2006 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.
*/
// Generated automatically from android.content.ComponentName for testing purposes
package android.content;
/**
* Identifier for a specific application component
* ({@link android.app.Activity}, {@link android.app.Service},
* {@link android.content.BroadcastReceiver}, or
* {@link android.content.ContentProvider}) that is available. Two
* pieces of information, encapsulated here, are required to identify
* a component: the package (a String) it exists in, and the class (a String)
* name inside of that package.
*
*/
public final class ComponentName {
import android.content.Context;
import android.os.Parcel;
import android.os.Parcelable;
public class ComponentName implements Cloneable, Comparable<ComponentName>, Parcelable
{
protected ComponentName() {}
public ComponentName clone(){ return null; }
public ComponentName(Context p0, Class<? extends Object> p1){}
public ComponentName(Context p0, String p1){}
public ComponentName(Parcel p0){}
public ComponentName(String p0, String p1){}
public String flattenToShortString(){ return null; }
public String flattenToString(){ return null; }
public String getClassName(){ return null; }
public String getPackageName(){ return null; }
public String getShortClassName(){ return null; }
public String toShortString(){ return null; }
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public int compareTo(ComponentName p0){ return 0; }
public int describeContents(){ return 0; }
public int hashCode(){ return 0; }
public static ComponentName createRelative(Context p0, String p1){ return null; }
public static ComponentName createRelative(String p0, String p1){ return null; }
public static ComponentName readFromParcel(Parcel p0){ return null; }
public static ComponentName unflattenFromString(String p0){ return null; }
public static Parcelable.Creator<ComponentName> CREATOR = null;
public static void writeToParcel(ComponentName p0, Parcel p1){}
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,46 @@
// Generated automatically from android.content.ContentProviderClient for testing purposes
package android.content;
import android.content.ContentProvider;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
import android.content.ContentValues;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.ParcelFileDescriptor;
import java.util.ArrayList;
public class ContentProviderClient implements AutoCloseable
{
protected void finalize(){}
public AssetFileDescriptor openAssetFile(Uri p0, String p1){ return null; }
public AssetFileDescriptor openAssetFile(Uri p0, String p1, CancellationSignal p2){ return null; }
public Bundle call(String p0, String p1, Bundle p2){ return null; }
public Bundle call(String p0, String p1, String p2, Bundle p3){ return null; }
public ContentProvider getLocalContentProvider(){ return null; }
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> p0){ return null; }
public ContentProviderResult[] applyBatch(String p0, ArrayList<ContentProviderOperation> p1){ return null; }
public Cursor query(Uri p0, String[] p1, Bundle p2, CancellationSignal p3){ return null; }
public Cursor query(Uri p0, String[] p1, String p2, String[] p3, String p4){ return null; }
public Cursor query(Uri p0, String[] p1, String p2, String[] p3, String p4, CancellationSignal p5){ return null; }
public ParcelFileDescriptor openFile(Uri p0, String p1){ return null; }
public ParcelFileDescriptor openFile(Uri p0, String p1, CancellationSignal p2){ return null; }
public String getType(Uri p0){ return null; }
public String[] getStreamTypes(Uri p0, String p1){ return null; }
public Uri insert(Uri p0, ContentValues p1){ return null; }
public boolean refresh(Uri p0, Bundle p1, CancellationSignal p2){ return false; }
public boolean release(){ return false; }
public final AssetFileDescriptor openTypedAssetFile(Uri p0, String p1, Bundle p2, CancellationSignal p3){ return null; }
public final AssetFileDescriptor openTypedAssetFileDescriptor(Uri p0, String p1, Bundle p2){ return null; }
public final AssetFileDescriptor openTypedAssetFileDescriptor(Uri p0, String p1, Bundle p2, CancellationSignal p3){ return null; }
public final Uri canonicalize(Uri p0){ return null; }
public final Uri uncanonicalize(Uri p0){ return null; }
public int bulkInsert(Uri p0, ContentValues[] p1){ return 0; }
public int delete(Uri p0, String p1, String[] p2){ return 0; }
public int update(Uri p0, ContentValues p1, String p2, String[] p3){ return 0; }
public void close(){}
}

View File

@@ -0,0 +1,47 @@
// Generated automatically from android.content.ContentProviderOperation for testing purposes
package android.content;
import android.content.ContentProvider;
import android.content.ContentProviderResult;
import android.content.ContentValues;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
public class ContentProviderOperation implements Parcelable
{
protected ContentProviderOperation() {}
public ContentProviderResult apply(ContentProvider p0, ContentProviderResult[] p1, int p2){ return null; }
public ContentValues resolveValueBackReferences(ContentProviderResult[] p0, int p1){ return null; }
public String toString(){ return null; }
public String[] resolveSelectionArgsBackReferences(ContentProviderResult[] p0, int p1){ return null; }
public Uri getUri(){ return null; }
public boolean isAssertQuery(){ return false; }
public boolean isDelete(){ return false; }
public boolean isInsert(){ return false; }
public boolean isReadOperation(){ return false; }
public boolean isUpdate(){ return false; }
public boolean isWriteOperation(){ return false; }
public boolean isYieldAllowed(){ return false; }
public int describeContents(){ return 0; }
public static ContentProviderOperation.Builder newAssertQuery(Uri p0){ return null; }
public static ContentProviderOperation.Builder newDelete(Uri p0){ return null; }
public static ContentProviderOperation.Builder newInsert(Uri p0){ return null; }
public static ContentProviderOperation.Builder newUpdate(Uri p0){ return null; }
public static Parcelable.Creator<ContentProviderOperation> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
static public class Builder
{
protected Builder() {}
public ContentProviderOperation build(){ return null; }
public ContentProviderOperation.Builder withExpectedCount(int p0){ return null; }
public ContentProviderOperation.Builder withSelection(String p0, String[] p1){ return null; }
public ContentProviderOperation.Builder withSelectionBackReference(int p0, int p1){ return null; }
public ContentProviderOperation.Builder withValue(String p0, Object p1){ return null; }
public ContentProviderOperation.Builder withValueBackReference(String p0, int p1){ return null; }
public ContentProviderOperation.Builder withValueBackReferences(ContentValues p0){ return null; }
public ContentProviderOperation.Builder withValues(ContentValues p0){ return null; }
public ContentProviderOperation.Builder withYieldAllowed(boolean p0){ return null; }
}
}

View File

@@ -0,0 +1,21 @@
// Generated automatically from android.content.ContentProviderResult for testing purposes
package android.content;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
public class ContentProviderResult implements Parcelable
{
protected ContentProviderResult() {}
public ContentProviderResult(Parcel p0){}
public ContentProviderResult(Uri p0){}
public ContentProviderResult(int p0){}
public String toString(){ return null; }
public final Integer count = null;
public final Uri uri = null;
public int describeContents(){ return 0; }
public static Parcelable.Creator<ContentProviderResult> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,148 @@
// Generated automatically from android.content.ContentResolver for testing purposes
package android.content;
import android.accounts.Account;
import android.content.ContentProvider;
import android.content.ContentProviderClient;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
import android.content.ContentValues;
import android.content.Context;
import android.content.PeriodicSync;
import android.content.SyncAdapterType;
import android.content.SyncInfo;
import android.content.SyncRequest;
import android.content.SyncStatusObserver;
import android.content.UriPermission;
import android.content.res.AssetFileDescriptor;
import android.database.ContentObserver;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.drawable.Icon;
import android.net.Uri;
import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.ParcelFileDescriptor;
import android.util.Size;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
abstract public class ContentResolver
{
protected ContentResolver() {}
public Bitmap loadThumbnail(Uri p0, Size p1, CancellationSignal p2){ return null; }
public ContentProviderResult[] applyBatch(String p0, ArrayList<ContentProviderOperation> p1){ return null; }
public ContentResolver(Context p0){}
public List<UriPermission> getOutgoingPersistedUriPermissions(){ return null; }
public List<UriPermission> getPersistedUriPermissions(){ return null; }
public String[] getStreamTypes(Uri p0, String p1){ return null; }
public final AssetFileDescriptor openAssetFile(Uri p0, String p1, CancellationSignal p2){ return null; }
public final AssetFileDescriptor openAssetFileDescriptor(Uri p0, String p1){ return null; }
public final AssetFileDescriptor openAssetFileDescriptor(Uri p0, String p1, CancellationSignal p2){ return null; }
public final AssetFileDescriptor openTypedAssetFile(Uri p0, String p1, Bundle p2, CancellationSignal p3){ return null; }
public final AssetFileDescriptor openTypedAssetFileDescriptor(Uri p0, String p1, Bundle p2){ return null; }
public final AssetFileDescriptor openTypedAssetFileDescriptor(Uri p0, String p1, Bundle p2, CancellationSignal p3){ return null; }
public final Bundle call(String p0, String p1, String p2, Bundle p3){ return null; }
public final Bundle call(Uri p0, String p1, String p2, Bundle p3){ return null; }
public final ContentProviderClient acquireContentProviderClient(String p0){ return null; }
public final ContentProviderClient acquireContentProviderClient(Uri p0){ return null; }
public final ContentProviderClient acquireUnstableContentProviderClient(String p0){ return null; }
public final ContentProviderClient acquireUnstableContentProviderClient(Uri p0){ return null; }
public final ContentResolver.MimeTypeInfo getTypeInfo(String p0){ return null; }
public final Cursor query(Uri p0, String[] p1, Bundle p2, CancellationSignal p3){ return null; }
public final Cursor query(Uri p0, String[] p1, String p2, String[] p3, String p4){ return null; }
public final Cursor query(Uri p0, String[] p1, String p2, String[] p3, String p4, CancellationSignal p5){ return null; }
public final InputStream openInputStream(Uri p0){ return null; }
public final OutputStream openOutputStream(Uri p0){ return null; }
public final OutputStream openOutputStream(Uri p0, String p1){ return null; }
public final ParcelFileDescriptor openFile(Uri p0, String p1, CancellationSignal p2){ return null; }
public final ParcelFileDescriptor openFileDescriptor(Uri p0, String p1){ return null; }
public final ParcelFileDescriptor openFileDescriptor(Uri p0, String p1, CancellationSignal p2){ return null; }
public final String getType(Uri p0){ return null; }
public final Uri canonicalize(Uri p0){ return null; }
public final Uri insert(Uri p0, ContentValues p1){ return null; }
public final Uri uncanonicalize(Uri p0){ return null; }
public final boolean refresh(Uri p0, Bundle p1, CancellationSignal p2){ return false; }
public final int bulkInsert(Uri p0, ContentValues[] p1){ return 0; }
public final int delete(Uri p0, String p1, String[] p2){ return 0; }
public final int update(Uri p0, ContentValues p1, String p2, String[] p3){ return 0; }
public final void registerContentObserver(Uri p0, boolean p1, ContentObserver p2){}
public final void unregisterContentObserver(ContentObserver p0){}
public static ContentResolver wrap(ContentProvider p0){ return null; }
public static ContentResolver wrap(ContentProviderClient p0){ return null; }
public static List<PeriodicSync> getPeriodicSyncs(Account p0, String p1){ return null; }
public static List<SyncInfo> getCurrentSyncs(){ return null; }
public static Object addStatusChangeListener(int p0, SyncStatusObserver p1){ return null; }
public static String ANY_CURSOR_ITEM_TYPE = null;
public static String CURSOR_DIR_BASE_TYPE = null;
public static String CURSOR_ITEM_BASE_TYPE = null;
public static String EXTRA_HONORED_ARGS = null;
public static String EXTRA_REFRESH_SUPPORTED = null;
public static String EXTRA_SIZE = null;
public static String EXTRA_TOTAL_COUNT = null;
public static String QUERY_ARG_LIMIT = null;
public static String QUERY_ARG_OFFSET = null;
public static String QUERY_ARG_SORT_COLLATION = null;
public static String QUERY_ARG_SORT_COLUMNS = null;
public static String QUERY_ARG_SORT_DIRECTION = null;
public static String QUERY_ARG_SQL_SELECTION = null;
public static String QUERY_ARG_SQL_SELECTION_ARGS = null;
public static String QUERY_ARG_SQL_SORT_ORDER = null;
public static String SCHEME_ANDROID_RESOURCE = null;
public static String SCHEME_CONTENT = null;
public static String SCHEME_FILE = null;
public static String SYNC_EXTRAS_ACCOUNT = null;
public static String SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS = null;
public static String SYNC_EXTRAS_DO_NOT_RETRY = null;
public static String SYNC_EXTRAS_EXPEDITED = null;
public static String SYNC_EXTRAS_FORCE = null;
public static String SYNC_EXTRAS_IGNORE_BACKOFF = null;
public static String SYNC_EXTRAS_IGNORE_SETTINGS = null;
public static String SYNC_EXTRAS_INITIALIZE = null;
public static String SYNC_EXTRAS_MANUAL = null;
public static String SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS = null;
public static String SYNC_EXTRAS_REQUIRE_CHARGING = null;
public static String SYNC_EXTRAS_UPLOAD = null;
public static SyncAdapterType[] getSyncAdapterTypes(){ return null; }
public static SyncInfo getCurrentSync(){ return null; }
public static boolean getMasterSyncAutomatically(){ return false; }
public static boolean getSyncAutomatically(Account p0, String p1){ return false; }
public static boolean isSyncActive(Account p0, String p1){ return false; }
public static boolean isSyncPending(Account p0, String p1){ return false; }
public static int NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS = 0;
public static int NOTIFY_SYNC_TO_NETWORK = 0;
public static int QUERY_SORT_DIRECTION_ASCENDING = 0;
public static int QUERY_SORT_DIRECTION_DESCENDING = 0;
public static int SYNC_OBSERVER_TYPE_ACTIVE = 0;
public static int SYNC_OBSERVER_TYPE_PENDING = 0;
public static int SYNC_OBSERVER_TYPE_SETTINGS = 0;
public static int getIsSyncable(Account p0, String p1){ return 0; }
public static void addPeriodicSync(Account p0, String p1, Bundle p2, long p3){}
public static void cancelSync(Account p0, String p1){}
public static void cancelSync(SyncRequest p0){}
public static void removePeriodicSync(Account p0, String p1, Bundle p2){}
public static void removeStatusChangeListener(Object p0){}
public static void requestSync(Account p0, String p1, Bundle p2){}
public static void requestSync(SyncRequest p0){}
public static void setIsSyncable(Account p0, String p1, int p2){}
public static void setMasterSyncAutomatically(boolean p0){}
public static void setSyncAutomatically(Account p0, String p1, boolean p2){}
public static void validateSyncExtrasBundle(Bundle p0){}
public void cancelSync(Uri p0){}
public void notifyChange(Uri p0, ContentObserver p1){}
public void notifyChange(Uri p0, ContentObserver p1, boolean p2){}
public void notifyChange(Uri p0, ContentObserver p1, int p2){}
public void releasePersistableUriPermission(Uri p0, int p1){}
public void startSync(Uri p0, Bundle p1){}
public void takePersistableUriPermission(Uri p0, int p1){}
static public class MimeTypeInfo
{
protected MimeTypeInfo() {}
public CharSequence getContentDescription(){ return null; }
public CharSequence getLabel(){ return null; }
public Icon getIcon(){ return null; }
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -15,8 +15,38 @@
*/
package android.content;
import java.io.File;
import android.content.BroadcastReceiver;
import android.content.ComponentCallbacks;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentSender;
import android.content.ServiceConnection;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.AssetManager;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.UserHandle;
import android.util.AttributeSet;
import android.view.Display;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.concurrent.Executor;
/**
* Proxying implementation of Context that simply delegates all of its calls to
@@ -29,106 +59,6 @@ public class ContextWrapper extends Context {
public ContextWrapper(Context base) {
}
@Override
public Context getApplicationContext() {
return null;
}
@Override
public File getFileStreamPath(String name) {
return null;
}
@Override
public SharedPreferences getSharedPreferences(String name, int mode) {
return null;
}
@Override
public File getSharedPrefsFile(String name) {
return null;
}
@Override
public String[] fileList() {
return null;
}
@Override
public File getDataDir() {
return null;
}
@Override
public File getFilesDir() {
return null;
}
@Override
public File getNoBackupFilesDir() {
return null;
}
@Override
public File getExternalFilesDir(String type) {
return null;
}
@Override
public File[] getExternalFilesDirs(String type) {
return null;
}
@Override
public File getObbDir() {
return null;
}
@Override
public File[] getObbDirs() {
return null;
}
@Override
public File getCacheDir() {
return null;
}
@Override
public File getCodeCacheDir() {
return null;
}
@Override
public File getExternalCacheDir() {
return null;
}
@Override
public File[] getExternalCacheDirs() {
return null;
}
@Override
public File[] getExternalMediaDirs() {
return null;
}
@Override
public File getDir(String name, int mode) {
return null;
}
/** @hide **/
@Override
public File getPreloadsFileCache() {
return null;
}
@Override
public void startActivity(Intent intent) {
}
/** @hide **/
public void startActivityForResult(
@@ -139,48 +69,110 @@ public class ContextWrapper extends Context {
public boolean canStartActivityForResult() {
return false;
}
@Override
public void startActivity(Intent intent, Bundle options) {
}
@Override
public void startActivities(Intent[] intents) {
}
@Override
public void startActivities(Intent[] intents, Bundle options) {
}
@Override
public void sendBroadcast(Intent intent) {
}
@Override
public void sendBroadcast(Intent intent, String receiverPermission) {
}
@Override
public void sendBroadcastWithMultiplePermissions(Intent intent, String[] receiverPermissions) {
}
/** @hide */
@Override
public void sendBroadcast(Intent intent, String receiverPermission, int appOp) {
}
@Override
public void sendOrderedBroadcast(Intent intent,
String receiverPermission) {
}
@Override
public ComponentName startService(Intent service) {
return null;
}
@Override
public ComponentName startForegroundService(Intent service) {
return null;
}
@Override public ApplicationInfo getApplicationInfo() { return null; }
@Override public AssetManager getAssets() { return null; }
@Override public ClassLoader getClassLoader() { return null; }
@Override public ComponentName startForegroundService(Intent p0) { return null; }
@Override public ComponentName startService(Intent p0) { return null; }
@Override public ContentResolver getContentResolver() { return null; }
@Override public Context createConfigurationContext(Configuration p0) { return null; }
@Override public Context createContextForSplit(String p0) { return null; }
@Override public Context createDeviceProtectedStorageContext() { return null; }
@Override public Context createDisplayContext(Display p0) { return null; }
@Override public Context createPackageContext(String p0, int p1) { return null; }
@Override public Context getApplicationContext() { return null; }
@Override public Drawable getWallpaper() { return null; }
@Override public Drawable peekWallpaper() { return null; }
@Override public File getCacheDir() { return null; }
@Override public File getCodeCacheDir() { return null; }
@Override public File getDataDir() { return null; }
@Override public File getDatabasePath(String p0) { return null; }
@Override public File getDir(String p0, int p1) { return null; }
@Override public File getExternalCacheDir() { return null; }
@Override public File getExternalFilesDir(String p0) { return null; }
@Override public File getFileStreamPath(String p0) { return null; }
@Override public File getFilesDir() { return null; }
@Override public File getNoBackupFilesDir() { return null; }
@Override public File getObbDir() { return null; }
@Override public FileInputStream openFileInput(String p0) { return null; }
@Override public FileOutputStream openFileOutput(String p0, int p1) { return null; }
@Override public File[] getExternalCacheDirs() { return null; }
@Override public File[] getExternalFilesDirs(String p0) { return null; }
@Override public File[] getExternalMediaDirs() { return null; }
@Override public File[] getObbDirs() { return null; }
@Override public Intent registerReceiver(BroadcastReceiver p0, IntentFilter p1) { return null; }
@Override public Intent registerReceiver(BroadcastReceiver p0, IntentFilter p1, String p2, Handler p3) { return null; }
@Override public Intent registerReceiver(BroadcastReceiver p0, IntentFilter p1, String p2, Handler p3, int p4) { return null; }
@Override public Intent registerReceiver(BroadcastReceiver p0, IntentFilter p1, int p2) { return null; }
@Override public Looper getMainLooper() { return null; }
@Override public Object getSystemService(String p0) { return null; }
@Override public PackageManager getPackageManager() { return null; }
@Override public Resources getResources() { return null; }
@Override public Resources.Theme getTheme() { return null; }
@Override public SQLiteDatabase openOrCreateDatabase(String p0, int p1, SQLiteDatabase.CursorFactory p2) { return null; }
@Override public SQLiteDatabase openOrCreateDatabase(String p0, int p1, SQLiteDatabase.CursorFactory p2, DatabaseErrorHandler p3) { return null; }
@Override public SharedPreferences getSharedPreferences(String p0, int p1) { return null; }
@Override public String getPackageCodePath() { return null; }
@Override public String getPackageName() { return null; }
@Override public String getPackageResourcePath() { return null; }
@Override public String getSystemServiceName(Class<? extends Object> p0) { return null; }
@Override public String[] databaseList() { return null; }
@Override public String[] fileList() { return null; }
@Override public boolean bindService(Intent p0, ServiceConnection p1, int p2) { return false; }
@Override public boolean deleteDatabase(String p0) { return false; }
@Override public boolean deleteFile(String p0) { return false; }
@Override public boolean deleteSharedPreferences(String p0) { return false; }
@Override public boolean isDeviceProtectedStorage() { return false; }
@Override public boolean moveDatabaseFrom(Context p0, String p1) { return false; }
@Override public boolean moveSharedPreferencesFrom(Context p0, String p1) { return false; }
@Override public boolean startInstrumentation(ComponentName p0, String p1, Bundle p2) { return false; }
@Override public boolean stopService(Intent p0) { return false; }
@Override public int checkCallingOrSelfPermission(String p0) { return 0; }
@Override public int checkCallingOrSelfUriPermission(Uri p0, int p1) { return 0; }
@Override public int checkCallingPermission(String p0) { return 0; }
@Override public int checkCallingUriPermission(Uri p0, int p1) { return 0; }
@Override public int checkPermission(String p0, int p1, int p2) { return 0; }
@Override public int checkSelfPermission(String p0) { return 0; }
@Override public int checkUriPermission(Uri p0, String p1, String p2, int p3, int p4, int p5) { return 0; }
@Override public int checkUriPermission(Uri p0, int p1, int p2, int p3) { return 0; }
@Override public int getWallpaperDesiredMinimumHeight() { return 0; }
@Override public int getWallpaperDesiredMinimumWidth() { return 0; }
@Override public void clearWallpaper() { }
@Override public void enforceCallingOrSelfPermission(String p0, String p1) { }
@Override public void enforceCallingOrSelfUriPermission(Uri p0, int p1, String p2) { }
@Override public void enforceCallingPermission(String p0, String p1) { }
@Override public void enforceCallingUriPermission(Uri p0, int p1, String p2) { }
@Override public void enforcePermission(String p0, int p1, int p2, String p3) { }
@Override public void enforceUriPermission(Uri p0, String p1, String p2, int p3, int p4, int p5, String p6) { }
@Override public void enforceUriPermission(Uri p0, int p1, int p2, int p3, String p4) { }
@Override public void grantUriPermission(String p0, Uri p1, int p2) { }
@Override public void removeStickyBroadcast(Intent p0) { }
@Override public void removeStickyBroadcastAsUser(Intent p0, UserHandle p1) { }
@Override public void revokeUriPermission(String p0, Uri p1, int p2) { }
@Override public void revokeUriPermission(Uri p0, int p1) { }
@Override public void sendBroadcast(Intent p0) { }
@Override public void sendBroadcast(Intent p0, String p1) { }
@Override public void sendBroadcastAsUser(Intent p0, UserHandle p1) { }
@Override public void sendBroadcastAsUser(Intent p0, UserHandle p1, String p2) { }
// Slight cheat: this is an Android 11 function which shouldn't really be present in this Android 9 stub.
@Override public void sendBroadcastWithMultiplePermissions(Intent p1, String[] p2) { }
@Override public void sendOrderedBroadcast(Intent p0, String p1) { }
@Override public void sendOrderedBroadcast(Intent p0, String p1, BroadcastReceiver p2, Handler p3, int p4, String p5, Bundle p6) { }
@Override public void sendOrderedBroadcastAsUser(Intent p0, UserHandle p1, String p2, BroadcastReceiver p3, Handler p4, int p5, String p6, Bundle p7) { }
@Override public void sendStickyBroadcast(Intent p0) { }
@Override public void sendStickyBroadcastAsUser(Intent p0, UserHandle p1) { }
@Override public void sendStickyOrderedBroadcast(Intent p0, BroadcastReceiver p1, Handler p2, int p3, String p4, Bundle p5) { }
@Override public void sendStickyOrderedBroadcastAsUser(Intent p0, UserHandle p1, BroadcastReceiver p2, Handler p3, int p4, String p5, Bundle p6) { }
@Override public void setTheme(int p0) { }
@Override public void setWallpaper(Bitmap p0) { }
@Override public void setWallpaper(InputStream p0) { }
@Override public void startActivities(Intent[] p0) { }
@Override public void startActivities(Intent[] p0, Bundle p1) { }
@Override public void startActivity(Intent p0) { }
@Override public void startActivity(Intent p0, Bundle p1) { }
@Override public void startIntentSender(IntentSender p0, Intent p1, int p2, int p3, int p4) { }
@Override public void startIntentSender(IntentSender p0, Intent p1, int p2, int p3, int p4, Bundle p5) { }
@Override public void unbindService(ServiceConnection p0) { }
@Override public void unregisterReceiver(BroadcastReceiver p0) { }
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,104 @@
// Generated automatically from android.content.IntentFilter for testing purposes
package android.content;
import android.content.ContentResolver;
import android.content.Intent;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.PatternMatcher;
import android.util.AndroidException;
import android.util.Printer;
import java.util.Iterator;
import java.util.Set;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlSerializer;
public class IntentFilter implements Parcelable
{
public IntentFilter(){}
public IntentFilter(IntentFilter p0){}
public IntentFilter(String p0){}
public IntentFilter(String p0, String p1){}
public final IntentFilter.AuthorityEntry getDataAuthority(int p0){ return null; }
public final Iterator<IntentFilter.AuthorityEntry> authoritiesIterator(){ return null; }
public final Iterator<PatternMatcher> pathsIterator(){ return null; }
public final Iterator<PatternMatcher> schemeSpecificPartsIterator(){ return null; }
public final Iterator<String> actionsIterator(){ return null; }
public final Iterator<String> categoriesIterator(){ return null; }
public final Iterator<String> schemesIterator(){ return null; }
public final Iterator<String> typesIterator(){ return null; }
public final PatternMatcher getDataPath(int p0){ return null; }
public final PatternMatcher getDataSchemeSpecificPart(int p0){ return null; }
public final String getAction(int p0){ return null; }
public final String getCategory(int p0){ return null; }
public final String getDataScheme(int p0){ return null; }
public final String getDataType(int p0){ return null; }
public final String matchCategories(Set<String> p0){ return null; }
public final boolean hasAction(String p0){ return false; }
public final boolean hasCategory(String p0){ return false; }
public final boolean hasDataAuthority(Uri p0){ return false; }
public final boolean hasDataPath(String p0){ return false; }
public final boolean hasDataScheme(String p0){ return false; }
public final boolean hasDataSchemeSpecificPart(String p0){ return false; }
public final boolean hasDataType(String p0){ return false; }
public final boolean matchAction(String p0){ return false; }
public final int countActions(){ return 0; }
public final int countCategories(){ return 0; }
public final int countDataAuthorities(){ return 0; }
public final int countDataPaths(){ return 0; }
public final int countDataSchemeSpecificParts(){ return 0; }
public final int countDataSchemes(){ return 0; }
public final int countDataTypes(){ return 0; }
public final int describeContents(){ return 0; }
public final int getPriority(){ return 0; }
public final int match(ContentResolver p0, Intent p1, boolean p2, String p3){ return 0; }
public final int match(String p0, String p1, String p2, Uri p3, Set<String> p4, String p5){ return 0; }
public final int matchData(String p0, String p1, Uri p2){ return 0; }
public final int matchDataAuthority(Uri p0){ return 0; }
public final void addAction(String p0){}
public final void addCategory(String p0){}
public final void addDataAuthority(String p0, String p1){}
public final void addDataPath(String p0, int p1){}
public final void addDataScheme(String p0){}
public final void addDataSchemeSpecificPart(String p0, int p1){}
public final void addDataType(String p0){}
public final void setPriority(int p0){}
public final void writeToParcel(Parcel p0, int p1){}
public static IntentFilter create(String p0, String p1){ return null; }
public static Parcelable.Creator<IntentFilter> CREATOR = null;
public static int MATCH_ADJUSTMENT_MASK = 0;
public static int MATCH_ADJUSTMENT_NORMAL = 0;
public static int MATCH_CATEGORY_EMPTY = 0;
public static int MATCH_CATEGORY_HOST = 0;
public static int MATCH_CATEGORY_MASK = 0;
public static int MATCH_CATEGORY_PATH = 0;
public static int MATCH_CATEGORY_PORT = 0;
public static int MATCH_CATEGORY_SCHEME = 0;
public static int MATCH_CATEGORY_SCHEME_SPECIFIC_PART = 0;
public static int MATCH_CATEGORY_TYPE = 0;
public static int NO_MATCH_ACTION = 0;
public static int NO_MATCH_CATEGORY = 0;
public static int NO_MATCH_DATA = 0;
public static int NO_MATCH_TYPE = 0;
public static int SYSTEM_HIGH_PRIORITY = 0;
public static int SYSTEM_LOW_PRIORITY = 0;
public void dump(Printer p0, String p1){}
public void readFromXml(XmlPullParser p0){}
public void writeToXml(XmlSerializer p0){}
static public class AuthorityEntry
{
protected AuthorityEntry() {}
public AuthorityEntry(String p0, String p1){}
public String getHost(){ return null; }
public boolean equals(Object p0){ return false; }
public int getPort(){ return 0; }
public int match(Uri p0){ return 0; }
}
static public class MalformedMimeTypeException extends AndroidException
{
public MalformedMimeTypeException(){}
public MalformedMimeTypeException(String p0){}
}
}

View File

@@ -0,0 +1,41 @@
// Generated automatically from android.content.IntentSender for testing purposes
package android.content;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.UserHandle;
import android.util.AndroidException;
public class IntentSender implements Parcelable
{
protected IntentSender() {}
public String getCreatorPackage(){ return null; }
public String getTargetPackage(){ return null; }
public String toString(){ return null; }
public UserHandle getCreatorUserHandle(){ return null; }
public boolean equals(Object p0){ return false; }
public int describeContents(){ return 0; }
public int getCreatorUid(){ return 0; }
public int hashCode(){ return 0; }
public static IntentSender readIntentSenderOrNullFromParcel(Parcel p0){ return null; }
public static Parcelable.Creator<IntentSender> CREATOR = null;
public static void writeIntentSenderOrNullToParcel(IntentSender p0, Parcel p1){}
public void sendIntent(Context p0, int p1, Intent p2, IntentSender.OnFinished p3, Handler p4){}
public void sendIntent(Context p0, int p1, Intent p2, IntentSender.OnFinished p3, Handler p4, String p5){}
public void writeToParcel(Parcel p0, int p1){}
static public class SendIntentException extends AndroidException
{
public SendIntentException(){}
public SendIntentException(Exception p0){}
public SendIntentException(String p0){}
}
static public interface OnFinished
{
void onSendFinished(IntentSender p0, Intent p1, int p2, String p3, Bundle p4);
}
}

View File

@@ -0,0 +1,23 @@
// Generated automatically from android.content.PeriodicSync for testing purposes
package android.content;
import android.accounts.Account;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
public class PeriodicSync implements Parcelable
{
protected PeriodicSync() {}
public PeriodicSync(Account p0, String p1, Bundle p2, long p3){}
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public final Account account = null;
public final Bundle extras = null;
public final String authority = null;
public final long period = 0;
public int describeContents(){ return 0; }
public static Parcelable.Creator<PeriodicSync> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,14 @@
// Generated automatically from android.content.ServiceConnection for testing purposes
package android.content;
import android.content.ComponentName;
import android.os.IBinder;
public interface ServiceConnection
{
default void onBindingDied(ComponentName p0){}
default void onNullBinding(ComponentName p0){}
void onServiceConnected(ComponentName p0, IBinder p1);
void onServiceDisconnected(ComponentName p0);
}

View File

@@ -1,362 +1,38 @@
/*
* Copyright (C) 2006 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.
*/
// Generated automatically from android.content.SharedPreferences for testing purposes
package android.content;
import java.util.Map;
import java.util.Set;
/**
* Interface for accessing and modifying preference data returned by {@link
* Context#getSharedPreferences}. For any particular set of preferences,
* there is a single instance of this class that all clients share.
* Modifications to the preferences must go through an {@link Editor} object
* to ensure the preference values remain in a consistent state and control
* when they are committed to storage. Objects that are returned from the
* various <code>get</code> methods must be treated as immutable by the application.
*
* <p><em>Note: currently this class does not support use across multiple
* processes. This will be added later.</em>
*
* <div class="special reference">
* <h3>Developer Guides</h3>
* <p>For more information about using SharedPreferences, read the
* <a href="{@docRoot}guide/topics/data/data-storage.html#pref">Data Storage</a>
* developer guide.</p></div>
*
* @see Context#getSharedPreferences
*/
public interface SharedPreferences {
/**
* Interface definition for a callback to be invoked when a shared
* preference is changed.
*/
public interface OnSharedPreferenceChangeListener {
/**
* Called when a shared preference is changed, added, or removed. This
* may be called even if a preference is set to its existing value.
*
* <p>This callback will be run on your main thread.
*
* @param sharedPreferences The {@link SharedPreferences} that received
* the change.
* @param key The key of the preference that was changed, added, or
* removed.
*/
void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key);
}
/**
* Interface used for modifying values in a {@link SharedPreferences}
* object. All changes you make in an editor are batched, and not copied
* back to the original {@link SharedPreferences} until you call {@link #commit}
* or {@link #apply}
*/
public interface Editor {
/**
* Set a String value in the preferences editor, to be written back once
* {@link #commit} or {@link #apply} are called.
*
* @param key The name of the preference to modify.
* @param value The new value for the preference. Supplying {@code null}
* as the value is equivalent to calling {@link #remove(String)} with
* this key.
*
* @return Returns a reference to the same Editor object, so you can
* chain put calls together.
*/
Editor putString(String key, String value);
/**
* Set a set of String values in the preferences editor, to be written
* back once {@link #commit} is called.
*
* @param key The name of the preference to modify.
* @param values The set of new values for the preference. Passing {@code null}
* for this argument is equivalent to calling {@link #remove(String)} with
* this key.
* @return Returns a reference to the same Editor object, so you can
* chain put calls together.
*/
Editor putStringSet(String key, Set<String> values);
/**
* Set an int value in the preferences editor, to be written back once
* {@link #commit} or {@link #apply} are called.
*
* @param key The name of the preference to modify.
* @param value The new value for the preference.
*
* @return Returns a reference to the same Editor object, so you can
* chain put calls together.
*/
Editor putInt(String key, int value);
/**
* Set a long value in the preferences editor, to be written back once
* {@link #commit} or {@link #apply} are called.
*
* @param key The name of the preference to modify.
* @param value The new value for the preference.
*
* @return Returns a reference to the same Editor object, so you can
* chain put calls together.
*/
Editor putLong(String key, long value);
/**
* Set a float value in the preferences editor, to be written back once
* {@link #commit} or {@link #apply} are called.
*
* @param key The name of the preference to modify.
* @param value The new value for the preference.
*
* @return Returns a reference to the same Editor object, so you can
* chain put calls together.
*/
Editor putFloat(String key, float value);
/**
* Set a boolean value in the preferences editor, to be written back
* once {@link #commit} or {@link #apply} are called.
*
* @param key The name of the preference to modify.
* @param value The new value for the preference.
*
* @return Returns a reference to the same Editor object, so you can
* chain put calls together.
*/
Editor putBoolean(String key, boolean value);
/**
* Mark in the editor that a preference value should be removed, which
* will be done in the actual preferences once {@link #commit} is
* called.
*
* <p>Note that when committing back to the preferences, all removals
* are done first, regardless of whether you called remove before
* or after put methods on this editor.
*
* @param key The name of the preference to remove.
*
* @return Returns a reference to the same Editor object, so you can
* chain put calls together.
*/
Editor remove(String key);
/**
* Mark in the editor to remove <em>all</em> values from the
* preferences. Once commit is called, the only remaining preferences
* will be any that you have defined in this editor.
*
* <p>Note that when committing back to the preferences, the clear
* is done first, regardless of whether you called clear before
* or after put methods on this editor.
*
* @return Returns a reference to the same Editor object, so you can
* chain put calls together.
*/
Editor clear();
/**
* Commit your preferences changes back from this Editor to the
* {@link SharedPreferences} object it is editing. This atomically
* performs the requested modifications, replacing whatever is currently
* in the SharedPreferences.
*
* <p>Note that when two editors are modifying preferences at the same
* time, the last one to call commit wins.
*
* <p>If you don't care about the return value and you're
* using this from your application's main thread, consider
* using {@link #apply} instead.
*
* @return Returns true if the new values were successfully written
* to persistent storage.
*/
public interface SharedPreferences
{
Map<String, ? extends Object> getAll();
Set<String> getStringSet(String p0, Set<String> p1);
SharedPreferences.Editor edit();
String getString(String p0, String p1);
boolean contains(String p0);
boolean getBoolean(String p0, boolean p1);
float getFloat(String p0, float p1);
int getInt(String p0, int p1);
long getLong(String p0, long p1);
static public interface Editor
{
SharedPreferences.Editor clear();
SharedPreferences.Editor putBoolean(String p0, boolean p1);
SharedPreferences.Editor putFloat(String p0, float p1);
SharedPreferences.Editor putInt(String p0, int p1);
SharedPreferences.Editor putLong(String p0, long p1);
SharedPreferences.Editor putString(String p0, String p1);
SharedPreferences.Editor putStringSet(String p0, Set<String> p1);
SharedPreferences.Editor remove(String p0);
boolean commit();
/**
* Commit your preferences changes back from this Editor to the
* {@link SharedPreferences} object it is editing. This atomically
* performs the requested modifications, replacing whatever is currently
* in the SharedPreferences.
*
* <p>Note that when two editors are modifying preferences at the same
* time, the last one to call apply wins.
*
* <p>Unlike {@link #commit}, which writes its preferences out
* to persistent storage synchronously, {@link #apply}
* commits its changes to the in-memory
* {@link SharedPreferences} immediately but starts an
* asynchronous commit to disk and you won't be notified of
* any failures. If another editor on this
* {@link SharedPreferences} does a regular {@link #commit}
* while a {@link #apply} is still outstanding, the
* {@link #commit} will block until all async commits are
* completed as well as the commit itself.
*
* <p>As {@link SharedPreferences} instances are singletons within
* a process, it's safe to replace any instance of {@link #commit} with
* {@link #apply} if you were already ignoring the return value.
*
* <p>You don't need to worry about Android component
* lifecycles and their interaction with <code>apply()</code>
* writing to disk. The framework makes sure in-flight disk
* writes from <code>apply()</code> complete before switching
* states.
*
* <p class='note'>The SharedPreferences.Editor interface
* isn't expected to be implemented directly. However, if you
* previously did implement it and are now getting errors
* about missing <code>apply()</code>, you can simply call
* {@link #commit} from <code>apply()</code>.
*/
void apply();
}
/**
* Retrieve all values from the preferences.
*
* <p>Note that you <em>must not</em> modify the collection returned
* by this method, or alter any of its contents. The consistency of your
* stored data is not guaranteed if you do.
*
* @return Returns a map containing a list of pairs key/value representing
* the preferences.
*
* @throws NullPointerException
*/
Map<String, ?> getAll();
/**
* Retrieve a String value from the preferences.
*
* @param key The name of the preference to retrieve.
* @param defValue Value to return if this preference does not exist.
*
* @return Returns the preference value if it exists, or defValue. Throws
* ClassCastException if there is a preference with this name that is not
* a String.
*
* @throws ClassCastException
*/
String getString(String key, String defValue);
/**
* Retrieve a set of String values from the preferences.
*
* <p>Note that you <em>must not</em> modify the set instance returned
* by this call. The consistency of the stored data is not guaranteed
* if you do, nor is your ability to modify the instance at all.
*
* @param key The name of the preference to retrieve.
* @param defValues Values to return if this preference does not exist.
*
* @return Returns the preference values if they exist, or defValues.
* Throws ClassCastException if there is a preference with this name
* that is not a Set.
*
* @throws ClassCastException
*/
Set<String> getStringSet(String key, Set<String> defValues);
/**
* Retrieve an int value from the preferences.
*
* @param key The name of the preference to retrieve.
* @param defValue Value to return if this preference does not exist.
*
* @return Returns the preference value if it exists, or defValue. Throws
* ClassCastException if there is a preference with this name that is not
* an int.
*
* @throws ClassCastException
*/
int getInt(String key, int defValue);
/**
* Retrieve a long value from the preferences.
*
* @param key The name of the preference to retrieve.
* @param defValue Value to return if this preference does not exist.
*
* @return Returns the preference value if it exists, or defValue. Throws
* ClassCastException if there is a preference with this name that is not
* a long.
*
* @throws ClassCastException
*/
long getLong(String key, long defValue);
/**
* Retrieve a float value from the preferences.
*
* @param key The name of the preference to retrieve.
* @param defValue Value to return if this preference does not exist.
*
* @return Returns the preference value if it exists, or defValue. Throws
* ClassCastException if there is a preference with this name that is not
* a float.
*
* @throws ClassCastException
*/
float getFloat(String key, float defValue);
/**
* Retrieve a boolean value from the preferences.
*
* @param key The name of the preference to retrieve.
* @param defValue Value to return if this preference does not exist.
*
* @return Returns the preference value if it exists, or defValue. Throws
* ClassCastException if there is a preference with this name that is not
* a boolean.
*
* @throws ClassCastException
*/
boolean getBoolean(String key, boolean defValue);
/**
* Checks whether the preferences contains a preference.
*
* @param key The name of the preference to check.
* @return Returns true if the preference exists in the preferences,
* otherwise false.
*/
boolean contains(String key);
/**
* Create a new Editor for these preferences, through which you can make
* modifications to the data in the preferences and atomically commit those
* changes back to the SharedPreferences object.
*
* <p>Note that you <em>must</em> call {@link Editor#commit} to have any
* changes you perform in the Editor actually show up in the
* SharedPreferences.
*
* @return Returns a new instance of the {@link Editor} interface, allowing
* you to modify the values in this SharedPreferences object.
*/
Editor edit();
/**
* Registers a callback to be invoked when a change happens to a preference.
*
* @param listener The callback that will run.
* @see #unregisterOnSharedPreferenceChangeListener
*/
void registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener);
/**
* Unregisters a previous callback.
*
* @param listener The callback that should be unregistered.
* @see #registerOnSharedPreferenceChangeListener
*/
void unregisterOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener);
static public interface OnSharedPreferenceChangeListener
{
void onSharedPreferenceChanged(SharedPreferences p0, String p1);
}
void registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener p0);
void unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener p0);
}

View File

@@ -0,0 +1,3 @@
package android.content;
interface SyncAdapterType { }

View File

@@ -0,0 +1,17 @@
// Generated automatically from android.content.SyncInfo for testing purposes
package android.content;
import android.accounts.Account;
import android.os.Parcel;
import android.os.Parcelable;
public class SyncInfo implements Parcelable
{
protected SyncInfo() {}
public final Account account = null;
public final String authority = null;
public final long startTime = 0;
public int describeContents(){ return 0; }
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,14 @@
// Generated automatically from android.content.SyncRequest for testing purposes
package android.content;
import android.os.Parcel;
import android.os.Parcelable;
public class SyncRequest implements Parcelable
{
protected SyncRequest() {}
public int describeContents(){ return 0; }
public static Parcelable.Creator<SyncRequest> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,9 @@
// Generated automatically from android.content.SyncStatusObserver for testing purposes
package android.content;
public interface SyncStatusObserver
{
void onStatusChanged(int p0);
}

View File

@@ -0,0 +1,21 @@
// Generated automatically from android.content.UriPermission for testing purposes
package android.content;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
public class UriPermission implements Parcelable
{
protected UriPermission() {}
public String toString(){ return null; }
public Uri getUri(){ return null; }
public boolean isReadPermission(){ return false; }
public boolean isWritePermission(){ return false; }
public int describeContents(){ return 0; }
public long getPersistedTime(){ return 0; }
public static Parcelable.Creator<UriPermission> CREATOR = null;
public static long INVALID_TIME = 0;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,111 @@
// Generated automatically from android.content.pm.ActivityInfo for testing purposes
package android.content.pm;
import android.content.pm.ComponentInfo;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.Printer;
public class ActivityInfo extends ComponentInfo implements Parcelable
{
public ActivityInfo(){}
public ActivityInfo(ActivityInfo p0){}
public ActivityInfo.WindowLayout windowLayout = null;
public String parentActivityName = null;
public String permission = null;
public String targetActivity = null;
public String taskAffinity = null;
public String toString(){ return null; }
public final int getThemeResource(){ return 0; }
public int colorMode = 0;
public int configChanges = 0;
public int describeContents(){ return 0; }
public int documentLaunchMode = 0;
public int flags = 0;
public int launchMode = 0;
public int maxRecents = 0;
public int persistableMode = 0;
public int screenOrientation = 0;
public int softInputMode = 0;
public int theme = 0;
public int uiOptions = 0;
public static Parcelable.Creator<ActivityInfo> CREATOR = null;
public static int COLOR_MODE_DEFAULT = 0;
public static int COLOR_MODE_HDR = 0;
public static int COLOR_MODE_WIDE_COLOR_GAMUT = 0;
public static int CONFIG_COLOR_MODE = 0;
public static int CONFIG_DENSITY = 0;
public static int CONFIG_FONT_SCALE = 0;
public static int CONFIG_KEYBOARD = 0;
public static int CONFIG_KEYBOARD_HIDDEN = 0;
public static int CONFIG_LAYOUT_DIRECTION = 0;
public static int CONFIG_LOCALE = 0;
public static int CONFIG_MCC = 0;
public static int CONFIG_MNC = 0;
public static int CONFIG_NAVIGATION = 0;
public static int CONFIG_ORIENTATION = 0;
public static int CONFIG_SCREEN_LAYOUT = 0;
public static int CONFIG_SCREEN_SIZE = 0;
public static int CONFIG_SMALLEST_SCREEN_SIZE = 0;
public static int CONFIG_TOUCHSCREEN = 0;
public static int CONFIG_UI_MODE = 0;
public static int DOCUMENT_LAUNCH_ALWAYS = 0;
public static int DOCUMENT_LAUNCH_INTO_EXISTING = 0;
public static int DOCUMENT_LAUNCH_NEVER = 0;
public static int DOCUMENT_LAUNCH_NONE = 0;
public static int FLAG_ALLOW_TASK_REPARENTING = 0;
public static int FLAG_ALWAYS_RETAIN_TASK_STATE = 0;
public static int FLAG_AUTO_REMOVE_FROM_RECENTS = 0;
public static int FLAG_CLEAR_TASK_ON_LAUNCH = 0;
public static int FLAG_ENABLE_VR_MODE = 0;
public static int FLAG_EXCLUDE_FROM_RECENTS = 0;
public static int FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS = 0;
public static int FLAG_FINISH_ON_TASK_LAUNCH = 0;
public static int FLAG_HARDWARE_ACCELERATED = 0;
public static int FLAG_IMMERSIVE = 0;
public static int FLAG_MULTIPROCESS = 0;
public static int FLAG_NO_HISTORY = 0;
public static int FLAG_RELINQUISH_TASK_IDENTITY = 0;
public static int FLAG_RESUME_WHILE_PAUSING = 0;
public static int FLAG_SINGLE_USER = 0;
public static int FLAG_STATE_NOT_NEEDED = 0;
public static int LAUNCH_MULTIPLE = 0;
public static int LAUNCH_SINGLE_INSTANCE = 0;
public static int LAUNCH_SINGLE_TASK = 0;
public static int LAUNCH_SINGLE_TOP = 0;
public static int PERSIST_ACROSS_REBOOTS = 0;
public static int PERSIST_NEVER = 0;
public static int PERSIST_ROOT_ONLY = 0;
public static int SCREEN_ORIENTATION_BEHIND = 0;
public static int SCREEN_ORIENTATION_FULL_SENSOR = 0;
public static int SCREEN_ORIENTATION_FULL_USER = 0;
public static int SCREEN_ORIENTATION_LANDSCAPE = 0;
public static int SCREEN_ORIENTATION_LOCKED = 0;
public static int SCREEN_ORIENTATION_NOSENSOR = 0;
public static int SCREEN_ORIENTATION_PORTRAIT = 0;
public static int SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 0;
public static int SCREEN_ORIENTATION_REVERSE_PORTRAIT = 0;
public static int SCREEN_ORIENTATION_SENSOR = 0;
public static int SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 0;
public static int SCREEN_ORIENTATION_SENSOR_PORTRAIT = 0;
public static int SCREEN_ORIENTATION_UNSPECIFIED = 0;
public static int SCREEN_ORIENTATION_USER = 0;
public static int SCREEN_ORIENTATION_USER_LANDSCAPE = 0;
public static int SCREEN_ORIENTATION_USER_PORTRAIT = 0;
public static int UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW = 0;
public void dump(Printer p0, String p1){}
public void writeToParcel(Parcel p0, int p1){}
static public class WindowLayout
{
protected WindowLayout() {}
public WindowLayout(int p0, float p1, int p2, float p3, int p4, int p5, int p6){}
public final float heightFraction = 0;
public final float widthFraction = 0;
public final int gravity = 0;
public final int height = 0;
public final int minHeight = 0;
public final int minWidth = 0;
public final int width = 0;
}
}

View File

@@ -0,0 +1,97 @@
// Generated automatically from android.content.pm.ApplicationInfo for testing purposes
package android.content.pm;
import android.content.Context;
import android.content.pm.PackageItemInfo;
import android.content.pm.PackageManager;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.Printer;
import java.util.UUID;
public class ApplicationInfo extends PackageItemInfo implements Parcelable
{
public ApplicationInfo(){}
public ApplicationInfo(ApplicationInfo p0){}
public CharSequence loadDescription(PackageManager p0){ return null; }
public String appComponentFactory = null;
public String backupAgentName = null;
public String className = null;
public String dataDir = null;
public String deviceProtectedDataDir = null;
public String manageSpaceActivityName = null;
public String nativeLibraryDir = null;
public String permission = null;
public String processName = null;
public String publicSourceDir = null;
public String sourceDir = null;
public String taskAffinity = null;
public String toString(){ return null; }
public String[] sharedLibraryFiles = null;
public String[] splitNames = null;
public String[] splitPublicSourceDirs = null;
public String[] splitSourceDirs = null;
public UUID storageUuid = null;
public boolean enabled = false;
public boolean isProfileableByShell(){ return false; }
public boolean isResourceOverlay(){ return false; }
public boolean isVirtualPreload(){ return false; }
public int category = 0;
public int compatibleWidthLimitDp = 0;
public int describeContents(){ return 0; }
public int descriptionRes = 0;
public int flags = 0;
public int largestWidthLimitDp = 0;
public int minSdkVersion = 0;
public int requiresSmallestWidthDp = 0;
public int targetSdkVersion = 0;
public int theme = 0;
public int uiOptions = 0;
public int uid = 0;
public static CharSequence getCategoryTitle(Context p0, int p1){ return null; }
public static Parcelable.Creator<ApplicationInfo> CREATOR = null;
public static int CATEGORY_AUDIO = 0;
public static int CATEGORY_GAME = 0;
public static int CATEGORY_IMAGE = 0;
public static int CATEGORY_MAPS = 0;
public static int CATEGORY_NEWS = 0;
public static int CATEGORY_PRODUCTIVITY = 0;
public static int CATEGORY_SOCIAL = 0;
public static int CATEGORY_UNDEFINED = 0;
public static int CATEGORY_VIDEO = 0;
public static int FLAG_ALLOW_BACKUP = 0;
public static int FLAG_ALLOW_CLEAR_USER_DATA = 0;
public static int FLAG_ALLOW_TASK_REPARENTING = 0;
public static int FLAG_DEBUGGABLE = 0;
public static int FLAG_EXTERNAL_STORAGE = 0;
public static int FLAG_EXTRACT_NATIVE_LIBS = 0;
public static int FLAG_FACTORY_TEST = 0;
public static int FLAG_FULL_BACKUP_ONLY = 0;
public static int FLAG_HARDWARE_ACCELERATED = 0;
public static int FLAG_HAS_CODE = 0;
public static int FLAG_INSTALLED = 0;
public static int FLAG_IS_DATA_ONLY = 0;
public static int FLAG_IS_GAME = 0;
public static int FLAG_KILL_AFTER_RESTORE = 0;
public static int FLAG_LARGE_HEAP = 0;
public static int FLAG_MULTIARCH = 0;
public static int FLAG_PERSISTENT = 0;
public static int FLAG_RESIZEABLE_FOR_SCREENS = 0;
public static int FLAG_RESTORE_ANY_VERSION = 0;
public static int FLAG_STOPPED = 0;
public static int FLAG_SUPPORTS_LARGE_SCREENS = 0;
public static int FLAG_SUPPORTS_NORMAL_SCREENS = 0;
public static int FLAG_SUPPORTS_RTL = 0;
public static int FLAG_SUPPORTS_SCREEN_DENSITIES = 0;
public static int FLAG_SUPPORTS_SMALL_SCREENS = 0;
public static int FLAG_SUPPORTS_XLARGE_SCREENS = 0;
public static int FLAG_SUSPENDED = 0;
public static int FLAG_SYSTEM = 0;
public static int FLAG_TEST_ONLY = 0;
public static int FLAG_UPDATED_SYSTEM_APP = 0;
public static int FLAG_USES_CLEARTEXT_TRAFFIC = 0;
public static int FLAG_VM_SAFE_MODE = 0;
public void dump(Printer p0, String p1){}
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,18 @@
// Generated automatically from android.content.pm.ChangedPackages for testing purposes
package android.content.pm;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.List;
public class ChangedPackages implements Parcelable
{
protected ChangedPackages() {}
public ChangedPackages(int p0, List<String> p1){}
public List<String> getPackageNames(){ return null; }
public int describeContents(){ return 0; }
public int getSequenceNumber(){ return 0; }
public static Parcelable.Creator<ChangedPackages> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,29 @@
// Generated automatically from android.content.pm.ComponentInfo for testing purposes
package android.content.pm;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageItemInfo;
import android.os.Parcel;
import android.util.Printer;
public class ComponentInfo extends PackageItemInfo
{
protected ComponentInfo(Parcel p0){}
protected void dumpBack(Printer p0, String p1){}
protected void dumpFront(Printer p0, String p1){}
public ApplicationInfo applicationInfo = null;
public ComponentInfo(){}
public ComponentInfo(ComponentInfo p0){}
public String processName = null;
public String splitName = null;
public boolean directBootAware = false;
public boolean enabled = false;
public boolean exported = false;
public boolean isEnabled(){ return false; }
public final int getBannerResource(){ return 0; }
public final int getIconResource(){ return 0; }
public final int getLogoResource(){ return 0; }
public int descriptionRes = 0;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,3 @@
package android.content.pm;
interface ConfigurationInfo { }

View File

@@ -0,0 +1,3 @@
package android.content.pm;
interface FeatureGroupInfo { }

View File

@@ -0,0 +1,4 @@
package android.content.pm;
interface FeatureInfo { }

View File

@@ -0,0 +1,27 @@
// Generated automatically from android.content.pm.InstrumentationInfo for testing purposes
package android.content.pm;
import android.content.pm.PackageItemInfo;
import android.os.Parcel;
import android.os.Parcelable;
public class InstrumentationInfo extends PackageItemInfo implements Parcelable
{
public InstrumentationInfo(){}
public InstrumentationInfo(InstrumentationInfo p0){}
public String dataDir = null;
public String publicSourceDir = null;
public String sourceDir = null;
public String targetPackage = null;
public String targetProcesses = null;
public String toString(){ return null; }
public String[] splitNames = null;
public String[] splitPublicSourceDirs = null;
public String[] splitSourceDirs = null;
public boolean functionalTest = false;
public boolean handleProfiling = false;
public int describeContents(){ return 0; }
public static Parcelable.Creator<InstrumentationInfo> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,19 @@
// Generated automatically from android.content.pm.ModuleInfo for testing purposes
package android.content.pm;
import android.os.Parcel;
import android.os.Parcelable;
public class ModuleInfo implements Parcelable
{
public CharSequence getName(){ return null; }
public String getPackageName(){ return null; }
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public boolean isHidden(){ return false; }
public int describeContents(){ return 0; }
public int hashCode(){ return 0; }
public static Parcelable.Creator<ModuleInfo> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,59 @@
// Generated automatically from android.content.pm.PackageInfo for testing purposes
package android.content.pm;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ConfigurationInfo;
import android.content.pm.FeatureGroupInfo;
import android.content.pm.FeatureInfo;
import android.content.pm.InstrumentationInfo;
import android.content.pm.PermissionInfo;
import android.content.pm.ProviderInfo;
import android.content.pm.ServiceInfo;
import android.content.pm.Signature;
import android.content.pm.SigningInfo;
import android.os.Parcel;
import android.os.Parcelable;
public class PackageInfo implements Parcelable
{
public ActivityInfo[] activities = null;
public ActivityInfo[] receivers = null;
public ApplicationInfo applicationInfo = null;
public ConfigurationInfo[] configPreferences = null;
public FeatureGroupInfo[] featureGroups = null;
public FeatureInfo[] reqFeatures = null;
public InstrumentationInfo[] instrumentation = null;
public PackageInfo(){}
public PermissionInfo[] permissions = null;
public ProviderInfo[] providers = null;
public ServiceInfo[] services = null;
public Signature[] signatures = null;
public SigningInfo signingInfo = null;
public String packageName = null;
public String sharedUserId = null;
public String toString(){ return null; }
public String versionName = null;
public String[] requestedPermissions = null;
public String[] splitNames = null;
public boolean isApex = false;
public int baseRevisionCode = 0;
public int describeContents(){ return 0; }
public int installLocation = 0;
public int sharedUserLabel = 0;
public int versionCode = 0;
public int[] gids = null;
public int[] requestedPermissionsFlags = null;
public int[] splitRevisionCodes = null;
public long firstInstallTime = 0;
public long getLongVersionCode(){ return 0; }
public long lastUpdateTime = 0;
public static Parcelable.Creator<PackageInfo> CREATOR = null;
public static int INSTALL_LOCATION_AUTO = 0;
public static int INSTALL_LOCATION_INTERNAL_ONLY = 0;
public static int INSTALL_LOCATION_PREFER_EXTERNAL = 0;
public static int REQUESTED_PERMISSION_GRANTED = 0;
public void setLongVersionCode(long p0){}
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,146 @@
// Generated automatically from android.content.pm.PackageInstaller for testing purposes
package android.content.pm;
import android.content.Intent;
import android.content.IntentSender;
import android.content.pm.VersionedPackage;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Handler;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.UserHandle;
import java.io.Closeable;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import java.util.Set;
public class PackageInstaller
{
abstract static public class SessionCallback
{
public SessionCallback(){}
public abstract void onActiveChanged(int p0, boolean p1);
public abstract void onBadgingChanged(int p0);
public abstract void onCreated(int p0);
public abstract void onFinished(int p0, boolean p1);
public abstract void onProgressChanged(int p0, float p1);
}
public List<PackageInstaller.SessionInfo> getAllSessions(){ return null; }
public List<PackageInstaller.SessionInfo> getMySessions(){ return null; }
public List<PackageInstaller.SessionInfo> getStagedSessions(){ return null; }
public PackageInstaller.Session openSession(int p0){ return null; }
public PackageInstaller.SessionInfo getActiveStagedSession(){ return null; }
public PackageInstaller.SessionInfo getSessionInfo(int p0){ return null; }
public int createSession(PackageInstaller.SessionParams p0){ return 0; }
public static String ACTION_SESSION_COMMITTED = null;
public static String ACTION_SESSION_DETAILS = null;
public static String ACTION_SESSION_UPDATED = null;
public static String EXTRA_OTHER_PACKAGE_NAME = null;
public static String EXTRA_PACKAGE_NAME = null;
public static String EXTRA_SESSION = null;
public static String EXTRA_SESSION_ID = null;
public static String EXTRA_STATUS = null;
public static String EXTRA_STATUS_MESSAGE = null;
public static String EXTRA_STORAGE_PATH = null;
public static int STATUS_FAILURE = 0;
public static int STATUS_FAILURE_ABORTED = 0;
public static int STATUS_FAILURE_BLOCKED = 0;
public static int STATUS_FAILURE_CONFLICT = 0;
public static int STATUS_FAILURE_INCOMPATIBLE = 0;
public static int STATUS_FAILURE_INVALID = 0;
public static int STATUS_FAILURE_STORAGE = 0;
public static int STATUS_PENDING_USER_ACTION = 0;
public static int STATUS_SUCCESS = 0;
public void abandonSession(int p0){}
public void installExistingPackage(String p0, int p1, IntentSender p2){}
public void registerSessionCallback(PackageInstaller.SessionCallback p0){}
public void registerSessionCallback(PackageInstaller.SessionCallback p0, Handler p1){}
public void uninstall(String p0, IntentSender p1){}
public void uninstall(VersionedPackage p0, IntentSender p1){}
public void unregisterSessionCallback(PackageInstaller.SessionCallback p0){}
public void updateSessionAppIcon(int p0, Bitmap p1){}
public void updateSessionAppLabel(int p0, CharSequence p1){}
static public class Session implements Closeable
{
public InputStream openRead(String p0){ return null; }
public OutputStream openWrite(String p0, long p1, long p2){ return null; }
public String[] getNames(){ return null; }
public boolean isMultiPackage(){ return false; }
public boolean isStaged(){ return false; }
public int getParentSessionId(){ return 0; }
public int[] getChildSessionIds(){ return null; }
public void abandon(){}
public void addChildSessionId(int p0){}
public void close(){}
public void commit(IntentSender p0){}
public void fsync(OutputStream p0){}
public void removeChildSessionId(int p0){}
public void removeSplit(String p0){}
public void setStagingProgress(float p0){}
public void transfer(String p0){}
}
static public class SessionInfo implements Parcelable
{
public Bitmap getAppIcon(){ return null; }
public CharSequence getAppLabel(){ return null; }
public Intent createDetailsIntent(){ return null; }
public String getAppPackageName(){ return null; }
public String getInstallerPackageName(){ return null; }
public String getStagedSessionErrorMessage(){ return null; }
public Uri getOriginatingUri(){ return null; }
public Uri getReferrerUri(){ return null; }
public UserHandle getUser(){ return null; }
public boolean isActive(){ return false; }
public boolean isCommitted(){ return false; }
public boolean isMultiPackage(){ return false; }
public boolean isSealed(){ return false; }
public boolean isStaged(){ return false; }
public boolean isStagedSessionApplied(){ return false; }
public boolean isStagedSessionFailed(){ return false; }
public boolean isStagedSessionReady(){ return false; }
public float getProgress(){ return 0; }
public int describeContents(){ return 0; }
public int getInstallLocation(){ return 0; }
public int getInstallReason(){ return 0; }
public int getMode(){ return 0; }
public int getOriginatingUid(){ return 0; }
public int getParentSessionId(){ return 0; }
public int getSessionId(){ return 0; }
public int getStagedSessionErrorCode(){ return 0; }
public int[] getChildSessionIds(){ return null; }
public long getSize(){ return 0; }
public long getUpdatedMillis(){ return 0; }
public static Parcelable.Creator<PackageInstaller.SessionInfo> CREATOR = null;
public static int INVALID_ID = 0;
public static int STAGED_SESSION_ACTIVATION_FAILED = 0;
public static int STAGED_SESSION_NO_ERROR = 0;
public static int STAGED_SESSION_UNKNOWN = 0;
public static int STAGED_SESSION_VERIFICATION_FAILED = 0;
public void writeToParcel(Parcel p0, int p1){}
}
static public class SessionParams implements Parcelable
{
protected SessionParams() {}
public SessionParams(int p0){}
public int describeContents(){ return 0; }
public static Parcelable.Creator<PackageInstaller.SessionParams> CREATOR = null;
public static Set<String> RESTRICTED_PERMISSIONS_ALL = null;
public static int MODE_FULL_INSTALL = 0;
public static int MODE_INHERIT_EXISTING = 0;
public void setAppIcon(Bitmap p0){}
public void setAppLabel(CharSequence p0){}
public void setAppPackageName(String p0){}
public void setInstallLocation(int p0){}
public void setInstallReason(int p0){}
public void setMultiPackage(){}
public void setOriginatingUid(int p0){}
public void setOriginatingUri(Uri p0){}
public void setReferrerUri(Uri p0){}
public void setSize(long p0){}
public void setWhitelistedRestrictedPermissions(Set<String> p0){}
public void writeToParcel(Parcel p0, int p1){}
}
}

View File

@@ -0,0 +1,34 @@
// Generated automatically from android.content.pm.PackageItemInfo for testing purposes
package android.content.pm;
import android.content.pm.PackageManager;
import android.content.res.XmlResourceParser;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Parcel;
import android.util.Printer;
public class PackageItemInfo
{
protected PackageItemInfo(Parcel p0){}
protected void dumpBack(Printer p0, String p1){}
protected void dumpFront(Printer p0, String p1){}
public Bundle metaData = null;
public CharSequence loadLabel(PackageManager p0){ return null; }
public CharSequence nonLocalizedLabel = null;
public Drawable loadBanner(PackageManager p0){ return null; }
public Drawable loadIcon(PackageManager p0){ return null; }
public Drawable loadLogo(PackageManager p0){ return null; }
public Drawable loadUnbadgedIcon(PackageManager p0){ return null; }
public PackageItemInfo(){}
public PackageItemInfo(PackageItemInfo p0){}
public String name = null;
public String packageName = null;
public XmlResourceParser loadXmlMetaData(PackageManager p0, String p1){ return null; }
public int banner = 0;
public int icon = 0;
public int labelRes = 0;
public int logo = 0;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,314 @@
// Generated automatically from android.content.pm.PackageManager for testing purposes
package android.content.pm;
import android.content.ComponentName;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ChangedPackages;
import android.content.pm.FeatureInfo;
import android.content.pm.InstrumentationInfo;
import android.content.pm.ModuleInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageInstaller;
import android.content.pm.PermissionGroupInfo;
import android.content.pm.PermissionInfo;
import android.content.pm.ProviderInfo;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.content.pm.SharedLibraryInfo;
import android.content.pm.VersionedPackage;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.UserHandle;
import android.util.AndroidException;
import java.util.List;
import java.util.Set;
abstract public class PackageManager
{
public Bundle getSuspendedPackageAppExtras(){ return null; }
public List<ModuleInfo> getInstalledModules(int p0){ return null; }
public ModuleInfo getModuleInfo(String p0, int p1){ return null; }
public PackageInfo getPackageArchiveInfo(String p0, int p1){ return null; }
public PackageManager(){}
public Set<String> getWhitelistedRestrictedPermissions(String p0, int p1){ return null; }
public abstract ActivityInfo getActivityInfo(ComponentName p0, int p1);
public abstract ActivityInfo getReceiverInfo(ComponentName p0, int p1);
public abstract ApplicationInfo getApplicationInfo(String p0, int p1);
public abstract ChangedPackages getChangedPackages(int p0);
public abstract CharSequence getApplicationLabel(ApplicationInfo p0);
public abstract CharSequence getText(String p0, int p1, ApplicationInfo p2);
public abstract CharSequence getUserBadgedLabel(CharSequence p0, UserHandle p1);
public abstract Drawable getActivityBanner(ComponentName p0);
public abstract Drawable getActivityBanner(Intent p0);
public abstract Drawable getActivityIcon(ComponentName p0);
public abstract Drawable getActivityIcon(Intent p0);
public abstract Drawable getActivityLogo(ComponentName p0);
public abstract Drawable getActivityLogo(Intent p0);
public abstract Drawable getApplicationBanner(ApplicationInfo p0);
public abstract Drawable getApplicationBanner(String p0);
public abstract Drawable getApplicationIcon(ApplicationInfo p0);
public abstract Drawable getApplicationIcon(String p0);
public abstract Drawable getApplicationLogo(ApplicationInfo p0);
public abstract Drawable getApplicationLogo(String p0);
public abstract Drawable getDefaultActivityIcon();
public abstract Drawable getDrawable(String p0, int p1, ApplicationInfo p2);
public abstract Drawable getUserBadgedDrawableForDensity(Drawable p0, UserHandle p1, Rect p2, int p3);
public abstract Drawable getUserBadgedIcon(Drawable p0, UserHandle p1);
public abstract FeatureInfo[] getSystemAvailableFeatures();
public abstract InstrumentationInfo getInstrumentationInfo(ComponentName p0, int p1);
public abstract Intent getLaunchIntentForPackage(String p0);
public abstract Intent getLeanbackLaunchIntentForPackage(String p0);
public abstract List<ApplicationInfo> getInstalledApplications(int p0);
public abstract List<InstrumentationInfo> queryInstrumentation(String p0, int p1);
public abstract List<PackageInfo> getInstalledPackages(int p0);
public abstract List<PackageInfo> getPackagesHoldingPermissions(String[] p0, int p1);
public abstract List<PackageInfo> getPreferredPackages(int p0);
public abstract List<PermissionGroupInfo> getAllPermissionGroups(int p0);
public abstract List<PermissionInfo> queryPermissionsByGroup(String p0, int p1);
public abstract List<ProviderInfo> queryContentProviders(String p0, int p1, int p2);
public abstract List<ResolveInfo> queryBroadcastReceivers(Intent p0, int p1);
public abstract List<ResolveInfo> queryIntentActivities(Intent p0, int p1);
public abstract List<ResolveInfo> queryIntentActivityOptions(ComponentName p0, Intent[] p1, Intent p2, int p3);
public abstract List<ResolveInfo> queryIntentContentProviders(Intent p0, int p1);
public abstract List<ResolveInfo> queryIntentServices(Intent p0, int p1);
public abstract List<SharedLibraryInfo> getSharedLibraries(int p0);
public abstract PackageInfo getPackageInfo(String p0, int p1);
public abstract PackageInfo getPackageInfo(VersionedPackage p0, int p1);
public abstract PackageInstaller getPackageInstaller();
public abstract PermissionGroupInfo getPermissionGroupInfo(String p0, int p1);
public abstract PermissionInfo getPermissionInfo(String p0, int p1);
public abstract ProviderInfo getProviderInfo(ComponentName p0, int p1);
public abstract ProviderInfo resolveContentProvider(String p0, int p1);
public abstract ResolveInfo resolveActivity(Intent p0, int p1);
public abstract ResolveInfo resolveService(Intent p0, int p1);
public abstract Resources getResourcesForActivity(ComponentName p0);
public abstract Resources getResourcesForApplication(ApplicationInfo p0);
public abstract Resources getResourcesForApplication(String p0);
public abstract ServiceInfo getServiceInfo(ComponentName p0, int p1);
public abstract String getInstallerPackageName(String p0);
public abstract String getNameForUid(int p0);
public abstract String[] canonicalToCurrentPackageNames(String[] p0);
public abstract String[] currentToCanonicalPackageNames(String[] p0);
public abstract String[] getPackagesForUid(int p0);
public abstract String[] getSystemSharedLibraryNames();
public abstract XmlResourceParser getXml(String p0, int p1, ApplicationInfo p2);
public abstract boolean addPermission(PermissionInfo p0);
public abstract boolean addPermissionAsync(PermissionInfo p0);
public abstract boolean canRequestPackageInstalls();
public abstract boolean hasSystemFeature(String p0);
public abstract boolean hasSystemFeature(String p0, int p1);
public abstract boolean isInstantApp();
public abstract boolean isInstantApp(String p0);
public abstract boolean isPermissionRevokedByPolicy(String p0, String p1);
public abstract boolean isSafeMode();
public abstract byte[] getInstantAppCookie();
public abstract int checkPermission(String p0, String p1);
public abstract int checkSignatures(String p0, String p1);
public abstract int checkSignatures(int p0, int p1);
public abstract int getApplicationEnabledSetting(String p0);
public abstract int getComponentEnabledSetting(ComponentName p0);
public abstract int getInstantAppCookieMaxBytes();
public abstract int getPackageUid(String p0, int p1);
public abstract int getPreferredActivities(List<IntentFilter> p0, List<ComponentName> p1, String p2);
public abstract int[] getPackageGids(String p0);
public abstract int[] getPackageGids(String p0, int p1);
public abstract void addPackageToPreferred(String p0);
public abstract void addPreferredActivity(IntentFilter p0, int p1, ComponentName[] p2, ComponentName p3);
public abstract void clearInstantAppCookie();
public abstract void clearPackagePreferredActivities(String p0);
public abstract void extendVerificationTimeout(int p0, int p1, long p2);
public abstract void removePackageFromPreferred(String p0);
public abstract void removePermission(String p0);
public abstract void setApplicationCategoryHint(String p0, int p1);
public abstract void setApplicationEnabledSetting(String p0, int p1, int p2);
public abstract void setComponentEnabledSetting(ComponentName p0, int p1, int p2);
public abstract void setInstallerPackageName(String p0, String p1);
public abstract void updateInstantAppCookie(byte[] p0);
public abstract void verifyPendingInstall(int p0, int p1);
public boolean addWhitelistedRestrictedPermission(String p0, String p1, int p2){ return false; }
public boolean getSyntheticAppDetailsActivityEnabled(String p0){ return false; }
public boolean hasSigningCertificate(String p0, byte[] p1, int p2){ return false; }
public boolean hasSigningCertificate(int p0, byte[] p1, int p2){ return false; }
public boolean isDeviceUpgrading(){ return false; }
public boolean isPackageSuspended(){ return false; }
public boolean isPackageSuspended(String p0){ return false; }
public boolean removeWhitelistedRestrictedPermission(String p0, String p1, int p2){ return false; }
public static String EXTRA_VERIFICATION_ID = null;
public static String EXTRA_VERIFICATION_RESULT = null;
public static String FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS = null;
public static String FEATURE_APP_WIDGETS = null;
public static String FEATURE_AUDIO_LOW_LATENCY = null;
public static String FEATURE_AUDIO_OUTPUT = null;
public static String FEATURE_AUDIO_PRO = null;
public static String FEATURE_AUTOFILL = null;
public static String FEATURE_AUTOMOTIVE = null;
public static String FEATURE_BACKUP = null;
public static String FEATURE_BLUETOOTH = null;
public static String FEATURE_BLUETOOTH_LE = null;
public static String FEATURE_CAMERA = null;
public static String FEATURE_CAMERA_ANY = null;
public static String FEATURE_CAMERA_AR = null;
public static String FEATURE_CAMERA_AUTOFOCUS = null;
public static String FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING = null;
public static String FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR = null;
public static String FEATURE_CAMERA_CAPABILITY_RAW = null;
public static String FEATURE_CAMERA_EXTERNAL = null;
public static String FEATURE_CAMERA_FLASH = null;
public static String FEATURE_CAMERA_FRONT = null;
public static String FEATURE_CAMERA_LEVEL_FULL = null;
public static String FEATURE_CANT_SAVE_STATE = null;
public static String FEATURE_COMPANION_DEVICE_SETUP = null;
public static String FEATURE_CONNECTION_SERVICE = null;
public static String FEATURE_CONSUMER_IR = null;
public static String FEATURE_DEVICE_ADMIN = null;
public static String FEATURE_EMBEDDED = null;
public static String FEATURE_ETHERNET = null;
public static String FEATURE_FACE = null;
public static String FEATURE_FAKETOUCH = null;
public static String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT = null;
public static String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND = null;
public static String FEATURE_FINGERPRINT = null;
public static String FEATURE_FREEFORM_WINDOW_MANAGEMENT = null;
public static String FEATURE_GAMEPAD = null;
public static String FEATURE_HIFI_SENSORS = null;
public static String FEATURE_HOME_SCREEN = null;
public static String FEATURE_INPUT_METHODS = null;
public static String FEATURE_IPSEC_TUNNELS = null;
public static String FEATURE_IRIS = null;
public static String FEATURE_LEANBACK = null;
public static String FEATURE_LEANBACK_ONLY = null;
public static String FEATURE_LIVE_TV = null;
public static String FEATURE_LIVE_WALLPAPER = null;
public static String FEATURE_LOCATION = null;
public static String FEATURE_LOCATION_GPS = null;
public static String FEATURE_LOCATION_NETWORK = null;
public static String FEATURE_MANAGED_USERS = null;
public static String FEATURE_MICROPHONE = null;
public static String FEATURE_MIDI = null;
public static String FEATURE_NFC = null;
public static String FEATURE_NFC_BEAM = null;
public static String FEATURE_NFC_HOST_CARD_EMULATION = null;
public static String FEATURE_NFC_HOST_CARD_EMULATION_NFCF = null;
public static String FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE = null;
public static String FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC = null;
public static String FEATURE_OPENGLES_EXTENSION_PACK = null;
public static String FEATURE_PC = null;
public static String FEATURE_PICTURE_IN_PICTURE = null;
public static String FEATURE_PRINTING = null;
public static String FEATURE_RAM_LOW = null;
public static String FEATURE_RAM_NORMAL = null;
public static String FEATURE_SCREEN_LANDSCAPE = null;
public static String FEATURE_SCREEN_PORTRAIT = null;
public static String FEATURE_SECURELY_REMOVES_USERS = null;
public static String FEATURE_SECURE_LOCK_SCREEN = null;
public static String FEATURE_SENSOR_ACCELEROMETER = null;
public static String FEATURE_SENSOR_AMBIENT_TEMPERATURE = null;
public static String FEATURE_SENSOR_BAROMETER = null;
public static String FEATURE_SENSOR_COMPASS = null;
public static String FEATURE_SENSOR_GYROSCOPE = null;
public static String FEATURE_SENSOR_HEART_RATE = null;
public static String FEATURE_SENSOR_HEART_RATE_ECG = null;
public static String FEATURE_SENSOR_LIGHT = null;
public static String FEATURE_SENSOR_PROXIMITY = null;
public static String FEATURE_SENSOR_RELATIVE_HUMIDITY = null;
public static String FEATURE_SENSOR_STEP_COUNTER = null;
public static String FEATURE_SENSOR_STEP_DETECTOR = null;
public static String FEATURE_SIP = null;
public static String FEATURE_SIP_VOIP = null;
public static String FEATURE_STRONGBOX_KEYSTORE = null;
public static String FEATURE_TELEPHONY = null;
public static String FEATURE_TELEPHONY_CDMA = null;
public static String FEATURE_TELEPHONY_EUICC = null;
public static String FEATURE_TELEPHONY_GSM = null;
public static String FEATURE_TELEPHONY_IMS = null;
public static String FEATURE_TELEPHONY_MBMS = null;
public static String FEATURE_TELEVISION = null;
public static String FEATURE_TOUCHSCREEN = null;
public static String FEATURE_TOUCHSCREEN_MULTITOUCH = null;
public static String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT = null;
public static String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND = null;
public static String FEATURE_USB_ACCESSORY = null;
public static String FEATURE_USB_HOST = null;
public static String FEATURE_VERIFIED_BOOT = null;
public static String FEATURE_VR_HEADTRACKING = null;
public static String FEATURE_VR_MODE = null;
public static String FEATURE_VR_MODE_HIGH_PERFORMANCE = null;
public static String FEATURE_VULKAN_HARDWARE_COMPUTE = null;
public static String FEATURE_VULKAN_HARDWARE_LEVEL = null;
public static String FEATURE_VULKAN_HARDWARE_VERSION = null;
public static String FEATURE_WATCH = null;
public static String FEATURE_WEBVIEW = null;
public static String FEATURE_WIFI = null;
public static String FEATURE_WIFI_AWARE = null;
public static String FEATURE_WIFI_DIRECT = null;
public static String FEATURE_WIFI_PASSPOINT = null;
public static String FEATURE_WIFI_RTT = null;
public static int CERT_INPUT_RAW_X509 = 0;
public static int CERT_INPUT_SHA256 = 0;
public static int COMPONENT_ENABLED_STATE_DEFAULT = 0;
public static int COMPONENT_ENABLED_STATE_DISABLED = 0;
public static int COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED = 0;
public static int COMPONENT_ENABLED_STATE_DISABLED_USER = 0;
public static int COMPONENT_ENABLED_STATE_ENABLED = 0;
public static int DONT_KILL_APP = 0;
public static int FLAG_PERMISSION_WHITELIST_INSTALLER = 0;
public static int FLAG_PERMISSION_WHITELIST_SYSTEM = 0;
public static int FLAG_PERMISSION_WHITELIST_UPGRADE = 0;
public static int GET_ACTIVITIES = 0;
public static int GET_CONFIGURATIONS = 0;
public static int GET_DISABLED_COMPONENTS = 0;
public static int GET_DISABLED_UNTIL_USED_COMPONENTS = 0;
public static int GET_GIDS = 0;
public static int GET_INSTRUMENTATION = 0;
public static int GET_INTENT_FILTERS = 0;
public static int GET_META_DATA = 0;
public static int GET_PERMISSIONS = 0;
public static int GET_PROVIDERS = 0;
public static int GET_RECEIVERS = 0;
public static int GET_RESOLVED_FILTER = 0;
public static int GET_SERVICES = 0;
public static int GET_SHARED_LIBRARY_FILES = 0;
public static int GET_SIGNATURES = 0;
public static int GET_SIGNING_CERTIFICATES = 0;
public static int GET_UNINSTALLED_PACKAGES = 0;
public static int GET_URI_PERMISSION_PATTERNS = 0;
public static int INSTALL_REASON_DEVICE_RESTORE = 0;
public static int INSTALL_REASON_DEVICE_SETUP = 0;
public static int INSTALL_REASON_POLICY = 0;
public static int INSTALL_REASON_UNKNOWN = 0;
public static int INSTALL_REASON_USER = 0;
public static int MATCH_ALL = 0;
public static int MATCH_APEX = 0;
public static int MATCH_DEFAULT_ONLY = 0;
public static int MATCH_DIRECT_BOOT_AUTO = 0;
public static int MATCH_DIRECT_BOOT_AWARE = 0;
public static int MATCH_DIRECT_BOOT_UNAWARE = 0;
public static int MATCH_DISABLED_COMPONENTS = 0;
public static int MATCH_DISABLED_UNTIL_USED_COMPONENTS = 0;
public static int MATCH_SYSTEM_ONLY = 0;
public static int MATCH_UNINSTALLED_PACKAGES = 0;
public static int PERMISSION_DENIED = 0;
public static int PERMISSION_GRANTED = 0;
public static int SIGNATURE_FIRST_NOT_SIGNED = 0;
public static int SIGNATURE_MATCH = 0;
public static int SIGNATURE_NEITHER_SIGNED = 0;
public static int SIGNATURE_NO_MATCH = 0;
public static int SIGNATURE_SECOND_NOT_SIGNED = 0;
public static int SIGNATURE_UNKNOWN_PACKAGE = 0;
public static int VERIFICATION_ALLOW = 0;
public static int VERIFICATION_REJECT = 0;
public static int VERSION_CODE_HIGHEST = 0;
public static long MAXIMUM_VERIFICATION_TIMEOUT = 0;
static public class NameNotFoundException extends AndroidException
{
public NameNotFoundException(){}
public NameNotFoundException(String p0){}
}
}

View File

@@ -0,0 +1,24 @@
// Generated automatically from android.content.pm.PermissionGroupInfo for testing purposes
package android.content.pm;
import android.content.pm.PackageItemInfo;
import android.content.pm.PackageManager;
import android.os.Parcel;
import android.os.Parcelable;
public class PermissionGroupInfo extends PackageItemInfo implements Parcelable
{
public CharSequence loadDescription(PackageManager p0){ return null; }
public CharSequence nonLocalizedDescription = null;
public PermissionGroupInfo(){}
public PermissionGroupInfo(PermissionGroupInfo p0){}
public String toString(){ return null; }
public int describeContents(){ return 0; }
public int descriptionRes = 0;
public int flags = 0;
public int priority = 0;
public static Parcelable.Creator<PermissionGroupInfo> CREATOR = null;
public static int FLAG_PERSONAL_INFO = 0;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,48 @@
// Generated automatically from android.content.pm.PermissionInfo for testing purposes
package android.content.pm;
import android.content.pm.PackageItemInfo;
import android.content.pm.PackageManager;
import android.os.Parcel;
import android.os.Parcelable;
public class PermissionInfo extends PackageItemInfo implements Parcelable
{
public CharSequence loadDescription(PackageManager p0){ return null; }
public CharSequence nonLocalizedDescription = null;
public PermissionInfo(){}
public PermissionInfo(PermissionInfo p0){}
public String group = null;
public String toString(){ return null; }
public int describeContents(){ return 0; }
public int descriptionRes = 0;
public int flags = 0;
public int getProtection(){ return 0; }
public int getProtectionFlags(){ return 0; }
public int protectionLevel = 0;
public static Parcelable.Creator<PermissionInfo> CREATOR = null;
public static int FLAG_COSTS_MONEY = 0;
public static int FLAG_HARD_RESTRICTED = 0;
public static int FLAG_IMMUTABLY_RESTRICTED = 0;
public static int FLAG_INSTALLED = 0;
public static int FLAG_SOFT_RESTRICTED = 0;
public static int PROTECTION_DANGEROUS = 0;
public static int PROTECTION_FLAG_APPOP = 0;
public static int PROTECTION_FLAG_DEVELOPMENT = 0;
public static int PROTECTION_FLAG_INSTALLER = 0;
public static int PROTECTION_FLAG_INSTANT = 0;
public static int PROTECTION_FLAG_PRE23 = 0;
public static int PROTECTION_FLAG_PREINSTALLED = 0;
public static int PROTECTION_FLAG_PRIVILEGED = 0;
public static int PROTECTION_FLAG_RUNTIME_ONLY = 0;
public static int PROTECTION_FLAG_SETUP = 0;
public static int PROTECTION_FLAG_SYSTEM = 0;
public static int PROTECTION_FLAG_VERIFIER = 0;
public static int PROTECTION_MASK_BASE = 0;
public static int PROTECTION_MASK_FLAGS = 0;
public static int PROTECTION_NORMAL = 0;
public static int PROTECTION_SIGNATURE = 0;
public static int PROTECTION_SIGNATURE_OR_SYSTEM = 0;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,33 @@
// Generated automatically from android.content.pm.ProviderInfo for testing purposes
package android.content.pm;
import android.content.pm.ComponentInfo;
import android.content.pm.PathPermission;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.PatternMatcher;
import android.util.Printer;
public class ProviderInfo extends ComponentInfo implements Parcelable
{
public PathPermission[] pathPermissions = null;
public PatternMatcher[] uriPermissionPatterns = null;
public ProviderInfo(){}
public ProviderInfo(ProviderInfo p0){}
public String authority = null;
public String readPermission = null;
public String toString(){ return null; }
public String writePermission = null;
public boolean forceUriPermissions = false;
public boolean grantUriPermissions = false;
public boolean isSyncable = false;
public boolean multiprocess = false;
public int describeContents(){ return 0; }
public int flags = 0;
public int initOrder = 0;
public static Parcelable.Creator<ProviderInfo> CREATOR = null;
public static int FLAG_SINGLE_USER = 0;
public void dump(Printer p0, String p1){}
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,41 @@
// Generated automatically from android.content.pm.ResolveInfo for testing purposes
package android.content.pm;
import android.content.IntentFilter;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.ProviderInfo;
import android.content.pm.ServiceInfo;
import android.graphics.drawable.Drawable;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.Printer;
public class ResolveInfo implements Parcelable
{
public ActivityInfo activityInfo = null;
public CharSequence loadLabel(PackageManager p0){ return null; }
public CharSequence nonLocalizedLabel = null;
public Drawable loadIcon(PackageManager p0){ return null; }
public IntentFilter filter = null;
public ProviderInfo providerInfo = null;
public ResolveInfo(){}
public ResolveInfo(ResolveInfo p0){}
public ServiceInfo serviceInfo = null;
public String resolvePackageName = null;
public String toString(){ return null; }
public boolean isDefault = false;
public boolean isInstantAppAvailable = false;
public final int getIconResource(){ return 0; }
public int describeContents(){ return 0; }
public int icon = 0;
public int labelRes = 0;
public int match = 0;
public int preferredOrder = 0;
public int priority = 0;
public int specificIndex = 0;
public static Parcelable.Creator<ResolveInfo> CREATOR = null;
public void dump(Printer p0, String p1){}
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,35 @@
// Generated automatically from android.content.pm.ServiceInfo for testing purposes
package android.content.pm;
import android.content.pm.ComponentInfo;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.Printer;
public class ServiceInfo extends ComponentInfo implements Parcelable
{
public ServiceInfo(){}
public ServiceInfo(ServiceInfo p0){}
public String permission = null;
public String toString(){ return null; }
public int describeContents(){ return 0; }
public int flags = 0;
public int getForegroundServiceType(){ return 0; }
public static Parcelable.Creator<ServiceInfo> CREATOR = null;
public static int FLAG_EXTERNAL_SERVICE = 0;
public static int FLAG_ISOLATED_PROCESS = 0;
public static int FLAG_SINGLE_USER = 0;
public static int FLAG_STOP_WITH_TASK = 0;
public static int FLAG_USE_APP_ZYGOTE = 0;
public static int FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE = 0;
public static int FOREGROUND_SERVICE_TYPE_DATA_SYNC = 0;
public static int FOREGROUND_SERVICE_TYPE_LOCATION = 0;
public static int FOREGROUND_SERVICE_TYPE_MANIFEST = 0;
public static int FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK = 0;
public static int FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION = 0;
public static int FOREGROUND_SERVICE_TYPE_NONE = 0;
public static int FOREGROUND_SERVICE_TYPE_PHONE_CALL = 0;
public void dump(Printer p0, String p1){}
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,27 @@
// Generated automatically from android.content.pm.SharedLibraryInfo for testing purposes
package android.content.pm;
import android.content.pm.VersionedPackage;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.List;
public class SharedLibraryInfo implements Parcelable
{
protected SharedLibraryInfo() {}
public List<VersionedPackage> getDependentPackages(){ return null; }
public String getName(){ return null; }
public String toString(){ return null; }
public VersionedPackage getDeclaringPackage(){ return null; }
public int describeContents(){ return 0; }
public int getType(){ return 0; }
public int getVersion(){ return 0; }
public long getLongVersion(){ return 0; }
public static Parcelable.Creator<SharedLibraryInfo> CREATOR = null;
public static int TYPE_BUILTIN = 0;
public static int TYPE_DYNAMIC = 0;
public static int TYPE_STATIC = 0;
public static int VERSION_UNDEFINED = 0;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,3 @@
package android.content.pm;
interface Signature { }

View File

@@ -0,0 +1,20 @@
// Generated automatically from android.content.pm.SigningInfo for testing purposes
package android.content.pm;
import android.content.pm.Signature;
import android.os.Parcel;
import android.os.Parcelable;
public class SigningInfo implements Parcelable
{
public Signature[] getApkContentsSigners(){ return null; }
public Signature[] getSigningCertificateHistory(){ return null; }
public SigningInfo(){}
public SigningInfo(SigningInfo p0){}
public boolean hasMultipleSigners(){ return false; }
public boolean hasPastSigningCertificates(){ return false; }
public int describeContents(){ return 0; }
public static Parcelable.Creator<SigningInfo> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,20 @@
// Generated automatically from android.content.pm.VersionedPackage for testing purposes
package android.content.pm;
import android.os.Parcel;
import android.os.Parcelable;
public class VersionedPackage implements Parcelable
{
protected VersionedPackage() {}
public String getPackageName(){ return null; }
public String toString(){ return null; }
public VersionedPackage(String p0, int p1){}
public VersionedPackage(String p0, long p1){}
public int describeContents(){ return 0; }
public int getVersionCode(){ return 0; }
public long getLongVersionCode(){ return 0; }
public static Parcelable.Creator<VersionedPackage> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,26 @@
// Generated automatically from android.content.res.AssetManager for testing purposes
package android.content.res;
import android.content.res.AssetFileDescriptor;
import android.content.res.XmlResourceParser;
import java.io.InputStream;
public class AssetManager implements AutoCloseable
{
protected void finalize(){}
public AssetFileDescriptor openFd(String p0){ return null; }
public AssetFileDescriptor openNonAssetFd(String p0){ return null; }
public AssetFileDescriptor openNonAssetFd(int p0, String p1){ return null; }
public InputStream open(String p0){ return null; }
public InputStream open(String p0, int p1){ return null; }
public String[] getLocales(){ return null; }
public String[] list(String p0){ return null; }
public XmlResourceParser openXmlResourceParser(String p0){ return null; }
public XmlResourceParser openXmlResourceParser(int p0, String p1){ return null; }
public static int ACCESS_BUFFER = 0;
public static int ACCESS_RANDOM = 0;
public static int ACCESS_STREAMING = 0;
public static int ACCESS_UNKNOWN = 0;
public void close(){}
}

View File

@@ -0,0 +1,27 @@
// Generated automatically from android.content.res.ColorStateList for testing purposes
package android.content.res;
import android.content.res.Resources;
import android.os.Parcel;
import android.os.Parcelable;
import org.xmlpull.v1.XmlPullParser;
public class ColorStateList implements Parcelable
{
protected ColorStateList() {}
public ColorStateList withAlpha(int p0){ return null; }
public ColorStateList(int[][] p0, int[] p1){}
public String toString(){ return null; }
public boolean isOpaque(){ return false; }
public boolean isStateful(){ return false; }
public int describeContents(){ return 0; }
public int getChangingConfigurations(){ return 0; }
public int getColorForState(int[] p0, int p1){ return 0; }
public int getDefaultColor(){ return 0; }
public static ColorStateList createFromXml(Resources p0, XmlPullParser p1){ return null; }
public static ColorStateList createFromXml(Resources p0, XmlPullParser p1, Resources.Theme p2){ return null; }
public static ColorStateList valueOf(int p0){ return null; }
public static Parcelable.Creator<ColorStateList> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,129 @@
// Generated automatically from android.content.res.Configuration for testing purposes
package android.content.res;
import android.os.LocaleList;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.Locale;
public class Configuration implements Comparable<Configuration>, Parcelable
{
public Configuration(){}
public Configuration(Configuration p0){}
public Locale locale = null;
public LocaleList getLocales(){ return null; }
public String toString(){ return null; }
public boolean equals(Configuration p0){ return false; }
public boolean equals(Object p0){ return false; }
public boolean isLayoutSizeAtLeast(int p0){ return false; }
public boolean isScreenHdr(){ return false; }
public boolean isScreenRound(){ return false; }
public boolean isScreenWideColorGamut(){ return false; }
public float fontScale = 0;
public int colorMode = 0;
public int compareTo(Configuration p0){ return 0; }
public int densityDpi = 0;
public int describeContents(){ return 0; }
public int diff(Configuration p0){ return 0; }
public int getLayoutDirection(){ return 0; }
public int hardKeyboardHidden = 0;
public int hashCode(){ return 0; }
public int keyboard = 0;
public int keyboardHidden = 0;
public int mcc = 0;
public int mnc = 0;
public int navigation = 0;
public int navigationHidden = 0;
public int orientation = 0;
public int screenHeightDp = 0;
public int screenLayout = 0;
public int screenWidthDp = 0;
public int smallestScreenWidthDp = 0;
public int touchscreen = 0;
public int uiMode = 0;
public int updateFrom(Configuration p0){ return 0; }
public static Parcelable.Creator<Configuration> CREATOR = null;
public static boolean needNewResources(int p0, int p1){ return false; }
public static int COLOR_MODE_HDR_MASK = 0;
public static int COLOR_MODE_HDR_NO = 0;
public static int COLOR_MODE_HDR_SHIFT = 0;
public static int COLOR_MODE_HDR_UNDEFINED = 0;
public static int COLOR_MODE_HDR_YES = 0;
public static int COLOR_MODE_UNDEFINED = 0;
public static int COLOR_MODE_WIDE_COLOR_GAMUT_MASK = 0;
public static int COLOR_MODE_WIDE_COLOR_GAMUT_NO = 0;
public static int COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED = 0;
public static int COLOR_MODE_WIDE_COLOR_GAMUT_YES = 0;
public static int DENSITY_DPI_UNDEFINED = 0;
public static int HARDKEYBOARDHIDDEN_NO = 0;
public static int HARDKEYBOARDHIDDEN_UNDEFINED = 0;
public static int HARDKEYBOARDHIDDEN_YES = 0;
public static int KEYBOARDHIDDEN_NO = 0;
public static int KEYBOARDHIDDEN_UNDEFINED = 0;
public static int KEYBOARDHIDDEN_YES = 0;
public static int KEYBOARD_12KEY = 0;
public static int KEYBOARD_NOKEYS = 0;
public static int KEYBOARD_QWERTY = 0;
public static int KEYBOARD_UNDEFINED = 0;
public static int MNC_ZERO = 0;
public static int NAVIGATIONHIDDEN_NO = 0;
public static int NAVIGATIONHIDDEN_UNDEFINED = 0;
public static int NAVIGATIONHIDDEN_YES = 0;
public static int NAVIGATION_DPAD = 0;
public static int NAVIGATION_NONAV = 0;
public static int NAVIGATION_TRACKBALL = 0;
public static int NAVIGATION_UNDEFINED = 0;
public static int NAVIGATION_WHEEL = 0;
public static int ORIENTATION_LANDSCAPE = 0;
public static int ORIENTATION_PORTRAIT = 0;
public static int ORIENTATION_SQUARE = 0;
public static int ORIENTATION_UNDEFINED = 0;
public static int SCREENLAYOUT_LAYOUTDIR_LTR = 0;
public static int SCREENLAYOUT_LAYOUTDIR_MASK = 0;
public static int SCREENLAYOUT_LAYOUTDIR_RTL = 0;
public static int SCREENLAYOUT_LAYOUTDIR_SHIFT = 0;
public static int SCREENLAYOUT_LAYOUTDIR_UNDEFINED = 0;
public static int SCREENLAYOUT_LONG_MASK = 0;
public static int SCREENLAYOUT_LONG_NO = 0;
public static int SCREENLAYOUT_LONG_UNDEFINED = 0;
public static int SCREENLAYOUT_LONG_YES = 0;
public static int SCREENLAYOUT_ROUND_MASK = 0;
public static int SCREENLAYOUT_ROUND_NO = 0;
public static int SCREENLAYOUT_ROUND_UNDEFINED = 0;
public static int SCREENLAYOUT_ROUND_YES = 0;
public static int SCREENLAYOUT_SIZE_LARGE = 0;
public static int SCREENLAYOUT_SIZE_MASK = 0;
public static int SCREENLAYOUT_SIZE_NORMAL = 0;
public static int SCREENLAYOUT_SIZE_SMALL = 0;
public static int SCREENLAYOUT_SIZE_UNDEFINED = 0;
public static int SCREENLAYOUT_SIZE_XLARGE = 0;
public static int SCREENLAYOUT_UNDEFINED = 0;
public static int SCREEN_HEIGHT_DP_UNDEFINED = 0;
public static int SCREEN_WIDTH_DP_UNDEFINED = 0;
public static int SMALLEST_SCREEN_WIDTH_DP_UNDEFINED = 0;
public static int TOUCHSCREEN_FINGER = 0;
public static int TOUCHSCREEN_NOTOUCH = 0;
public static int TOUCHSCREEN_STYLUS = 0;
public static int TOUCHSCREEN_UNDEFINED = 0;
public static int UI_MODE_NIGHT_MASK = 0;
public static int UI_MODE_NIGHT_NO = 0;
public static int UI_MODE_NIGHT_UNDEFINED = 0;
public static int UI_MODE_NIGHT_YES = 0;
public static int UI_MODE_TYPE_APPLIANCE = 0;
public static int UI_MODE_TYPE_CAR = 0;
public static int UI_MODE_TYPE_DESK = 0;
public static int UI_MODE_TYPE_MASK = 0;
public static int UI_MODE_TYPE_NORMAL = 0;
public static int UI_MODE_TYPE_TELEVISION = 0;
public static int UI_MODE_TYPE_UNDEFINED = 0;
public static int UI_MODE_TYPE_VR_HEADSET = 0;
public static int UI_MODE_TYPE_WATCH = 0;
public void readFromParcel(Parcel p0){}
public void setLayoutDirection(Locale p0){}
public void setLocale(Locale p0){}
public void setLocales(LocaleList p0){}
public void setTo(Configuration p0){}
public void setToDefaults(){}
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,101 @@
// Generated automatically from android.content.res.Resources for testing purposes
package android.content.res;
import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
import android.graphics.Movie;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import java.io.InputStream;
public class Resources
{
protected Resources() {}
public AssetFileDescriptor openRawResourceFd(int p0){ return null; }
public CharSequence getQuantityText(int p0, int p1){ return null; }
public CharSequence getText(int p0){ return null; }
public CharSequence getText(int p0, CharSequence p1){ return null; }
public CharSequence[] getTextArray(int p0){ return null; }
public ColorStateList getColorStateList(int p0){ return null; }
public ColorStateList getColorStateList(int p0, Resources.Theme p1){ return null; }
public Configuration getConfiguration(){ return null; }
public DisplayMetrics getDisplayMetrics(){ return null; }
public Drawable getDrawable(int p0){ return null; }
public Drawable getDrawable(int p0, Resources.Theme p1){ return null; }
public Drawable getDrawableForDensity(int p0, int p1){ return null; }
public Drawable getDrawableForDensity(int p0, int p1, Resources.Theme p2){ return null; }
public InputStream openRawResource(int p0){ return null; }
public InputStream openRawResource(int p0, TypedValue p1){ return null; }
public Movie getMovie(int p0){ return null; }
public Resources(AssetManager p0, DisplayMetrics p1, Configuration p2){}
public String getQuantityString(int p0, int p1){ return null; }
public String getQuantityString(int p0, int p1, Object... p2){ return null; }
public String getResourceEntryName(int p0){ return null; }
public String getResourceName(int p0){ return null; }
public String getResourcePackageName(int p0){ return null; }
public String getResourceTypeName(int p0){ return null; }
public String getString(int p0){ return null; }
public String getString(int p0, Object... p1){ return null; }
public String[] getStringArray(int p0){ return null; }
public TypedArray obtainAttributes(AttributeSet p0, int[] p1){ return null; }
public TypedArray obtainTypedArray(int p0){ return null; }
public Typeface getFont(int p0){ return null; }
public XmlResourceParser getAnimation(int p0){ return null; }
public XmlResourceParser getLayout(int p0){ return null; }
public XmlResourceParser getXml(int p0){ return null; }
public boolean getBoolean(int p0){ return false; }
public class Theme
{
public Drawable getDrawable(int p0){ return null; }
public Resources getResources(){ return null; }
public TypedArray obtainStyledAttributes(AttributeSet p0, int[] p1, int p2, int p3){ return null; }
public TypedArray obtainStyledAttributes(int p0, int[] p1){ return null; }
public TypedArray obtainStyledAttributes(int[] p0){ return null; }
public boolean resolveAttribute(int p0, TypedValue p1, boolean p2){ return false; }
public int getChangingConfigurations(){ return 0; }
public int getExplicitStyle(AttributeSet p0){ return 0; }
public int[] getAttributeResolutionStack(int p0, int p1, int p2){ return null; }
public void applyStyle(int p0, boolean p1){}
public void dump(int p0, String p1, String p2){}
public void rebase(){}
public void setTo(Resources.Theme p0){}
}
public final AssetManager getAssets(){ return null; }
public final Resources.Theme newTheme(){ return null; }
public final void finishPreloading(){}
public final void flushLayoutCache(){}
public float getDimension(int p0){ return 0; }
public float getFloat(int p0){ return 0; }
public float getFraction(int p0, int p1, int p2){ return 0; }
public int getColor(int p0){ return 0; }
public int getColor(int p0, Resources.Theme p1){ return 0; }
public int getDimensionPixelOffset(int p0){ return 0; }
public int getDimensionPixelSize(int p0){ return 0; }
public int getIdentifier(String p0, String p1, String p2){ return 0; }
public int getInteger(int p0){ return 0; }
public int[] getIntArray(int p0){ return null; }
public static Resources getSystem(){ return null; }
public static int ID_NULL = 0;
public static int getAttributeSetSourceResId(AttributeSet p0){ return 0; }
public void getValue(String p0, TypedValue p1, boolean p2){}
public void getValue(int p0, TypedValue p1, boolean p2){}
public void getValueForDensity(int p0, int p1, TypedValue p2, boolean p3){}
public void parseBundleExtra(String p0, AttributeSet p1, Bundle p2){}
public void parseBundleExtras(XmlResourceParser p0, Bundle p1){}
public void updateConfiguration(Configuration p0, DisplayMetrics p1){}
static public class NotFoundException extends RuntimeException
{
public NotFoundException(){}
public NotFoundException(String p0){}
public NotFoundException(String p0, Exception p1){}
}
}

View File

@@ -0,0 +1,47 @@
// Generated automatically from android.content.res.TypedArray for testing purposes
package android.content.res;
import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.util.TypedValue;
public class TypedArray
{
protected TypedArray() {}
public CharSequence getText(int p0){ return null; }
public CharSequence[] getTextArray(int p0){ return null; }
public ColorStateList getColorStateList(int p0){ return null; }
public Drawable getDrawable(int p0){ return null; }
public Resources getResources(){ return null; }
public String getNonResourceString(int p0){ return null; }
public String getPositionDescription(){ return null; }
public String getString(int p0){ return null; }
public String toString(){ return null; }
public TypedValue peekValue(int p0){ return null; }
public Typeface getFont(int p0){ return null; }
public boolean getBoolean(int p0, boolean p1){ return false; }
public boolean getValue(int p0, TypedValue p1){ return false; }
public boolean hasValue(int p0){ return false; }
public boolean hasValueOrEmpty(int p0){ return false; }
public float getDimension(int p0, float p1){ return 0; }
public float getFloat(int p0, float p1){ return 0; }
public float getFraction(int p0, int p1, int p2, float p3){ return 0; }
public int getChangingConfigurations(){ return 0; }
public int getColor(int p0, int p1){ return 0; }
public int getDimensionPixelOffset(int p0, int p1){ return 0; }
public int getDimensionPixelSize(int p0, int p1){ return 0; }
public int getIndex(int p0){ return 0; }
public int getIndexCount(){ return 0; }
public int getInt(int p0, int p1){ return 0; }
public int getInteger(int p0, int p1){ return 0; }
public int getLayoutDimension(int p0, String p1){ return 0; }
public int getLayoutDimension(int p0, int p1){ return 0; }
public int getResourceId(int p0, int p1){ return 0; }
public int getSourceResourceId(int p0, int p1){ return 0; }
public int getType(int p0){ return 0; }
public int length(){ return 0; }
public void recycle(){}
}

View File

@@ -0,0 +1,12 @@
// Generated automatically from android.content.res.XmlResourceParser for testing purposes
package android.content.res;
import android.util.AttributeSet;
import org.xmlpull.v1.XmlPullParser;
public interface XmlResourceParser extends AttributeSet, AutoCloseable, XmlPullParser
{
String getAttributeNamespace(int p0);
void close();
}

View File

@@ -0,0 +1,13 @@
// Generated automatically from android.database.CharArrayBuffer for testing purposes
package android.database;
public class CharArrayBuffer
{
protected CharArrayBuffer() {}
public CharArrayBuffer(char[] p0){}
public CharArrayBuffer(int p0){}
public char[] data = null;
public int sizeCopied = 0;
}

View File

@@ -0,0 +1,17 @@
// Generated automatically from android.database.ContentObserver for testing purposes
package android.database;
import android.net.Uri;
import android.os.Handler;
abstract public class ContentObserver
{
protected ContentObserver() {}
public ContentObserver(Handler p0){}
public boolean deliverSelfNotifications(){ return false; }
public final void dispatchChange(boolean p0){}
public final void dispatchChange(boolean p0, Uri p1){}
public void onChange(boolean p0){}
public void onChange(boolean p0, Uri p1){}
}

View File

@@ -0,0 +1,11 @@
// Generated automatically from android.database.DataSetObserver for testing purposes
package android.database;
abstract public class DataSetObserver
{
public DataSetObserver(){}
public void onChanged(){}
public void onInvalidated(){}
}

View File

@@ -0,0 +1,10 @@
// Generated automatically from android.database.DatabaseErrorHandler for testing purposes
package android.database;
import android.database.sqlite.SQLiteDatabase;
public interface DatabaseErrorHandler
{
void onCorruption(SQLiteDatabase p0);
}

View File

@@ -0,0 +1,16 @@
// Generated automatically from android.database.sqlite.SQLiteClosable for testing purposes
package android.database.sqlite;
import java.io.Closeable;
abstract public class SQLiteClosable implements Closeable
{
protected abstract void onAllReferencesReleased();
protected void onAllReferencesReleasedFromContainer(){}
public SQLiteClosable(){}
public void acquireReference(){}
public void close(){}
public void releaseReference(){}
public void releaseReferenceFromContainer(){}
}

View File

@@ -0,0 +1,15 @@
// Generated automatically from android.database.sqlite.SQLiteCursorDriver for testing purposes
package android.database.sqlite;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public interface SQLiteCursorDriver
{
Cursor query(SQLiteDatabase.CursorFactory p0, String[] p1);
void cursorClosed();
void cursorDeactivated();
void cursorRequeried(Cursor p0);
void setBindArguments(String[] p0);
}

View File

@@ -0,0 +1,122 @@
// Generated automatically from android.database.sqlite.SQLiteDatabase for testing purposes
package android.database.sqlite;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteClosable;
import android.database.sqlite.SQLiteCursorDriver;
import android.database.sqlite.SQLiteQuery;
import android.database.sqlite.SQLiteStatement;
import android.database.sqlite.SQLiteTransactionListener;
import android.os.CancellationSignal;
import android.util.Pair;
import java.io.File;
import java.util.List;
import java.util.Locale;
import java.util.Map;
public class SQLiteDatabase extends SQLiteClosable
{
protected SQLiteDatabase() {}
protected void finalize(){}
protected void onAllReferencesReleased(){}
public Cursor query(String p0, String[] p1, String p2, String[] p3, String p4, String p5, String p6){ return null; }
public Cursor query(String p0, String[] p1, String p2, String[] p3, String p4, String p5, String p6, String p7){ return null; }
public Cursor query(boolean p0, String p1, String[] p2, String p3, String[] p4, String p5, String p6, String p7, String p8){ return null; }
public Cursor query(boolean p0, String p1, String[] p2, String p3, String[] p4, String p5, String p6, String p7, String p8, CancellationSignal p9){ return null; }
public Cursor queryWithFactory(SQLiteDatabase.CursorFactory p0, boolean p1, String p2, String[] p3, String p4, String[] p5, String p6, String p7, String p8, String p9){ return null; }
public Cursor queryWithFactory(SQLiteDatabase.CursorFactory p0, boolean p1, String p2, String[] p3, String p4, String[] p5, String p6, String p7, String p8, String p9, CancellationSignal p10){ return null; }
public Cursor rawQuery(String p0, String[] p1){ return null; }
public Cursor rawQuery(String p0, String[] p1, CancellationSignal p2){ return null; }
public Cursor rawQueryWithFactory(SQLiteDatabase.CursorFactory p0, String p1, String[] p2, String p3){ return null; }
public Cursor rawQueryWithFactory(SQLiteDatabase.CursorFactory p0, String p1, String[] p2, String p3, CancellationSignal p4){ return null; }
public List<Pair<String, String>> getAttachedDbs(){ return null; }
public Map<String, String> getSyncedTables(){ return null; }
public SQLiteStatement compileStatement(String p0){ return null; }
public String getPath(){ return null; }
public String toString(){ return null; }
public boolean enableWriteAheadLogging(){ return false; }
public boolean inTransaction(){ return false; }
public boolean isDatabaseIntegrityOk(){ return false; }
public boolean isDbLockedByCurrentThread(){ return false; }
public boolean isDbLockedByOtherThreads(){ return false; }
public boolean isOpen(){ return false; }
public boolean isReadOnly(){ return false; }
public boolean isWriteAheadLoggingEnabled(){ return false; }
public boolean needUpgrade(int p0){ return false; }
public boolean yieldIfContended(){ return false; }
public boolean yieldIfContendedSafely(){ return false; }
public boolean yieldIfContendedSafely(long p0){ return false; }
public int delete(String p0, String p1, String[] p2){ return 0; }
public int getVersion(){ return 0; }
public int update(String p0, ContentValues p1, String p2, String[] p3){ return 0; }
public int updateWithOnConflict(String p0, ContentValues p1, String p2, String[] p3, int p4){ return 0; }
public long getMaximumSize(){ return 0; }
public long getPageSize(){ return 0; }
public long insert(String p0, String p1, ContentValues p2){ return 0; }
public long insertOrThrow(String p0, String p1, ContentValues p2){ return 0; }
public long insertWithOnConflict(String p0, String p1, ContentValues p2, int p3){ return 0; }
public long replace(String p0, String p1, ContentValues p2){ return 0; }
public long replaceOrThrow(String p0, String p1, ContentValues p2){ return 0; }
public long setMaximumSize(long p0){ return 0; }
public static SQLiteDatabase create(SQLiteDatabase.CursorFactory p0){ return null; }
public static SQLiteDatabase createInMemory(SQLiteDatabase.OpenParams p0){ return null; }
public static SQLiteDatabase openDatabase(File p0, SQLiteDatabase.OpenParams p1){ return null; }
public static SQLiteDatabase openDatabase(String p0, SQLiteDatabase.CursorFactory p1, int p2){ return null; }
public static SQLiteDatabase openDatabase(String p0, SQLiteDatabase.CursorFactory p1, int p2, DatabaseErrorHandler p3){ return null; }
public static SQLiteDatabase openOrCreateDatabase(File p0, SQLiteDatabase.CursorFactory p1){ return null; }
public static SQLiteDatabase openOrCreateDatabase(String p0, SQLiteDatabase.CursorFactory p1){ return null; }
public static SQLiteDatabase openOrCreateDatabase(String p0, SQLiteDatabase.CursorFactory p1, DatabaseErrorHandler p2){ return null; }
public static String findEditTable(String p0){ return null; }
public static boolean deleteDatabase(File p0){ return false; }
public static int CONFLICT_ABORT = 0;
public static int CONFLICT_FAIL = 0;
public static int CONFLICT_IGNORE = 0;
public static int CONFLICT_NONE = 0;
public static int CONFLICT_REPLACE = 0;
public static int CONFLICT_ROLLBACK = 0;
public static int CREATE_IF_NECESSARY = 0;
public static int ENABLE_WRITE_AHEAD_LOGGING = 0;
public static int MAX_SQL_CACHE_SIZE = 0;
public static int NO_LOCALIZED_COLLATORS = 0;
public static int OPEN_READONLY = 0;
public static int OPEN_READWRITE = 0;
public static int SQLITE_MAX_LIKE_PATTERN_LENGTH = 0;
public static int releaseMemory(){ return 0; }
public void beginTransaction(){}
public void beginTransactionNonExclusive(){}
public void beginTransactionWithListener(SQLiteTransactionListener p0){}
public void beginTransactionWithListenerNonExclusive(SQLiteTransactionListener p0){}
public void disableWriteAheadLogging(){}
public void endTransaction(){}
public void execSQL(String p0){}
public void execSQL(String p0, Object[] p1){}
public void markTableSyncable(String p0, String p1){}
public void markTableSyncable(String p0, String p1, String p2){}
public void setForeignKeyConstraintsEnabled(boolean p0){}
public void setLocale(Locale p0){}
public void setLockingEnabled(boolean p0){}
public void setMaxSqlCacheSize(int p0){}
public void setPageSize(long p0){}
public void setTransactionSuccessful(){}
public void setVersion(int p0){}
public void validateSql(String p0, CancellationSignal p1){}
static public class OpenParams
{
protected OpenParams() {}
public DatabaseErrorHandler getErrorHandler(){ return null; }
public SQLiteDatabase.CursorFactory getCursorFactory(){ return null; }
public String getJournalMode(){ return null; }
public String getSynchronousMode(){ return null; }
public int getLookasideSlotCount(){ return 0; }
public int getLookasideSlotSize(){ return 0; }
public int getOpenFlags(){ return 0; }
public long getIdleConnectionTimeout(){ return 0; }
}
static public interface CursorFactory
{
Cursor newCursor(SQLiteDatabase p0, SQLiteCursorDriver p1, String p2, SQLiteQuery p3);
}
}

View File

@@ -0,0 +1,19 @@
// Generated automatically from android.database.sqlite.SQLiteProgram for testing purposes
package android.database.sqlite;
import android.database.sqlite.SQLiteClosable;
abstract public class SQLiteProgram extends SQLiteClosable
{
protected SQLiteProgram() {}
protected void onAllReferencesReleased(){}
public final int getUniqueId(){ return 0; }
public void bindAllArgsAsStrings(String[] p0){}
public void bindBlob(int p0, byte[] p1){}
public void bindDouble(int p0, double p1){}
public void bindLong(int p0, long p1){}
public void bindNull(int p0){}
public void bindString(int p0, String p1){}
public void clearBindings(){}
}

View File

@@ -0,0 +1,11 @@
// Generated automatically from android.database.sqlite.SQLiteQuery for testing purposes
package android.database.sqlite;
import android.database.sqlite.SQLiteProgram;
public class SQLiteQuery extends SQLiteProgram
{
protected SQLiteQuery() {}
public String toString(){ return null; }
}

View File

@@ -0,0 +1,18 @@
// Generated automatically from android.database.sqlite.SQLiteStatement for testing purposes
package android.database.sqlite;
import android.database.sqlite.SQLiteProgram;
import android.os.ParcelFileDescriptor;
public class SQLiteStatement extends SQLiteProgram
{
protected SQLiteStatement() {}
public ParcelFileDescriptor simpleQueryForBlobFileDescriptor(){ return null; }
public String simpleQueryForString(){ return null; }
public String toString(){ return null; }
public int executeUpdateDelete(){ return 0; }
public long executeInsert(){ return 0; }
public long simpleQueryForLong(){ return 0; }
public void execute(){}
}

View File

@@ -0,0 +1,11 @@
// Generated automatically from android.database.sqlite.SQLiteTransactionListener for testing purposes
package android.database.sqlite;
public interface SQLiteTransactionListener
{
void onBegin();
void onCommit();
void onRollback();
}

View File

@@ -0,0 +1,97 @@
// Generated automatically from android.graphics.Bitmap for testing purposes
package android.graphics;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorSpace;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Picture;
import android.hardware.HardwareBuffer;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.DisplayMetrics;
import java.io.OutputStream;
import java.nio.Buffer;
public class Bitmap implements Parcelable
{
public Bitmap copy(Bitmap.Config p0, boolean p1){ return null; }
public Bitmap extractAlpha(){ return null; }
public Bitmap extractAlpha(Paint p0, int[] p1){ return null; }
public Bitmap.Config getConfig(){ return null; }
public Color getColor(int p0, int p1){ return null; }
public ColorSpace getColorSpace(){ return null; }
public boolean compress(Bitmap.CompressFormat p0, int p1, OutputStream p2){ return false; }
public boolean hasAlpha(){ return false; }
public boolean hasMipMap(){ return false; }
public boolean isMutable(){ return false; }
public boolean isPremultiplied(){ return false; }
public boolean isRecycled(){ return false; }
public boolean sameAs(Bitmap p0){ return false; }
public byte[] getNinePatchChunk(){ return null; }
public int describeContents(){ return 0; }
public int getAllocationByteCount(){ return 0; }
public int getByteCount(){ return 0; }
public int getDensity(){ return 0; }
public int getGenerationId(){ return 0; }
public int getHeight(){ return 0; }
public int getPixel(int p0, int p1){ return 0; }
public int getRowBytes(){ return 0; }
public int getScaledHeight(Canvas p0){ return 0; }
public int getScaledHeight(DisplayMetrics p0){ return 0; }
public int getScaledHeight(int p0){ return 0; }
public int getScaledWidth(Canvas p0){ return 0; }
public int getScaledWidth(DisplayMetrics p0){ return 0; }
public int getScaledWidth(int p0){ return 0; }
public int getWidth(){ return 0; }
public static Bitmap createBitmap(Bitmap p0){ return null; }
public static Bitmap createBitmap(Bitmap p0, int p1, int p2, int p3, int p4){ return null; }
public static Bitmap createBitmap(Bitmap p0, int p1, int p2, int p3, int p4, Matrix p5, boolean p6){ return null; }
public static Bitmap createBitmap(DisplayMetrics p0, int p1, int p2, Bitmap.Config p3){ return null; }
public static Bitmap createBitmap(DisplayMetrics p0, int p1, int p2, Bitmap.Config p3, boolean p4){ return null; }
public static Bitmap createBitmap(DisplayMetrics p0, int p1, int p2, Bitmap.Config p3, boolean p4, ColorSpace p5){ return null; }
public static Bitmap createBitmap(DisplayMetrics p0, int[] p1, int p2, int p3, Bitmap.Config p4){ return null; }
public static Bitmap createBitmap(DisplayMetrics p0, int[] p1, int p2, int p3, int p4, int p5, Bitmap.Config p6){ return null; }
public static Bitmap createBitmap(Picture p0){ return null; }
public static Bitmap createBitmap(Picture p0, int p1, int p2, Bitmap.Config p3){ return null; }
public static Bitmap createBitmap(int p0, int p1, Bitmap.Config p2){ return null; }
public static Bitmap createBitmap(int p0, int p1, Bitmap.Config p2, boolean p3){ return null; }
public static Bitmap createBitmap(int p0, int p1, Bitmap.Config p2, boolean p3, ColorSpace p4){ return null; }
public static Bitmap createBitmap(int[] p0, int p1, int p2, Bitmap.Config p3){ return null; }
public static Bitmap createBitmap(int[] p0, int p1, int p2, int p3, int p4, Bitmap.Config p5){ return null; }
public static Bitmap createScaledBitmap(Bitmap p0, int p1, int p2, boolean p3){ return null; }
public static Bitmap wrapHardwareBuffer(HardwareBuffer p0, ColorSpace p1){ return null; }
public static Parcelable.Creator<Bitmap> CREATOR = null;
public static int DENSITY_NONE = 0;
public void copyPixelsFromBuffer(Buffer p0){}
public void copyPixelsToBuffer(Buffer p0){}
public void eraseColor(int p0){}
public void eraseColor(long p0){}
public void getPixels(int[] p0, int p1, int p2, int p3, int p4, int p5, int p6){}
public void prepareToDraw(){}
public void reconfigure(int p0, int p1, Bitmap.Config p2){}
public void recycle(){}
public void setColorSpace(ColorSpace p0){}
public void setConfig(Bitmap.Config p0){}
public void setDensity(int p0){}
public void setHasAlpha(boolean p0){}
public void setHasMipMap(boolean p0){}
public void setHeight(int p0){}
public void setPixel(int p0, int p1, int p2){}
public void setPixels(int[] p0, int p1, int p2, int p3, int p4, int p5, int p6){}
public void setPremultiplied(boolean p0){}
public void setWidth(int p0){}
public void writeToParcel(Parcel p0, int p1){}
static public enum CompressFormat
{
JPEG, PNG, WEBP;
private CompressFormat() {}
}
static public enum Config
{
ALPHA_8, ARGB_4444, ARGB_8888, HARDWARE, RGBA_F16, RGB_565;
private Config() {}
}
}

View File

@@ -0,0 +1,54 @@
// Generated automatically from android.graphics.BitmapFactory for testing purposes
package android.graphics;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.ColorSpace;
import android.graphics.Rect;
import android.util.TypedValue;
import java.io.FileDescriptor;
import java.io.InputStream;
public class BitmapFactory
{
public BitmapFactory(){}
public static Bitmap decodeByteArray(byte[] p0, int p1, int p2){ return null; }
public static Bitmap decodeByteArray(byte[] p0, int p1, int p2, BitmapFactory.Options p3){ return null; }
public static Bitmap decodeFile(String p0){ return null; }
public static Bitmap decodeFile(String p0, BitmapFactory.Options p1){ return null; }
public static Bitmap decodeFileDescriptor(FileDescriptor p0){ return null; }
public static Bitmap decodeFileDescriptor(FileDescriptor p0, Rect p1, BitmapFactory.Options p2){ return null; }
public static Bitmap decodeResource(Resources p0, int p1){ return null; }
public static Bitmap decodeResource(Resources p0, int p1, BitmapFactory.Options p2){ return null; }
public static Bitmap decodeResourceStream(Resources p0, TypedValue p1, InputStream p2, Rect p3, BitmapFactory.Options p4){ return null; }
public static Bitmap decodeStream(InputStream p0){ return null; }
public static Bitmap decodeStream(InputStream p0, Rect p1, BitmapFactory.Options p2){ return null; }
static public class Options
{
public Bitmap inBitmap = null;
public Bitmap.Config inPreferredConfig = null;
public Bitmap.Config outConfig = null;
public ColorSpace inPreferredColorSpace = null;
public ColorSpace outColorSpace = null;
public Options(){}
public String outMimeType = null;
public boolean inDither = false;
public boolean inInputShareable = false;
public boolean inJustDecodeBounds = false;
public boolean inMutable = false;
public boolean inPreferQualityOverSpeed = false;
public boolean inPremultiplied = false;
public boolean inPurgeable = false;
public boolean inScaled = false;
public boolean mCancel = false;
public byte[] inTempStorage = null;
public int inDensity = 0;
public int inSampleSize = 0;
public int inScreenDensity = 0;
public int inTargetDensity = 0;
public int outHeight = 0;
public int outWidth = 0;
public void requestCancelDecode(){}
}
}

View File

@@ -0,0 +1,10 @@
// Generated automatically from android.graphics.BlendMode for testing purposes
package android.graphics;
public enum BlendMode
{
CLEAR, COLOR, COLOR_BURN, COLOR_DODGE, DARKEN, DIFFERENCE, DST, DST_ATOP, DST_IN, DST_OUT, DST_OVER, EXCLUSION, HARD_LIGHT, HUE, LIGHTEN, LUMINOSITY, MODULATE, MULTIPLY, OVERLAY, PLUS, SATURATION, SCREEN, SOFT_LIGHT, SRC, SRC_ATOP, SRC_IN, SRC_OUT, SRC_OVER, XOR;
private BlendMode() {}
}

View File

@@ -0,0 +1,138 @@
// Generated automatically from android.graphics.Canvas for testing purposes
package android.graphics;
import android.graphics.Bitmap;
import android.graphics.BlendMode;
import android.graphics.DrawFilter;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Picture;
import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Region;
import android.graphics.RenderNode;
import android.graphics.text.MeasuredText;
public class Canvas
{
public Canvas(){}
public Canvas(Bitmap p0){}
public DrawFilter getDrawFilter(){ return null; }
public boolean clipOutPath(Path p0){ return false; }
public boolean clipOutRect(Rect p0){ return false; }
public boolean clipOutRect(RectF p0){ return false; }
public boolean clipOutRect(float p0, float p1, float p2, float p3){ return false; }
public boolean clipOutRect(int p0, int p1, int p2, int p3){ return false; }
public boolean clipPath(Path p0){ return false; }
public boolean clipPath(Path p0, Region.Op p1){ return false; }
public boolean clipRect(Rect p0){ return false; }
public boolean clipRect(Rect p0, Region.Op p1){ return false; }
public boolean clipRect(RectF p0){ return false; }
public boolean clipRect(RectF p0, Region.Op p1){ return false; }
public boolean clipRect(float p0, float p1, float p2, float p3){ return false; }
public boolean clipRect(float p0, float p1, float p2, float p3, Region.Op p4){ return false; }
public boolean clipRect(int p0, int p1, int p2, int p3){ return false; }
public boolean getClipBounds(Rect p0){ return false; }
public boolean isHardwareAccelerated(){ return false; }
public boolean isOpaque(){ return false; }
public boolean quickReject(Path p0, Canvas.EdgeType p1){ return false; }
public boolean quickReject(RectF p0, Canvas.EdgeType p1){ return false; }
public boolean quickReject(float p0, float p1, float p2, float p3, Canvas.EdgeType p4){ return false; }
public final Matrix getMatrix(){ return null; }
public final Rect getClipBounds(){ return null; }
public final void rotate(float p0, float p1, float p2){}
public final void scale(float p0, float p1, float p2, float p3){}
public int getDensity(){ return 0; }
public int getHeight(){ return 0; }
public int getMaximumBitmapHeight(){ return 0; }
public int getMaximumBitmapWidth(){ return 0; }
public int getSaveCount(){ return 0; }
public int getWidth(){ return 0; }
public int save(){ return 0; }
public int saveLayer(RectF p0, Paint p1){ return 0; }
public int saveLayer(RectF p0, Paint p1, int p2){ return 0; }
public int saveLayer(float p0, float p1, float p2, float p3, Paint p4){ return 0; }
public int saveLayer(float p0, float p1, float p2, float p3, Paint p4, int p5){ return 0; }
public int saveLayerAlpha(RectF p0, int p1){ return 0; }
public int saveLayerAlpha(RectF p0, int p1, int p2){ return 0; }
public int saveLayerAlpha(float p0, float p1, float p2, float p3, int p4){ return 0; }
public int saveLayerAlpha(float p0, float p1, float p2, float p3, int p4, int p5){ return 0; }
public static int ALL_SAVE_FLAG = 0;
public void concat(Matrix p0){}
public void disableZ(){}
public void drawARGB(int p0, int p1, int p2, int p3){}
public void drawArc(RectF p0, float p1, float p2, boolean p3, Paint p4){}
public void drawArc(float p0, float p1, float p2, float p3, float p4, float p5, boolean p6, Paint p7){}
public void drawBitmap(Bitmap p0, Matrix p1, Paint p2){}
public void drawBitmap(Bitmap p0, Rect p1, Rect p2, Paint p3){}
public void drawBitmap(Bitmap p0, Rect p1, RectF p2, Paint p3){}
public void drawBitmap(Bitmap p0, float p1, float p2, Paint p3){}
public void drawBitmap(int[] p0, int p1, int p2, float p3, float p4, int p5, int p6, boolean p7, Paint p8){}
public void drawBitmap(int[] p0, int p1, int p2, int p3, int p4, int p5, int p6, boolean p7, Paint p8){}
public void drawBitmapMesh(Bitmap p0, int p1, int p2, float[] p3, int p4, int[] p5, int p6, Paint p7){}
public void drawCircle(float p0, float p1, float p2, Paint p3){}
public void drawColor(int p0){}
public void drawColor(int p0, BlendMode p1){}
public void drawColor(int p0, PorterDuff.Mode p1){}
public void drawColor(long p0){}
public void drawColor(long p0, BlendMode p1){}
public void drawDoubleRoundRect(RectF p0, float p1, float p2, RectF p3, float p4, float p5, Paint p6){}
public void drawDoubleRoundRect(RectF p0, float[] p1, RectF p2, float[] p3, Paint p4){}
public void drawLine(float p0, float p1, float p2, float p3, Paint p4){}
public void drawLines(float[] p0, Paint p1){}
public void drawLines(float[] p0, int p1, int p2, Paint p3){}
public void drawOval(RectF p0, Paint p1){}
public void drawOval(float p0, float p1, float p2, float p3, Paint p4){}
public void drawPaint(Paint p0){}
public void drawPath(Path p0, Paint p1){}
public void drawPicture(Picture p0){}
public void drawPicture(Picture p0, Rect p1){}
public void drawPicture(Picture p0, RectF p1){}
public void drawPoint(float p0, float p1, Paint p2){}
public void drawPoints(float[] p0, Paint p1){}
public void drawPoints(float[] p0, int p1, int p2, Paint p3){}
public void drawPosText(String p0, float[] p1, Paint p2){}
public void drawPosText(char[] p0, int p1, int p2, float[] p3, Paint p4){}
public void drawRGB(int p0, int p1, int p2){}
public void drawRect(Rect p0, Paint p1){}
public void drawRect(RectF p0, Paint p1){}
public void drawRect(float p0, float p1, float p2, float p3, Paint p4){}
public void drawRenderNode(RenderNode p0){}
public void drawRoundRect(RectF p0, float p1, float p2, Paint p3){}
public void drawRoundRect(float p0, float p1, float p2, float p3, float p4, float p5, Paint p6){}
public void drawText(CharSequence p0, int p1, int p2, float p3, float p4, Paint p5){}
public void drawText(String p0, float p1, float p2, Paint p3){}
public void drawText(String p0, int p1, int p2, float p3, float p4, Paint p5){}
public void drawText(char[] p0, int p1, int p2, float p3, float p4, Paint p5){}
public void drawTextOnPath(String p0, Path p1, float p2, float p3, Paint p4){}
public void drawTextOnPath(char[] p0, int p1, int p2, Path p3, float p4, float p5, Paint p6){}
public void drawTextRun(CharSequence p0, int p1, int p2, int p3, int p4, float p5, float p6, boolean p7, Paint p8){}
public void drawTextRun(MeasuredText p0, int p1, int p2, int p3, int p4, float p5, float p6, boolean p7, Paint p8){}
public void drawTextRun(char[] p0, int p1, int p2, int p3, int p4, float p5, float p6, boolean p7, Paint p8){}
public void drawVertices(Canvas.VertexMode p0, int p1, float[] p2, int p3, float[] p4, int p5, int[] p6, int p7, short[] p8, int p9, int p10, Paint p11){}
public void enableZ(){}
public void getMatrix(Matrix p0){}
public void restore(){}
public void restoreToCount(int p0){}
public void rotate(float p0){}
public void scale(float p0, float p1){}
public void setBitmap(Bitmap p0){}
public void setDensity(int p0){}
public void setDrawFilter(DrawFilter p0){}
public void setMatrix(Matrix p0){}
public void skew(float p0, float p1){}
public void translate(float p0, float p1){}
static public enum EdgeType
{
AA, BW;
private EdgeType() {}
}
static public enum VertexMode
{
TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP;
private VertexMode() {}
}
}

View File

@@ -0,0 +1,80 @@
// Generated automatically from android.graphics.Color for testing purposes
package android.graphics;
import android.graphics.ColorSpace;
public class Color
{
public Color convert(ColorSpace p0){ return null; }
public Color(){}
public ColorSpace getColorSpace(){ return null; }
public ColorSpace.Model getModel(){ return null; }
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public boolean isSrgb(){ return false; }
public boolean isWideGamut(){ return false; }
public float alpha(){ return 0; }
public float blue(){ return 0; }
public float getComponent(int p0){ return 0; }
public float green(){ return 0; }
public float luminance(){ return 0; }
public float red(){ return 0; }
public float[] getComponents(){ return null; }
public float[] getComponents(float[] p0){ return null; }
public int getComponentCount(){ return 0; }
public int hashCode(){ return 0; }
public int toArgb(){ return 0; }
public long pack(){ return 0; }
public static Color valueOf(float p0, float p1, float p2){ return null; }
public static Color valueOf(float p0, float p1, float p2, float p3){ return null; }
public static Color valueOf(float p0, float p1, float p2, float p3, ColorSpace p4){ return null; }
public static Color valueOf(float[] p0, ColorSpace p1){ return null; }
public static Color valueOf(int p0){ return null; }
public static Color valueOf(long p0){ return null; }
public static ColorSpace colorSpace(long p0){ return null; }
public static boolean isInColorSpace(long p0, ColorSpace p1){ return false; }
public static boolean isSrgb(long p0){ return false; }
public static boolean isWideGamut(long p0){ return false; }
public static float alpha(long p0){ return 0; }
public static float blue(long p0){ return 0; }
public static float green(long p0){ return 0; }
public static float luminance(int p0){ return 0; }
public static float luminance(long p0){ return 0; }
public static float red(long p0){ return 0; }
public static int BLACK = 0;
public static int BLUE = 0;
public static int CYAN = 0;
public static int DKGRAY = 0;
public static int GRAY = 0;
public static int GREEN = 0;
public static int HSVToColor(float[] p0){ return 0; }
public static int HSVToColor(int p0, float[] p1){ return 0; }
public static int LTGRAY = 0;
public static int MAGENTA = 0;
public static int RED = 0;
public static int TRANSPARENT = 0;
public static int WHITE = 0;
public static int YELLOW = 0;
public static int alpha(int p0){ return 0; }
public static int argb(float p0, float p1, float p2, float p3){ return 0; }
public static int argb(int p0, int p1, int p2, int p3){ return 0; }
public static int blue(int p0){ return 0; }
public static int green(int p0){ return 0; }
public static int parseColor(String p0){ return 0; }
public static int red(int p0){ return 0; }
public static int rgb(float p0, float p1, float p2){ return 0; }
public static int rgb(int p0, int p1, int p2){ return 0; }
public static int toArgb(long p0){ return 0; }
public static long convert(float p0, float p1, float p2, float p3, ColorSpace p4, ColorSpace p5){ return 0; }
public static long convert(float p0, float p1, float p2, float p3, ColorSpace.Connector p4){ return 0; }
public static long convert(int p0, ColorSpace p1){ return 0; }
public static long convert(long p0, ColorSpace p1){ return 0; }
public static long convert(long p0, ColorSpace.Connector p1){ return 0; }
public static long pack(float p0, float p1, float p2){ return 0; }
public static long pack(float p0, float p1, float p2, float p3){ return 0; }
public static long pack(float p0, float p1, float p2, float p3, ColorSpace p4){ return 0; }
public static long pack(int p0){ return 0; }
public static void RGBToHSV(int p0, int p1, int p2, float[] p3){}
public static void colorToHSV(int p0, float[] p1){}
}

View File

@@ -0,0 +1,9 @@
// Generated automatically from android.graphics.ColorFilter for testing purposes
package android.graphics;
public class ColorFilter
{
public ColorFilter(){}
}

View File

@@ -0,0 +1,122 @@
// Generated automatically from android.graphics.ColorSpace for testing purposes
package android.graphics;
import java.util.function.DoubleUnaryOperator;
abstract public class ColorSpace
{
protected ColorSpace() {}
public ColorSpace.Model getModel(){ return null; }
public String getName(){ return null; }
public String toString(){ return null; }
public abstract boolean isWideGamut();
public abstract float getMaxValue(int p0);
public abstract float getMinValue(int p0);
public abstract float[] fromXyz(float[] p0);
public abstract float[] toXyz(float[] p0);
public boolean equals(Object p0){ return false; }
public boolean isSrgb(){ return false; }
public float[] fromXyz(float p0, float p1, float p2){ return null; }
public float[] toXyz(float p0, float p1, float p2){ return null; }
public int getComponentCount(){ return 0; }
public int getId(){ return 0; }
public int hashCode(){ return 0; }
public static ColorSpace adapt(ColorSpace p0, float[] p1){ return null; }
public static ColorSpace adapt(ColorSpace p0, float[] p1, ColorSpace.Adaptation p2){ return null; }
public static ColorSpace get(ColorSpace.Named p0){ return null; }
public static ColorSpace match(float[] p0, ColorSpace.Rgb.TransferParameters p1){ return null; }
public static ColorSpace.Connector connect(ColorSpace p0){ return null; }
public static ColorSpace.Connector connect(ColorSpace p0, ColorSpace p1){ return null; }
public static ColorSpace.Connector connect(ColorSpace p0, ColorSpace p1, ColorSpace.RenderIntent p2){ return null; }
public static ColorSpace.Connector connect(ColorSpace p0, ColorSpace.RenderIntent p1){ return null; }
public static float[] ILLUMINANT_A = null;
public static float[] ILLUMINANT_B = null;
public static float[] ILLUMINANT_C = null;
public static float[] ILLUMINANT_D50 = null;
public static float[] ILLUMINANT_D55 = null;
public static float[] ILLUMINANT_D60 = null;
public static float[] ILLUMINANT_D65 = null;
public static float[] ILLUMINANT_D75 = null;
public static float[] ILLUMINANT_E = null;
public static int MAX_ID = 0;
public static int MIN_ID = 0;
static public class Connector
{
protected Connector() {}
public ColorSpace getDestination(){ return null; }
public ColorSpace getSource(){ return null; }
public ColorSpace.RenderIntent getRenderIntent(){ return null; }
public float[] transform(float p0, float p1, float p2){ return null; }
public float[] transform(float[] p0){ return null; }
}
static public class Rgb extends ColorSpace
{
protected Rgb() {}
public ColorSpace.Rgb.TransferParameters getTransferParameters(){ return null; }
public DoubleUnaryOperator getEotf(){ return null; }
public DoubleUnaryOperator getOetf(){ return null; }
public Rgb(String p0, float[] p1, ColorSpace.Rgb.TransferParameters p2){}
public Rgb(String p0, float[] p1, DoubleUnaryOperator p2, DoubleUnaryOperator p3){}
public Rgb(String p0, float[] p1, double p2){}
public Rgb(String p0, float[] p1, float[] p2, ColorSpace.Rgb.TransferParameters p3){}
public Rgb(String p0, float[] p1, float[] p2, DoubleUnaryOperator p3, DoubleUnaryOperator p4, float p5, float p6){}
public Rgb(String p0, float[] p1, float[] p2, double p3){}
public boolean equals(Object p0){ return false; }
public boolean isSrgb(){ return false; }
public boolean isWideGamut(){ return false; }
public float getMaxValue(int p0){ return 0; }
public float getMinValue(int p0){ return 0; }
public float[] fromLinear(float p0, float p1, float p2){ return null; }
public float[] fromLinear(float[] p0){ return null; }
public float[] fromXyz(float[] p0){ return null; }
public float[] getInverseTransform(){ return null; }
public float[] getInverseTransform(float[] p0){ return null; }
public float[] getPrimaries(){ return null; }
public float[] getPrimaries(float[] p0){ return null; }
public float[] getTransform(){ return null; }
public float[] getTransform(float[] p0){ return null; }
public float[] getWhitePoint(){ return null; }
public float[] getWhitePoint(float[] p0){ return null; }
public float[] toLinear(float p0, float p1, float p2){ return null; }
public float[] toLinear(float[] p0){ return null; }
public float[] toXyz(float[] p0){ return null; }
public int hashCode(){ return 0; }
static public class TransferParameters
{
protected TransferParameters() {}
public TransferParameters(double p0, double p1, double p2, double p3, double p4){}
public TransferParameters(double p0, double p1, double p2, double p3, double p4, double p5, double p6){}
public boolean equals(Object p0){ return false; }
public final double a = 0;
public final double b = 0;
public final double c = 0;
public final double d = 0;
public final double e = 0;
public final double f = 0;
public final double g = 0;
public int hashCode(){ return 0; }
}
}
static public enum Adaptation
{
BRADFORD, CIECAT02, VON_KRIES;
private Adaptation() {}
}
static public enum Model
{
CMYK, LAB, RGB, XYZ;
private Model() {}
public int getComponentCount(){ return 0; }
}
static public enum Named
{
ACES, ACESCG, ADOBE_RGB, BT2020, BT709, CIE_LAB, CIE_XYZ, DCI_P3, DISPLAY_P3, EXTENDED_SRGB, LINEAR_EXTENDED_SRGB, LINEAR_SRGB, NTSC_1953, PRO_PHOTO_RGB, SMPTE_C, SRGB;
private Named() {}
}
static public enum RenderIntent
{
ABSOLUTE, PERCEPTUAL, RELATIVE, SATURATION;
private RenderIntent() {}
}
}

View File

@@ -0,0 +1,10 @@
// Generated automatically from android.graphics.DrawFilter for testing purposes
package android.graphics;
public class DrawFilter
{
protected void finalize(){}
public DrawFilter(){}
}

View File

@@ -0,0 +1,29 @@
// Generated automatically from android.graphics.Insets for testing purposes
package android.graphics;
import android.graphics.Rect;
import android.os.Parcel;
import android.os.Parcelable;
public class Insets implements Parcelable
{
protected Insets() {}
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public final int bottom = 0;
public final int left = 0;
public final int right = 0;
public final int top = 0;
public int describeContents(){ return 0; }
public int hashCode(){ return 0; }
public static Insets NONE = null;
public static Insets add(Insets p0, Insets p1){ return null; }
public static Insets max(Insets p0, Insets p1){ return null; }
public static Insets min(Insets p0, Insets p1){ return null; }
public static Insets of(Rect p0){ return null; }
public static Insets of(int p0, int p1, int p2, int p3){ return null; }
public static Insets subtract(Insets p0, Insets p1){ return null; }
public static Parcelable.Creator<Insets> CREATOR = null;
public void writeToParcel(Parcel p0, int p1){}
}

View File

@@ -0,0 +1,10 @@
// Generated automatically from android.graphics.MaskFilter for testing purposes
package android.graphics;
public class MaskFilter
{
protected void finalize(){}
public MaskFilter(){}
}

View File

@@ -0,0 +1,74 @@
// Generated automatically from android.graphics.Matrix for testing purposes
package android.graphics;
import android.graphics.RectF;
public class Matrix
{
public Matrix(){}
public Matrix(Matrix p0){}
public String toShortString(){ return null; }
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public boolean invert(Matrix p0){ return false; }
public boolean isAffine(){ return false; }
public boolean isIdentity(){ return false; }
public boolean mapRect(RectF p0){ return false; }
public boolean mapRect(RectF p0, RectF p1){ return false; }
public boolean postConcat(Matrix p0){ return false; }
public boolean postRotate(float p0){ return false; }
public boolean postRotate(float p0, float p1, float p2){ return false; }
public boolean postScale(float p0, float p1){ return false; }
public boolean postScale(float p0, float p1, float p2, float p3){ return false; }
public boolean postSkew(float p0, float p1){ return false; }
public boolean postSkew(float p0, float p1, float p2, float p3){ return false; }
public boolean postTranslate(float p0, float p1){ return false; }
public boolean preConcat(Matrix p0){ return false; }
public boolean preRotate(float p0){ return false; }
public boolean preRotate(float p0, float p1, float p2){ return false; }
public boolean preScale(float p0, float p1){ return false; }
public boolean preScale(float p0, float p1, float p2, float p3){ return false; }
public boolean preSkew(float p0, float p1){ return false; }
public boolean preSkew(float p0, float p1, float p2, float p3){ return false; }
public boolean preTranslate(float p0, float p1){ return false; }
public boolean rectStaysRect(){ return false; }
public boolean setConcat(Matrix p0, Matrix p1){ return false; }
public boolean setPolyToPoly(float[] p0, int p1, float[] p2, int p3, int p4){ return false; }
public boolean setRectToRect(RectF p0, RectF p1, Matrix.ScaleToFit p2){ return false; }
public float mapRadius(float p0){ return 0; }
public int hashCode(){ return 0; }
public static int MPERSP_0 = 0;
public static int MPERSP_1 = 0;
public static int MPERSP_2 = 0;
public static int MSCALE_X = 0;
public static int MSCALE_Y = 0;
public static int MSKEW_X = 0;
public static int MSKEW_Y = 0;
public static int MTRANS_X = 0;
public static int MTRANS_Y = 0;
public void getValues(float[] p0){}
public void mapPoints(float[] p0){}
public void mapPoints(float[] p0, float[] p1){}
public void mapPoints(float[] p0, int p1, float[] p2, int p3, int p4){}
public void mapVectors(float[] p0){}
public void mapVectors(float[] p0, float[] p1){}
public void mapVectors(float[] p0, int p1, float[] p2, int p3, int p4){}
public void reset(){}
public void set(Matrix p0){}
public void setRotate(float p0){}
public void setRotate(float p0, float p1, float p2){}
public void setScale(float p0, float p1){}
public void setScale(float p0, float p1, float p2, float p3){}
public void setSinCos(float p0, float p1){}
public void setSinCos(float p0, float p1, float p2, float p3){}
public void setSkew(float p0, float p1){}
public void setSkew(float p0, float p1, float p2, float p3){}
public void setTranslate(float p0, float p1){}
public void setValues(float[] p0){}
static public enum ScaleToFit
{
CENTER, END, FILL, START;
private ScaleToFit() {}
}
}

View File

@@ -0,0 +1,23 @@
// Generated automatically from android.graphics.Movie for testing purposes
package android.graphics;
import android.graphics.Canvas;
import android.graphics.Paint;
import java.io.InputStream;
public class Movie
{
protected Movie() {}
protected void finalize(){}
public boolean isOpaque(){ return false; }
public boolean setTime(int p0){ return false; }
public int duration(){ return 0; }
public int height(){ return 0; }
public int width(){ return 0; }
public static Movie decodeByteArray(byte[] p0, int p1, int p2){ return null; }
public static Movie decodeFile(String p0){ return null; }
public static Movie decodeStream(InputStream p0){ return null; }
public void draw(Canvas p0, float p1, float p2){}
public void draw(Canvas p0, float p1, float p2, Paint p3){}
}

View File

@@ -0,0 +1,31 @@
// Generated automatically from android.graphics.NinePatch for testing purposes
package android.graphics;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Region;
public class NinePatch
{
protected NinePatch() {}
protected void finalize(){}
public Bitmap getBitmap(){ return null; }
public NinePatch(Bitmap p0, byte[] p1){}
public NinePatch(Bitmap p0, byte[] p1, String p2){}
public Paint getPaint(){ return null; }
public String getName(){ return null; }
public final Region getTransparentRegion(Rect p0){ return null; }
public final boolean hasAlpha(){ return false; }
public int getDensity(){ return 0; }
public int getHeight(){ return 0; }
public int getWidth(){ return 0; }
public static boolean isNinePatchChunk(byte[] p0){ return false; }
public void draw(Canvas p0, Rect p1){}
public void draw(Canvas p0, Rect p1, Paint p2){}
public void draw(Canvas p0, RectF p1){}
public void setPaint(Paint p0){}
}

View File

@@ -0,0 +1,28 @@
// Generated automatically from android.graphics.Outline for testing purposes
package android.graphics;
import android.graphics.Path;
import android.graphics.Rect;
public class Outline
{
public Outline(){}
public Outline(Outline p0){}
public boolean canClip(){ return false; }
public boolean getRect(Rect p0){ return false; }
public boolean isEmpty(){ return false; }
public float getAlpha(){ return 0; }
public float getRadius(){ return 0; }
public void offset(int p0, int p1){}
public void set(Outline p0){}
public void setAlpha(float p0){}
public void setConvexPath(Path p0){}
public void setEmpty(){}
public void setOval(Rect p0){}
public void setOval(int p0, int p1, int p2, int p3){}
public void setRect(Rect p0){}
public void setRect(int p0, int p1, int p2, int p3){}
public void setRoundRect(Rect p0, float p1){}
public void setRoundRect(int p0, int p1, int p2, int p3, float p4){}
}

View File

@@ -0,0 +1,212 @@
// Generated automatically from android.graphics.Paint for testing purposes
package android.graphics;
import android.graphics.BlendMode;
import android.graphics.ColorFilter;
import android.graphics.MaskFilter;
import android.graphics.Path;
import android.graphics.PathEffect;
import android.graphics.Rect;
import android.graphics.Shader;
import android.graphics.Typeface;
import android.graphics.Xfermode;
import android.os.LocaleList;
import java.util.Locale;
public class Paint
{
public BlendMode getBlendMode(){ return null; }
public ColorFilter getColorFilter(){ return null; }
public ColorFilter setColorFilter(ColorFilter p0){ return null; }
public Locale getTextLocale(){ return null; }
public LocaleList getTextLocales(){ return null; }
public MaskFilter getMaskFilter(){ return null; }
public MaskFilter setMaskFilter(MaskFilter p0){ return null; }
public Paint(){}
public Paint(Paint p0){}
public Paint(int p0){}
public Paint.Align getTextAlign(){ return null; }
public Paint.Cap getStrokeCap(){ return null; }
public Paint.FontMetrics getFontMetrics(){ return null; }
public Paint.FontMetricsInt getFontMetricsInt(){ return null; }
public Paint.Join getStrokeJoin(){ return null; }
public Paint.Style getStyle(){ return null; }
public PathEffect getPathEffect(){ return null; }
public PathEffect setPathEffect(PathEffect p0){ return null; }
public Shader getShader(){ return null; }
public Shader setShader(Shader p0){ return null; }
public String getFontFeatureSettings(){ return null; }
public String getFontVariationSettings(){ return null; }
public Typeface getTypeface(){ return null; }
public Typeface setTypeface(Typeface p0){ return null; }
public Xfermode getXfermode(){ return null; }
public Xfermode setXfermode(Xfermode p0){ return null; }
public boolean equalsForTextMeasurement(Paint p0){ return false; }
public boolean getFillPath(Path p0, Path p1){ return false; }
public boolean hasGlyph(String p0){ return false; }
public boolean isElegantTextHeight(){ return false; }
public boolean setFontVariationSettings(String p0){ return false; }
public final boolean isAntiAlias(){ return false; }
public final boolean isDither(){ return false; }
public final boolean isFakeBoldText(){ return false; }
public final boolean isFilterBitmap(){ return false; }
public final boolean isLinearText(){ return false; }
public final boolean isStrikeThruText(){ return false; }
public final boolean isSubpixelText(){ return false; }
public final boolean isUnderlineText(){ return false; }
public float ascent(){ return 0; }
public float descent(){ return 0; }
public float getFontMetrics(Paint.FontMetrics p0){ return 0; }
public float getFontSpacing(){ return 0; }
public float getLetterSpacing(){ return 0; }
public float getRunAdvance(CharSequence p0, int p1, int p2, int p3, int p4, boolean p5, int p6){ return 0; }
public float getRunAdvance(char[] p0, int p1, int p2, int p3, int p4, boolean p5, int p6){ return 0; }
public float getShadowLayerDx(){ return 0; }
public float getShadowLayerDy(){ return 0; }
public float getShadowLayerRadius(){ return 0; }
public float getStrikeThruPosition(){ return 0; }
public float getStrikeThruThickness(){ return 0; }
public float getStrokeMiter(){ return 0; }
public float getStrokeWidth(){ return 0; }
public float getTextRunAdvances(char[] p0, int p1, int p2, int p3, int p4, boolean p5, float[] p6, int p7){ return 0; }
public float getTextScaleX(){ return 0; }
public float getTextSize(){ return 0; }
public float getTextSkewX(){ return 0; }
public float getUnderlinePosition(){ return 0; }
public float getUnderlineThickness(){ return 0; }
public float getWordSpacing(){ return 0; }
public float measureText(CharSequence p0, int p1, int p2){ return 0; }
public float measureText(String p0){ return 0; }
public float measureText(String p0, int p1, int p2){ return 0; }
public float measureText(char[] p0, int p1, int p2){ return 0; }
public int breakText(CharSequence p0, int p1, int p2, boolean p3, float p4, float[] p5){ return 0; }
public int breakText(String p0, boolean p1, float p2, float[] p3){ return 0; }
public int breakText(char[] p0, int p1, int p2, float p3, float[] p4){ return 0; }
public int getAlpha(){ return 0; }
public int getColor(){ return 0; }
public int getEndHyphenEdit(){ return 0; }
public int getFlags(){ return 0; }
public int getFontMetricsInt(Paint.FontMetricsInt p0){ return 0; }
public int getHinting(){ return 0; }
public int getOffsetForAdvance(CharSequence p0, int p1, int p2, int p3, int p4, boolean p5, float p6){ return 0; }
public int getOffsetForAdvance(char[] p0, int p1, int p2, int p3, int p4, boolean p5, float p6){ return 0; }
public int getShadowLayerColor(){ return 0; }
public int getStartHyphenEdit(){ return 0; }
public int getTextRunCursor(CharSequence p0, int p1, int p2, boolean p3, int p4, int p5){ return 0; }
public int getTextRunCursor(char[] p0, int p1, int p2, boolean p3, int p4, int p5){ return 0; }
public int getTextWidths(CharSequence p0, int p1, int p2, float[] p3){ return 0; }
public int getTextWidths(String p0, float[] p1){ return 0; }
public int getTextWidths(String p0, int p1, int p2, float[] p3){ return 0; }
public int getTextWidths(char[] p0, int p1, int p2, float[] p3){ return 0; }
public long getColorLong(){ return 0; }
public long getShadowLayerColorLong(){ return 0; }
public static int ANTI_ALIAS_FLAG = 0;
public static int CURSOR_AFTER = 0;
public static int CURSOR_AT = 0;
public static int CURSOR_AT_OR_AFTER = 0;
public static int CURSOR_AT_OR_BEFORE = 0;
public static int CURSOR_BEFORE = 0;
public static int DEV_KERN_TEXT_FLAG = 0;
public static int DITHER_FLAG = 0;
public static int EMBEDDED_BITMAP_TEXT_FLAG = 0;
public static int END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN = 0;
public static int END_HYPHEN_EDIT_INSERT_HYPHEN = 0;
public static int END_HYPHEN_EDIT_INSERT_MAQAF = 0;
public static int END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN = 0;
public static int END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN = 0;
public static int END_HYPHEN_EDIT_NO_EDIT = 0;
public static int END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN = 0;
public static int FAKE_BOLD_TEXT_FLAG = 0;
public static int FILTER_BITMAP_FLAG = 0;
public static int HINTING_OFF = 0;
public static int HINTING_ON = 0;
public static int LINEAR_TEXT_FLAG = 0;
public static int START_HYPHEN_EDIT_INSERT_HYPHEN = 0;
public static int START_HYPHEN_EDIT_INSERT_ZWJ = 0;
public static int START_HYPHEN_EDIT_NO_EDIT = 0;
public static int STRIKE_THRU_TEXT_FLAG = 0;
public static int SUBPIXEL_TEXT_FLAG = 0;
public static int UNDERLINE_TEXT_FLAG = 0;
public void clearShadowLayer(){}
public void getTextBounds(CharSequence p0, int p1, int p2, Rect p3){}
public void getTextBounds(String p0, int p1, int p2, Rect p3){}
public void getTextBounds(char[] p0, int p1, int p2, Rect p3){}
public void getTextPath(String p0, int p1, int p2, float p3, float p4, Path p5){}
public void getTextPath(char[] p0, int p1, int p2, float p3, float p4, Path p5){}
public void reset(){}
public void set(Paint p0){}
public void setARGB(int p0, int p1, int p2, int p3){}
public void setAlpha(int p0){}
public void setAntiAlias(boolean p0){}
public void setBlendMode(BlendMode p0){}
public void setColor(int p0){}
public void setColor(long p0){}
public void setDither(boolean p0){}
public void setElegantTextHeight(boolean p0){}
public void setEndHyphenEdit(int p0){}
public void setFakeBoldText(boolean p0){}
public void setFilterBitmap(boolean p0){}
public void setFlags(int p0){}
public void setFontFeatureSettings(String p0){}
public void setHinting(int p0){}
public void setLetterSpacing(float p0){}
public void setLinearText(boolean p0){}
public void setShadowLayer(float p0, float p1, float p2, int p3){}
public void setShadowLayer(float p0, float p1, float p2, long p3){}
public void setStartHyphenEdit(int p0){}
public void setStrikeThruText(boolean p0){}
public void setStrokeCap(Paint.Cap p0){}
public void setStrokeJoin(Paint.Join p0){}
public void setStrokeMiter(float p0){}
public void setStrokeWidth(float p0){}
public void setStyle(Paint.Style p0){}
public void setSubpixelText(boolean p0){}
public void setTextAlign(Paint.Align p0){}
public void setTextLocale(Locale p0){}
public void setTextLocales(LocaleList p0){}
public void setTextScaleX(float p0){}
public void setTextSize(float p0){}
public void setTextSkewX(float p0){}
public void setUnderlineText(boolean p0){}
public void setWordSpacing(float p0){}
static public class FontMetrics
{
public FontMetrics(){}
public float ascent = 0;
public float bottom = 0;
public float descent = 0;
public float leading = 0;
public float top = 0;
}
static public class FontMetricsInt
{
public FontMetricsInt(){}
public String toString(){ return null; }
public int ascent = 0;
public int bottom = 0;
public int descent = 0;
public int leading = 0;
public int top = 0;
}
static public enum Align
{
CENTER, LEFT, RIGHT;
private Align() {}
}
static public enum Cap
{
BUTT, ROUND, SQUARE;
private Cap() {}
}
static public enum Join
{
BEVEL, MITER, ROUND;
private Join() {}
}
static public enum Style
{
FILL, FILL_AND_STROKE, STROKE;
private Style() {}
}
}

View File

@@ -0,0 +1,73 @@
// Generated automatically from android.graphics.Path for testing purposes
package android.graphics;
import android.graphics.Matrix;
import android.graphics.RectF;
public class Path
{
public Path(){}
public Path(Path p0){}
public Path.FillType getFillType(){ return null; }
public boolean isConvex(){ return false; }
public boolean isEmpty(){ return false; }
public boolean isInverseFillType(){ return false; }
public boolean isRect(RectF p0){ return false; }
public boolean op(Path p0, Path p1, Path.Op p2){ return false; }
public boolean op(Path p0, Path.Op p1){ return false; }
public float[] approximate(float p0){ return null; }
public void addArc(RectF p0, float p1, float p2){}
public void addArc(float p0, float p1, float p2, float p3, float p4, float p5){}
public void addCircle(float p0, float p1, float p2, Path.Direction p3){}
public void addOval(RectF p0, Path.Direction p1){}
public void addOval(float p0, float p1, float p2, float p3, Path.Direction p4){}
public void addPath(Path p0){}
public void addPath(Path p0, Matrix p1){}
public void addPath(Path p0, float p1, float p2){}
public void addRect(RectF p0, Path.Direction p1){}
public void addRect(float p0, float p1, float p2, float p3, Path.Direction p4){}
public void addRoundRect(RectF p0, float p1, float p2, Path.Direction p3){}
public void addRoundRect(RectF p0, float[] p1, Path.Direction p2){}
public void addRoundRect(float p0, float p1, float p2, float p3, float p4, float p5, Path.Direction p6){}
public void addRoundRect(float p0, float p1, float p2, float p3, float[] p4, Path.Direction p5){}
public void arcTo(RectF p0, float p1, float p2){}
public void arcTo(RectF p0, float p1, float p2, boolean p3){}
public void arcTo(float p0, float p1, float p2, float p3, float p4, float p5, boolean p6){}
public void close(){}
public void computeBounds(RectF p0, boolean p1){}
public void cubicTo(float p0, float p1, float p2, float p3, float p4, float p5){}
public void incReserve(int p0){}
public void lineTo(float p0, float p1){}
public void moveTo(float p0, float p1){}
public void offset(float p0, float p1){}
public void offset(float p0, float p1, Path p2){}
public void quadTo(float p0, float p1, float p2, float p3){}
public void rCubicTo(float p0, float p1, float p2, float p3, float p4, float p5){}
public void rLineTo(float p0, float p1){}
public void rMoveTo(float p0, float p1){}
public void rQuadTo(float p0, float p1, float p2, float p3){}
public void reset(){}
public void rewind(){}
public void set(Path p0){}
public void setFillType(Path.FillType p0){}
public void setLastPoint(float p0, float p1){}
public void toggleInverseFillType(){}
public void transform(Matrix p0){}
public void transform(Matrix p0, Path p1){}
static public enum Direction
{
CCW, CW;
private Direction() {}
}
static public enum FillType
{
EVEN_ODD, INVERSE_EVEN_ODD, INVERSE_WINDING, WINDING;
private FillType() {}
}
static public enum Op
{
DIFFERENCE, INTERSECT, REVERSE_DIFFERENCE, UNION, XOR;
private Op() {}
}
}

View File

@@ -0,0 +1,10 @@
// Generated automatically from android.graphics.PathEffect for testing purposes
package android.graphics;
public class PathEffect
{
protected void finalize(){}
public PathEffect(){}
}

View File

@@ -0,0 +1,18 @@
// Generated automatically from android.graphics.Picture for testing purposes
package android.graphics;
import android.graphics.Canvas;
public class Picture
{
protected void finalize(){}
public Canvas beginRecording(int p0, int p1){ return null; }
public Picture(){}
public Picture(Picture p0){}
public boolean requiresHardwareAcceleration(){ return false; }
public int getHeight(){ return 0; }
public int getWidth(){ return 0; }
public void draw(Canvas p0){}
public void endRecording(){}
}

View File

@@ -0,0 +1,26 @@
// Generated automatically from android.graphics.Point for testing purposes
package android.graphics;
import android.os.Parcel;
import android.os.Parcelable;
public class Point implements Parcelable
{
public Point(){}
public Point(Point p0){}
public Point(int p0, int p1){}
public String toString(){ return null; }
public boolean equals(Object p0){ return false; }
public final boolean equals(int p0, int p1){ return false; }
public final void negate(){}
public final void offset(int p0, int p1){}
public int describeContents(){ return 0; }
public int hashCode(){ return 0; }
public int x = 0;
public int y = 0;
public static Parcelable.Creator<Point> CREATOR = null;
public void readFromParcel(Parcel p0){}
public void set(int p0, int p1){}
public void writeToParcel(Parcel p0, int p1){}
}

Some files were not shown because too many files have changed in this diff Show More