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
api-impl: misc stubs and fixes for Spotify II
This commit is contained in:
17
src/api-impl/android/app/job/JobInfo.java
Normal file
17
src/api-impl/android/app/job/JobInfo.java
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
package android.app.job;
|
||||||
|
|
||||||
|
import android.content.ComponentName;
|
||||||
|
|
||||||
|
public class JobInfo {
|
||||||
|
public static final class Builder {
|
||||||
|
public Builder(int jobId, ComponentName jobService) {}
|
||||||
|
|
||||||
|
public Builder setMinimumLatency(long minLatencyMillis) {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder setRequiredNetworkType(int networkType) {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,16 @@
|
|||||||
package android.app.job;
|
package android.app.job;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class JobScheduler {
|
public class JobScheduler {
|
||||||
|
/**
|
||||||
|
* Retrieve all jobs that have been scheduled by the calling application.
|
||||||
|
*
|
||||||
|
* @return a list of all of the app's scheduled jobs. This includes jobs that are
|
||||||
|
* currently started as well as those that are still waiting to run.
|
||||||
|
*/
|
||||||
|
public List<JobInfo> getAllPendingJobs() {
|
||||||
|
return new ArrayList<JobInfo>();
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import android.app.NotificationManager;
|
|||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
import android.app.SharedPreferencesImpl;
|
import android.app.SharedPreferencesImpl;
|
||||||
import android.app.UiModeManager;
|
import android.app.UiModeManager;
|
||||||
|
import android.app.job.JobScheduler;
|
||||||
import android.bluetooth.BluetoothManager;
|
import android.bluetooth.BluetoothManager;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
@@ -22,9 +23,9 @@ import android.content.res.XmlResourceParser;
|
|||||||
import android.database.DatabaseErrorHandler;
|
import android.database.DatabaseErrorHandler;
|
||||||
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.hardware.input.InputManager;
|
|
||||||
import android.hardware.SensorManager;
|
import android.hardware.SensorManager;
|
||||||
import android.hardware.display.DisplayManager;
|
import android.hardware.display.DisplayManager;
|
||||||
|
import android.hardware.input.InputManager;
|
||||||
import android.hardware.usb.UsbManager;
|
import android.hardware.usb.UsbManager;
|
||||||
import android.location.LocationManager;
|
import android.location.LocationManager;
|
||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
@@ -48,17 +49,16 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.WindowManagerImpl;
|
import android.view.WindowManagerImpl;
|
||||||
import android.view.accessibility.AccessibilityManager;
|
import android.view.accessibility.AccessibilityManager;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
public class Context extends Object {
|
public class Context extends Object {
|
||||||
private final static String TAG = "Context";
|
private final static String TAG = "Context";
|
||||||
@@ -145,7 +145,8 @@ public class Context extends Object {
|
|||||||
// HACK: Set WhatsApp's custom logging mechanism to verbose for easier debugging. Should be removed again once WhatsApp is fully supported
|
// HACK: Set WhatsApp's custom logging mechanism to verbose for easier debugging. Should be removed again once WhatsApp is fully supported
|
||||||
try {
|
try {
|
||||||
Class.forName("com.whatsapp.util.Log").getField("level").setInt(null, 5);
|
Class.forName("com.whatsapp.util.Log").getField("level").setInt(null, 5);
|
||||||
} catch (Exception e) {} // ignore for other apps
|
} catch (Exception e) {
|
||||||
|
} // ignore for other apps
|
||||||
return application;
|
return application;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,6 +222,9 @@ public class Context extends Object {
|
|||||||
return new WifiManager();
|
return new WifiManager();
|
||||||
case "bluetooth":
|
case "bluetooth":
|
||||||
return new BluetoothManager();
|
return new BluetoothManager();
|
||||||
|
case "jobscheduler":
|
||||||
|
return new JobScheduler();
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Slog.e(TAG, "!!!!!!! getSystemService: case >" + name + "< is not implemented yet");
|
Slog.e(TAG, "!!!!!!! getSystemService: case >" + name + "< is not implemented yet");
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -23,4 +23,8 @@ public final class Debug {
|
|||||||
public static long getNativeHeapAllocatedSize() {
|
public static long getNativeHeapAllocatedSize() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean waitingForDebugger() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ package android.os;
|
|||||||
* processes, by creating a Messenger pointing to a Handler in one process,
|
* processes, by creating a Messenger pointing to a Handler in one process,
|
||||||
* and handing that Messenger to another process.
|
* and handing that Messenger to another process.
|
||||||
*/
|
*/
|
||||||
public final class Messenger {
|
public final class Messenger implements Parcelable {
|
||||||
private final IMessenger mTarget;
|
private final IMessenger mTarget;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -83,4 +83,18 @@ public final class Messenger {
|
|||||||
public int describeContents() {
|
public int describeContents() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a Messenger from a raw IBinder, which had previously been
|
||||||
|
* retrieved with {@link #getBinder}.
|
||||||
|
*
|
||||||
|
* @param target The IBinder this Messenger should communicate with.
|
||||||
|
*/
|
||||||
|
public Messenger(IBinder target) {
|
||||||
|
mTarget = new IMessenger() {
|
||||||
|
@Override
|
||||||
|
public void send(Message msg) {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
4
src/api-impl/android/os/PersistableBundle.java
Normal file
4
src/api-impl/android/os/PersistableBundle.java
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
package android.os;
|
||||||
|
|
||||||
|
public class PersistableBundle extends BaseBundle {
|
||||||
|
}
|
||||||
@@ -8,4 +8,13 @@ public class URLUtil {
|
|||||||
filename = filename.substring(0, filename.indexOf('?'));
|
filename = filename.substring(0, filename.indexOf('?'));
|
||||||
return filename;
|
return filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return {@code true} if the url is an https: url.
|
||||||
|
*/
|
||||||
|
public static boolean isHttpsUrl(String url) {
|
||||||
|
return (null != url)
|
||||||
|
&& (url.length() > 7)
|
||||||
|
&& url.substring(0, 8).equalsIgnoreCase("https://");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ hax_jar = jar('hax', [
|
|||||||
'android/app/UiModeManager.java',
|
'android/app/UiModeManager.java',
|
||||||
'android/app/WallpaperManager.java',
|
'android/app/WallpaperManager.java',
|
||||||
'android/app/admin/DevicePolicyManager.java',
|
'android/app/admin/DevicePolicyManager.java',
|
||||||
|
'android/app/job/JobInfo.java',
|
||||||
'android/app/job/JobScheduler.java',
|
'android/app/job/JobScheduler.java',
|
||||||
'android/app/job/JobService.java',
|
'android/app/job/JobService.java',
|
||||||
'android/app/usage/UsageStatsManager.java',
|
'android/app/usage/UsageStatsManager.java',
|
||||||
@@ -302,6 +303,7 @@ hax_jar = jar('hax', [
|
|||||||
'android/os/ParcelFileDescriptor.java',
|
'android/os/ParcelFileDescriptor.java',
|
||||||
'android/os/Parcelable.java',
|
'android/os/Parcelable.java',
|
||||||
'android/os/PatternMatcher.java',
|
'android/os/PatternMatcher.java',
|
||||||
|
'android/os/PersistableBundle.java',
|
||||||
'android/os/PowerManager.java',
|
'android/os/PowerManager.java',
|
||||||
'android/os/Process.java',
|
'android/os/Process.java',
|
||||||
'android/os/RemoteCallbackList.java',
|
'android/os/RemoteCallbackList.java',
|
||||||
|
|||||||
@@ -163,6 +163,9 @@ extern const char* AMEDIAFORMAT_KEY_REPEAT_PREVIOUS_FRAME_AFTER;
|
|||||||
extern const char* AMEDIAFORMAT_KEY_SAMPLE_RATE;
|
extern const char* AMEDIAFORMAT_KEY_SAMPLE_RATE;
|
||||||
extern const char* AMEDIAFORMAT_KEY_WIDTH;
|
extern const char* AMEDIAFORMAT_KEY_WIDTH;
|
||||||
extern const char* AMEDIAFORMAT_KEY_STRIDE;
|
extern const char* AMEDIAFORMAT_KEY_STRIDE;
|
||||||
|
const char* AMEDIAFORMAT_KEY_MIME = "mime";
|
||||||
|
const char* AMEDIAFORMAT_KEY_CHANNEL_COUNT = "channel-count";
|
||||||
|
const char* AMEDIAFORMAT_KEY_SAMPLE_RATE = "sample-rate";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user