api-impl: stubs and fixes for latest WhatsApp version

This commit is contained in:
Pierre-Hugues Husson
2024-10-28 19:06:17 +01:00
committed by Julian Winkler
parent 09a38f9a28
commit c81442321e
35 changed files with 261 additions and 1 deletions

View File

@@ -576,4 +576,14 @@ public class Activity extends ContextThemeWrapper implements Window.Callback {
public void setDefaultKeyMode(int flag) {}
public void registerForContextMenu(View view) {}
public native boolean isInMultiWindowMode();
public void registerActivityLifecycleCallbacks(Application.ActivityLifecycleCallbacks callback) {}
public void setDisablePreviewScreenshots(boolean disable) {}
public final View requireViewById(int id) {
View view = findViewById(id);
if (view == null)
throw new IllegalArgumentException("ID does not reference a View inside this View");
return view;
}
}

View File

@@ -8,6 +8,7 @@ import android.os.Parcelable;
import java.util.ArrayList;
import java.util.List;
import java.util.Collections;
public class ActivityManager {
@@ -80,4 +81,8 @@ public class ActivityManager {
}
public int getLargeMemoryClass() {return getMemoryClass();}
public List<ApplicationExitInfo> getHistoricalProcessExitReasons(String pkgname, int pid, int maxNum) {
return Collections.emptyList();
}
}

View File

@@ -8,4 +8,6 @@ public class AlarmManager {
public void setExact(int type, long triggerTime, PendingIntent operation) {}
public void set(int type, long triggerTime, PendingIntent operation) {}
public void setExactAndAllowWhileIdle(int type, long triggerAtMillis, PendingIntent operation) {}
}

View File

@@ -96,4 +96,8 @@ public class Application extends ContextWrapper {
}
public void unregisterOnProvideAssistDataListener(OnProvideAssistDataListener callback) {
}
public static String getProcessName() {
// note: we currently don't set the process name
return Context.this_application.getPackageName();
}
}

View File

@@ -0,0 +1,4 @@
package android.app;
public class ApplicationExitInfo {
}

View File

@@ -1,6 +1,22 @@
package android.app;
import android.net.Uri;
import android.media.AudioAttributes;
public class NotificationChannel {
public NotificationChannel(String id, CharSequence name, int importance) {}
public void setLockscreenVisibility(int a) {}
public void setShowBadge(boolean a) {}
public void setGroup(String grp) {}
public void enableLights(boolean en) {}
public void setLightColor(int color) {}
public void setVibrationPattern(long[] pattern) {}
public void enableVibration(boolean en) {}
public void setSound(Uri uri, AudioAttributes attrs) {}
public boolean shouldShowLights() { return false; }
public int getLightColor() { return 0; }
public boolean shouldVibrate() { return false; }
public Uri getSound() { return null; }
}

View File

@@ -0,0 +1,6 @@
package android.app;
public class NotificationChannelGroup {
public NotificationChannelGroup(String a, CharSequence b) {
}
}

View File

@@ -1,6 +1,8 @@
package android.app;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -106,4 +108,14 @@ public class NotificationManager {
protected native void nativeShowMPRIS(String packageName, String identiy);
protected native void nativeCancel(int id);
protected native void nativeCancelMPRIS();
public void createNotificationChannelGroup(NotificationChannelGroup v) {}
public List<NotificationChannel> getNotificationChannels() {
return Collections.emptyList();
}
public List<NotificationChannelGroup> getNotificationChannelGroups() {
return Collections.emptyList();
}
}

View File

@@ -3,6 +3,9 @@ package android.app.job;
import android.content.ComponentName;
public class JobInfo {
public JobInfo() {}
public static final class Builder {
public Builder(int jobId, ComponentName jobService) {}
@@ -13,5 +16,13 @@ public class JobInfo {
public Builder setRequiredNetworkType(int networkType) {
return this;
}
public Builder setOverrideDeadline(long a) {
return this;
}
public JobInfo build() {
return new JobInfo();
}
}
}

View File

@@ -13,4 +13,8 @@ public class JobScheduler {
public List<JobInfo> getAllPendingJobs() {
return new ArrayList<JobInfo>();
};
public int enqueue(JobInfo job, JobWorkItem work) {
return 1; //RESULT_SUCCESS
}
}

View File

@@ -0,0 +1,9 @@
package android.app.job;
import android.content.Intent;
final public class JobWorkItem {
public JobWorkItem(Intent intent) {
}
}

View File

@@ -15,6 +15,7 @@ import android.bluetooth.BluetoothManager;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageParser;
import android.content.pm.ShortcutManager;
import android.content.res.AssetManager;
import android.content.res.Configuration;
import android.content.res.Resources;
@@ -39,6 +40,7 @@ import android.os.Handler;
import android.os.Looper;
import android.os.ParcelFileDescriptor;
import android.os.PowerManager;
import android.os.UserManager;
import android.os.Vibrator;
import android.telephony.TelephonyManager;
import android.util.AttributeSet;
@@ -386,6 +388,10 @@ public class Context extends Object {
return prefs_dir;
}
public File[] getExternalMediaDirs() {
return getExternalFilesDirs("media");
}
public File getDir(String name, int mode) {
File dir = new File(getFilesDir(), name);
if (!dir.exists()) {
@@ -656,4 +662,11 @@ public class Context extends Object {
public void revokeUriPermission(Uri uri, int mode) {
System.out.println("revokeUriPermission(" + uri + ", " + mode + ") called");
}
public String getAttributionTag() {
return null;
}
public boolean isDeviceProtectedStorage() {
return false;
}
}

View File

@@ -364,4 +364,8 @@ public class Intent implements Parcelable {
public byte[] getByteArrayExtra(String name) {
return extras.getByteArray(name);
}
public void removeExtra(String name) {
extras.remove(name);
}
}

View File

@@ -243,4 +243,10 @@ public class PackageInfo {
public int describeContents() {
return 0;
}
public long getLongVersionCode() {
return versionCode;
}
public SigningInfo signingInfo = new SigningInfo();
}

View File

@@ -0,0 +1,15 @@
package android.content.pm;
import java.util.Collections;
import java.util.List;
public class ShortcutManager {
public void removeAllDynamicShortcuts() {
}
public List getShortcuts(int matchFlags) {
return Collections.emptyList();
}
public void removeLongLivedShortcuts(List<String> shortcutIds) {
}
}

View File

@@ -0,0 +1,7 @@
package android.content.pm;
public final class SigningInfo {
public Signature[] getApkContentsSigners() {
return null;
}
}

View File

@@ -1471,6 +1471,8 @@ public class Resources {
}
private final AssetManager mAssets;
public void rebase() {}
}
/**

View File

@@ -0,0 +1,18 @@
package android.graphics.drawable;
import android.graphics.Canvas;
public class ColorStateListDrawable extends Drawable implements Drawable.Callback {
@Override
public void draw(Canvas c) {
}
@Override
public void unscheduleDrawable(Drawable who, Runnable what) {
}
@Override
public void scheduleDrawable(Drawable who, Runnable what, long when) {
}
@Override
public void invalidateDrawable(Drawable who) {
}
}

View File

@@ -1,6 +1,6 @@
package android.net;
class Network {}
import android.os.Handler;
public class ConnectivityManager {
@@ -26,4 +26,11 @@ public class ConnectivityManager {
public NetworkInfo[] getAllNetworkInfo() {
return new NetworkInfo[] { getActiveNetworkInfo() };
}
public Network getActiveNetwork() {
return new Network();
}
public void registerDefaultNetworkCallback(NetworkCallback cb, Handler hdl) {}
}

View File

@@ -0,0 +1,8 @@
package android.net;
public class Network {
public long getNetworkHandle() {
return 1L;
}
}

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