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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user