implement DrawableContainer and copy StateListDrawable from AOSP

This commit is contained in:
Julian Winkler
2023-12-29 23:47:38 +01:00
parent 8c7dbf6ceb
commit ca3c17d773
9 changed files with 482 additions and 37 deletions

View File

@@ -5,6 +5,7 @@ import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -59,7 +60,10 @@ public class Drawable {
public void draw(Canvas canvas) {}
public boolean setState(int[] stateSet) {
this.mStateSet = stateSet;
if (!Arrays.equals(this.mStateSet, stateSet)) {
this.mStateSet = stateSet;
return onStateChange(stateSet);
}
return false;
}
@@ -138,5 +142,9 @@ public class Drawable {
return new Drawable(paintable);
}
protected boolean onStateChange(int[] stateSet) {
return false;
}
protected static native long native_paintable_from_path(String path);
}