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) {
}
}