Remove unsupported API readAllBytes

This commit is contained in:
Jules Aguillon 2024-01-01 21:04:54 +01:00
parent 7caf60c93b
commit c524caa6f1
2 changed files with 15 additions and 2 deletions

View File

@ -210,8 +210,7 @@ public class LayoutsPreference extends ListGroupPreference<LayoutsPreference.Lay
try
{
Resources res = getContext().getResources();
byte[] raw = res.openRawResource(R.raw.latn_qwerty_us).readAllBytes();
return new String(raw, "UTF-8");
return Utils.read_all_utf8(res.openRawResource(R.raw.latn_qwerty_us));
}
catch (Exception _e)
{

View File

@ -4,6 +4,8 @@ import android.app.AlertDialog;
import android.os.IBinder;
import android.view.Window;
import android.view.WindowManager;
import java.io.InputStream;
import java.io.InputStreamReader;
class Utils
{
@ -27,4 +29,16 @@ class Utils
win.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
dialog.show();
}
public static String read_all_utf8(InputStream inp) throws Exception
{
InputStreamReader reader = new InputStreamReader(inp, "UTF-8");
StringBuilder out = new StringBuilder();
int buff_length = 8000;
char[] buff = new char[buff_length];
int l;
while ((l = reader.read(buff, 0, buff_length)) != -1)
out.append(buff, 0, l);
return out.toString();
}
}