You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
add bunch of new java APIs: mostly stubs or copied from AOSP
Many of these classes are only needed to be subclassed by androidx support library, which is used in many android apps
This commit is contained in:
5
src/api-impl/android/accounts/AccountManager.java
Normal file
5
src/api-impl/android/accounts/AccountManager.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package android.accounts;
|
||||
|
||||
public class AccountManager {
|
||||
|
||||
}
|
||||
9
src/api-impl/android/animation/Animator.java
Normal file
9
src/api-impl/android/animation/Animator.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package android.animation;
|
||||
|
||||
public class Animator {
|
||||
|
||||
public void setTarget(Object target) {}
|
||||
|
||||
public void start() {}
|
||||
|
||||
}
|
||||
11
src/api-impl/android/animation/AnimatorInflater.java
Normal file
11
src/api-impl/android/animation/AnimatorInflater.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package android.animation;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
public class AnimatorInflater {
|
||||
|
||||
public static Animator loadAnimator(Context context, int resId) {
|
||||
return new Animator();
|
||||
}
|
||||
|
||||
}
|
||||
56
src/api-impl/android/animation/AnimatorListenerAdapter.java
Normal file
56
src/api-impl/android/animation/AnimatorListenerAdapter.java
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Copyright (C) 2010 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.animation;
|
||||
|
||||
/**
|
||||
* This adapter class provides empty implementations of the methods from {@link android.animation.Animator.AnimatorListener}.
|
||||
* Any custom listener that cares only about a subset of the methods of this listener can
|
||||
* simply subclass this adapter class instead of implementing the interface directly.
|
||||
*/
|
||||
public abstract class AnimatorListenerAdapter /*implements Animator.AnimatorListener,
|
||||
Animator.AnimatorPauseListener*/ {
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public void onAnimationCancel(Animator animation) {
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public void onAnimationRepeat(Animator animation) {
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public void onAnimationStart(Animator animation) {
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public void onAnimationPause(Animator animation) {
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public void onAnimationResume(Animator animation) {
|
||||
}
|
||||
}
|
||||
5
src/api-impl/android/animation/LayoutTransition.java
Normal file
5
src/api-impl/android/animation/LayoutTransition.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package android.animation;
|
||||
|
||||
public class LayoutTransition {
|
||||
|
||||
}
|
||||
33
src/api-impl/android/animation/ValueAnimator.java
Normal file
33
src/api-impl/android/animation/ValueAnimator.java
Normal file
@@ -0,0 +1,33 @@
|
||||
package android.animation;
|
||||
|
||||
public class ValueAnimator {
|
||||
|
||||
public static ValueAnimator ofFloat(float... values) {
|
||||
return new ValueAnimator();
|
||||
}
|
||||
|
||||
public ValueAnimator setDuration(long duration) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public void addUpdateListener(AnimatorUpdateListener listener) {}
|
||||
|
||||
public static long getFrameDelay() {
|
||||
return 20; // 20ms frame interval
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementors of this interface can add themselves as update listeners
|
||||
* to an <code>ValueAnimator</code> instance to receive callbacks on every animation
|
||||
* frame, after the current frame's values have been calculated for that
|
||||
* <code>ValueAnimator</code>.
|
||||
*/
|
||||
public static interface AnimatorUpdateListener {
|
||||
/**
|
||||
* <p>Notifies the occurrence of another frame of the animation.</p>
|
||||
*
|
||||
* @param animation The animation which was repeated.
|
||||
*/
|
||||
void onAnimationUpdate(ValueAnimator animation);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package android.app;
|
||||
|
||||
import android.R;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -102,6 +103,7 @@ public class Activity extends Context {
|
||||
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
System.out.println("- onCreate - yay!");
|
||||
new ViewGroup(this).setId(R.id.content);
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -263,6 +265,22 @@ public class Activity extends Context {
|
||||
nativeFinish(getWindow().native_window);
|
||||
}
|
||||
|
||||
public Object getLastNonConfigurationInstance() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public FragmentManager getFragmentManager() {
|
||||
return new FragmentManager();
|
||||
}
|
||||
|
||||
public LayoutInflater getLayoutInflater() {
|
||||
return layout_inflater;
|
||||
}
|
||||
|
||||
public CharSequence getTitle() {
|
||||
return "Title";
|
||||
}
|
||||
|
||||
private native void nativeFinish(long native_window);
|
||||
private static native void nativeStartActivity(Activity activity);
|
||||
}
|
||||
|
||||
5
src/api-impl/android/app/DownloadManager.java
Normal file
5
src/api-impl/android/app/DownloadManager.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package android.app;
|
||||
|
||||
public class DownloadManager {
|
||||
|
||||
}
|
||||
5
src/api-impl/android/app/Fragment.java
Normal file
5
src/api-impl/android/app/Fragment.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package android.app;
|
||||
|
||||
public class Fragment {
|
||||
|
||||
}
|
||||
16
src/api-impl/android/app/FragmentManager.java
Normal file
16
src/api-impl/android/app/FragmentManager.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package android.app;
|
||||
|
||||
public class FragmentManager {
|
||||
|
||||
public Fragment findFragmentByTag(String tag) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public FragmentTransaction beginTransaction() {
|
||||
return new FragmentTransaction();
|
||||
}
|
||||
|
||||
public boolean executePendingTransactions() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
12
src/api-impl/android/app/FragmentTransaction.java
Normal file
12
src/api-impl/android/app/FragmentTransaction.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package android.app;
|
||||
|
||||
public class FragmentTransaction {
|
||||
|
||||
public FragmentTransaction add(Fragment fragment, String string) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public int commit() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
5
src/api-impl/android/app/SearchManager.java
Normal file
5
src/api-impl/android/app/SearchManager.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package android.app;
|
||||
|
||||
public class SearchManager {
|
||||
|
||||
}
|
||||
10
src/api-impl/android/app/UiModeManager.java
Normal file
10
src/api-impl/android/app/UiModeManager.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package android.app;
|
||||
|
||||
import android.content.res.Configuration;
|
||||
|
||||
public class UiModeManager {
|
||||
|
||||
public int getCurrentModeType() {
|
||||
return Configuration.UI_MODE_TYPE_NORMAL;
|
||||
}
|
||||
}
|
||||
5
src/api-impl/android/app/WallpaperManager.java
Normal file
5
src/api-impl/android/app/WallpaperManager.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package android.app;
|
||||
|
||||
public class WallpaperManager {
|
||||
|
||||
}
|
||||
5
src/api-impl/android/app/admin/DevicePolicyManager.java
Normal file
5
src/api-impl/android/app/admin/DevicePolicyManager.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package android.app.admin;
|
||||
|
||||
public class DevicePolicyManager {
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import android.app.Application;
|
||||
import android.app.KeyguardManager;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.SharedPreferencesImpl;
|
||||
import android.app.UiModeManager;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Intent;
|
||||
@@ -165,6 +166,8 @@ public class Context extends Object {
|
||||
return new InputManager();
|
||||
case "location":
|
||||
return new LocationManager();
|
||||
case "uimode":
|
||||
return new UiModeManager();
|
||||
default:
|
||||
System.out.println("!!!!!!! getSystemService: case >" + name + "< is not implemented yet");
|
||||
return null;
|
||||
@@ -348,4 +351,8 @@ public class Context extends Object {
|
||||
public void setTheme(int resId) {
|
||||
theme.applyStyle(resId, true);
|
||||
}
|
||||
|
||||
public final CharSequence getText(int resId) {
|
||||
return getResources().getText(resId);
|
||||
}
|
||||
}
|
||||
|
||||
14
src/api-impl/android/content/ContextWrapper.java
Normal file
14
src/api-impl/android/content/ContextWrapper.java
Normal file
@@ -0,0 +1,14 @@
|
||||
package android.content;
|
||||
|
||||
public class ContextWrapper extends Context {
|
||||
private Context baseContext;
|
||||
|
||||
public ContextWrapper(Context baseContext) {
|
||||
this.baseContext = baseContext;
|
||||
}
|
||||
|
||||
public Context getBaseContext() {
|
||||
return baseContext;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -185,6 +185,14 @@ public class Intent {
|
||||
return component;
|
||||
}
|
||||
|
||||
public boolean hasExtra(String name) {
|
||||
return extras.containsKey(name);
|
||||
}
|
||||
|
||||
public Serializable getSerializableExtra(String name) {
|
||||
return (Serializable)extras.get(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Intent [component=" + component + ", extras=" + extras + "]";
|
||||
|
||||
@@ -1337,6 +1337,34 @@ public class PackageManager {
|
||||
*/
|
||||
public static final String EXTRA_REQUEST_PERMISSION_PERMISSION_LIST = "android.content.pm.extra.PERMISSION_LIST";
|
||||
|
||||
// dummy certificate
|
||||
public final static byte[] X509_DUMMY = (
|
||||
"-----BEGIN CERTIFICATE-----\n" +
|
||||
"MIIERjCCAy6gAwIBAgIJAIz+EYMBU6aQMA0GCSqGSIb3DQEBBQUAMIGiMQswCQYD\n" +
|
||||
"VQQGEwJDQTELMAkGA1UECBMCQkMxEjAQBgNVBAcTCVZhbmNvdXZlcjEWMBQGA1UE\n" +
|
||||
"ChMNd3d3LmN1Y2JjLmNvbTEUMBIGA1UECxQLY29tbW9uc19zc2wxHTAbBgNVBAMU\n" +
|
||||
"FGRlbW9faW50ZXJtZWRpYXRlX2NhMSUwIwYJKoZIhvcNAQkBFhZqdWxpdXNkYXZp\n" +
|
||||
"ZXNAZ21haWwuY29tMB4XDTA2MTIxMTE1MzE0MVoXDTI4MTEwNTE1MzE0MVowgaQx\n" +
|
||||
"CzAJBgNVBAYTAlVTMREwDwYDVQQIEwhNYXJ5bGFuZDEUMBIGA1UEBxMLRm9yZXN0\n" +
|
||||
"IEhpbGwxFzAVBgNVBAoTDmh0dHBjb21wb25lbnRzMRowGAYDVQQLExF0ZXN0IGNl\n" +
|
||||
"cnRpZmljYXRlczEQMA4GA1UEAxMHZm9vLmNvbTElMCMGCSqGSIb3DQEJARYWanVs\n" +
|
||||
"aXVzZGF2aWVzQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\n" +
|
||||
"ggEBAMhjr5aCPoyp0R1iroWAfnEyBMGYWoCidH96yGPFjYLowez5aYKY1IOKTY2B\n" +
|
||||
"lYho4O84X244QrZTRl8kQbYtxnGh4gSCD+Z8gjZ/gMvLUlhqOb+WXPAUHMB39GRy\n" +
|
||||
"zerA/ZtrlUqf+lKo0uWcocxeRc771KN8cPH3nHZ0rV0Hx4ZAZy6U4xxObe4rtSVY\n" +
|
||||
"07hNKXAb2odnVqgzcYiDkLV8ilvEmoNWMWrp8UBqkTcpEhYhCYp3cTkgJwMSuqv8\n" +
|
||||
"BqnGd87xQU3FVZI4tbtkB+KzjD9zz8QCDJAfDjZHR03KNQ5mxOgXwxwKw6lGMaiV\n" +
|
||||
"JTxpTKqym93whYk93l3ocEe55c0CAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgB\n" +
|
||||
"hvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYE\n" +
|
||||
"FJ8Ud78/OrbKOIJCSBYs2tDLXofYMB8GA1UdIwQYMBaAFHua2o+QmU5S0qzbswNS\n" +
|
||||
"yoemDT4NMA0GCSqGSIb3DQEBBQUAA4IBAQC3jRmEya6sQCkmieULcvx8zz1euCk9\n" +
|
||||
"fSez7BEtki8+dmfMXe3K7sH0lI8f4jJR0rbSCjpmCQLYmzC3NxBKeJOW0RcjNBpO\n" +
|
||||
"c2JlGO9auXv2GDP4IYiXElLJ6VSqc8WvDikv0JmCCWm0Zga+bZbR/EWN5DeEtFdF\n" +
|
||||
"815CLpJZNcYwiYwGy/CVQ7w2TnXlG+mraZOz+owr+cL6J/ZesbdEWfjoS1+cUEhE\n" +
|
||||
"HwlNrAu8jlZ2UqSgskSWlhYdMTAP9CPHiUv9N7FcT58Itv/I4fKREINQYjDpvQcx\n" +
|
||||
"SaTYb9dr5sB4WLNglk7zxDtM80H518VvihTcP7FHL+Gn6g4j5fkI98+S\n" +
|
||||
"-----END CERTIFICATE-----\n").getBytes();
|
||||
|
||||
/**
|
||||
* Retrieve overall information about an application package that is
|
||||
* installed on the system.
|
||||
@@ -1374,7 +1402,7 @@ public class PackageManager {
|
||||
public PackageInfo getPackageInfo(String packageName, int flags) throws NameNotFoundException {
|
||||
PackageInfo packageInfo = new PackageInfo();
|
||||
if ((flags & GET_SIGNATURES) == GET_SIGNATURES) {
|
||||
packageInfo.signatures = new Signature[0];
|
||||
packageInfo.signatures = new Signature[]{new Signature(X509_DUMMY)};
|
||||
}
|
||||
return packageInfo;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import android.os.Bundle;
|
||||
import java.io.Closeable;
|
||||
|
||||
class CharArrayBuffer {}
|
||||
class DataSetObserver {}
|
||||
|
||||
/**
|
||||
* This interface provides random read-write access to the result set returned
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user