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 Java APIs needed for WhatsApp settings
This commit is contained in:
@@ -529,6 +529,10 @@ public class Activity extends ContextThemeWrapper implements Window.Callback {
|
||||
|
||||
public void startPostponedEnterTransition() {}
|
||||
|
||||
public boolean isChild() {
|
||||
return false;
|
||||
}
|
||||
|
||||
private native void nativeFinish(long native_window);
|
||||
public static native void nativeRecreateActivity(Activity activity);
|
||||
public static native void nativeStartActivity(Activity activity);
|
||||
|
||||
@@ -240,6 +240,8 @@ public class Drawable {
|
||||
return drawable;
|
||||
} else if ("nine-patch".equals(parser.getName())) {
|
||||
return new NinePatchDrawable(resources, null, null, null, null);
|
||||
} else if ("animation-list".equals(parser.getName())) {
|
||||
return new AnimationDrawable();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
9
src/api-impl/android/media/Ringtone.java
Normal file
9
src/api-impl/android/media/Ringtone.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package android.media;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
public class Ringtone{
|
||||
public String getTitle(Context context) {
|
||||
return "FIXME: Ringtone.getTitle()";
|
||||
}
|
||||
};
|
||||
10
src/api-impl/android/media/RingtoneManager.java
Normal file
10
src/api-impl/android/media/RingtoneManager.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package android.media;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
|
||||
public class RingtoneManager {
|
||||
public static Ringtone getRingtone(Context context, Uri uri) {
|
||||
return new Ringtone();
|
||||
}
|
||||
}
|
||||
@@ -896,6 +896,15 @@ public class View implements Drawable.Callback {
|
||||
minHeight = a.getDimensionPixelSize(com.android.internal.R.styleable.View_minHeight, 0);
|
||||
}
|
||||
}
|
||||
onCreateDrawableState(0);
|
||||
}
|
||||
|
||||
protected int[] onCreateDrawableState(int extraSpace) {
|
||||
return new int[0];
|
||||
}
|
||||
|
||||
protected static int[] mergeDrawableStates(int[] curState, int[] newState) {
|
||||
return new int[0];
|
||||
}
|
||||
|
||||
public View findViewById(int id) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import android.util.AttributeSet;
|
||||
public class ViewStub extends View {
|
||||
|
||||
private int layoutResource;
|
||||
private int inflatedId = View.NO_ID;
|
||||
|
||||
public ViewStub(Context context) {
|
||||
this(context, null, 0);
|
||||
@@ -28,6 +29,8 @@ public class ViewStub extends View {
|
||||
throw new IllegalStateException("ViewStub must have a valid layoutResource");
|
||||
ViewGroup parent = (ViewGroup) getParent();
|
||||
View view = LayoutInflater.from(getContext()).inflate(layoutResource, parent, false);
|
||||
if (inflatedId != View.NO_ID)
|
||||
view.setId(inflatedId);
|
||||
int index = parent.indexOfChild(this);
|
||||
parent.removeView(this);
|
||||
parent.addView(view, index, getLayoutParams());
|
||||
@@ -43,4 +46,8 @@ public class ViewStub extends View {
|
||||
setMeasuredDimension(0, 0);
|
||||
}
|
||||
|
||||
public void setInflatedId(int inflatedId) {
|
||||
this.inflatedId = inflatedId;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,9 @@ package android.webkit;
|
||||
public class URLUtil {
|
||||
|
||||
public static String guessFileName(String url, String contentDisposition, String mimeType) {
|
||||
return url.substring(url.lastIndexOf('/') + 1);
|
||||
String filename = url.substring(url.lastIndexOf('/') + 1);
|
||||
if (filename.contains("?"))
|
||||
filename = filename.substring(0, filename.indexOf('?'));
|
||||
return filename;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +73,10 @@ public abstract class AbsListView extends AdapterView {
|
||||
|
||||
public void smoothScrollBy(int position, int duration) {}
|
||||
|
||||
public void smoothScrollToPositionFromTop(int position, int offset) {}
|
||||
@Override
|
||||
public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) {
|
||||
return new LayoutParams(getContext(), attrs);
|
||||
}
|
||||
|
||||
public interface OnScrollListener {}
|
||||
|
||||
@@ -93,5 +96,8 @@ public abstract class AbsListView extends AdapterView {
|
||||
|
||||
public class LayoutParams extends ViewGroup.LayoutParams {
|
||||
|
||||
public LayoutParams(Context c, AttributeSet attrs) {
|
||||
super(c, attrs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package android.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
public class CheckedTextView extends TextView {
|
||||
@@ -15,4 +16,6 @@ public class CheckedTextView extends TextView {
|
||||
|
||||
public void setChecked(boolean checked) {}
|
||||
|
||||
public void setCheckMarkDrawable(Drawable d) {}
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ public abstract class CursorAdapter extends BaseAdapter {
|
||||
|
||||
public void changeCursor(Cursor cursor) {
|
||||
this.cursor = cursor;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public Cursor getCursor() {
|
||||
|
||||
@@ -305,4 +305,6 @@ public class TextView extends View {
|
||||
public TextUtils.TruncateAt getEllipsize() {return null;}
|
||||
|
||||
public void setLines(int lines) {}
|
||||
|
||||
public void setMinLines(int lines) {}
|
||||
}
|
||||
|
||||
@@ -242,6 +242,8 @@ hax_jar = jar('hax', [
|
||||
'android/media/MediaMetadata.java',
|
||||
'android/media/MediaPlayer.java',
|
||||
'android/media/MediaRouter.java',
|
||||
'android/media/Ringtone.java',
|
||||
'android/media/RingtoneManager.java',
|
||||
'android/media/SoundPool.java',
|
||||
'android/media/projection/MediaProjectionManager.java',
|
||||
'android/media/session/MediaController.java',
|
||||
|
||||
Reference in New Issue
Block a user