mirror of
https://github.com/Takiiiiiiii/strato.git
synced 2025-07-17 08:46:39 +00:00
Framebuffer and NativeActivity
What was added: * Framebuffer * NativeActivity * NV Services * IOCTL Handler * NV Devices: * * /dev/nvmap - 0xC0080101, 0xC0080103, 0xC0200104, 0xC0180105, 0xC00C0109, 0xC008010E * * /dev/nvhost-as-gpu * * /dev/nvhost-channel - 0x40044801, 0xC0104809, 0xC010480B, 0xC018480C, 0x4004480D, 0xC020481A, 0x40084714 * * /dev/nvhost-ctrl * * /dev/nvhost-ctrl-gpu - 0x80044701, 0x80284702, 0xC0184706, 0xC0B04705, 0x80084714 * SVCs: * * SetMemoryAttribute * * CreateTransferMemory * * ResetSignal * * GetSystemTick * Addition of Compact Logger What was fixed: * SVCs: * * SetHeapSize * * SetMemoryAttribute * * QueryMemory * A release build would not set CMAKE_BUILD_TYPE to "RELEASE" * The logger code was simplified
This commit is contained in:
@ -24,20 +24,20 @@ import me.xdrop.fuzzywuzzy.FuzzySearch;
|
||||
import me.xdrop.fuzzywuzzy.model.ExtractedResult;
|
||||
|
||||
class ContentType implements Serializable {
|
||||
transient static final int Header = 0;
|
||||
transient static final int Item = 1;
|
||||
static final transient int Header = 0;
|
||||
static final transient int Item = 1;
|
||||
public final int type;
|
||||
public int index;
|
||||
|
||||
ContentType(int index, int type) {
|
||||
ContentType(final int index, final int type) {
|
||||
this(type);
|
||||
this.index = index;
|
||||
}
|
||||
|
||||
private ContentType(int type) {
|
||||
private ContentType(final int type) {
|
||||
switch (type) {
|
||||
case Item:
|
||||
case Header:
|
||||
case ContentType.Item:
|
||||
case ContentType.Header:
|
||||
break;
|
||||
default:
|
||||
throw (new IllegalArgumentException());
|
||||
@ -59,15 +59,15 @@ abstract class HeaderAdapter<ItemType extends BaseItem> extends BaseAdapter impl
|
||||
private ArrayList<String> header_array;
|
||||
private String search_term = "";
|
||||
|
||||
HeaderAdapter(Context context) {
|
||||
mContext = context;
|
||||
this.item_array = new ArrayList<>();
|
||||
this.header_array = new ArrayList<>();
|
||||
this.type_array_uf = new ArrayList<>();
|
||||
this.type_array = new ArrayList<>();
|
||||
HeaderAdapter(final Context context) {
|
||||
HeaderAdapter.mContext = context;
|
||||
item_array = new ArrayList<>();
|
||||
header_array = new ArrayList<>();
|
||||
type_array_uf = new ArrayList<>();
|
||||
type_array = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void add(Object item, int type) {
|
||||
public void add(final Object item, final int type) {
|
||||
if (type == ContentType.Item) {
|
||||
item_array.add((ItemType) item);
|
||||
type_array_uf.add(new ContentType(item_array.size() - 1, ContentType.Item));
|
||||
@ -76,31 +76,31 @@ abstract class HeaderAdapter<ItemType extends BaseItem> extends BaseAdapter impl
|
||||
type_array_uf.add(new ContentType(header_array.size() - 1, ContentType.Header));
|
||||
}
|
||||
if (search_term.length() != 0)
|
||||
this.getFilter().filter(search_term);
|
||||
getFilter().filter(search_term);
|
||||
else
|
||||
type_array = type_array_uf;
|
||||
}
|
||||
|
||||
public void save(File file) throws IOException {
|
||||
State state = new State<>(item_array, header_array, type_array_uf);
|
||||
FileOutputStream file_obj = new FileOutputStream(file);
|
||||
ObjectOutputStream out = new ObjectOutputStream(file_obj);
|
||||
public void save(final File file) throws IOException {
|
||||
final HeaderAdapter.State state = new HeaderAdapter.State(item_array, header_array, type_array_uf);
|
||||
final FileOutputStream file_obj = new FileOutputStream(file);
|
||||
final ObjectOutputStream out = new ObjectOutputStream(file_obj);
|
||||
out.writeObject(state);
|
||||
out.close();
|
||||
file_obj.close();
|
||||
}
|
||||
|
||||
void load(File file) throws IOException, ClassNotFoundException {
|
||||
FileInputStream file_obj = new FileInputStream(file);
|
||||
ObjectInputStream in = new ObjectInputStream(file_obj);
|
||||
State state = (State) in.readObject();
|
||||
void load(final File file) throws IOException, ClassNotFoundException {
|
||||
final FileInputStream file_obj = new FileInputStream(file);
|
||||
final ObjectInputStream in = new ObjectInputStream(file_obj);
|
||||
final HeaderAdapter.State state = (HeaderAdapter.State) in.readObject();
|
||||
in.close();
|
||||
file_obj.close();
|
||||
if (state != null) {
|
||||
this.item_array = state.item_array;
|
||||
this.header_array = state.header_array;
|
||||
this.type_array_uf = state.type_array;
|
||||
this.getFilter().filter(search_term);
|
||||
item_array = state.item_array;
|
||||
header_array = state.header_array;
|
||||
type_array_uf = state.type_array;
|
||||
getFilter().filter(search_term);
|
||||
}
|
||||
}
|
||||
|
||||
@ -118,8 +118,8 @@ abstract class HeaderAdapter<ItemType extends BaseItem> extends BaseAdapter impl
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getItem(int i) {
|
||||
ContentType type = type_array.get(i);
|
||||
public Object getItem(final int i) {
|
||||
final ContentType type = type_array.get(i);
|
||||
if (type.type == ContentType.Item)
|
||||
return item_array.get(type.index);
|
||||
else
|
||||
@ -127,12 +127,12 @@ abstract class HeaderAdapter<ItemType extends BaseItem> extends BaseAdapter impl
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getItemId(int position) {
|
||||
public long getItemId(final int position) {
|
||||
return position;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
public int getItemViewType(final int position) {
|
||||
return type_array.get(position).type;
|
||||
}
|
||||
|
||||
@ -149,24 +149,24 @@ abstract class HeaderAdapter<ItemType extends BaseItem> extends BaseAdapter impl
|
||||
public Filter getFilter() {
|
||||
return new Filter() {
|
||||
@Override
|
||||
protected FilterResults performFiltering(CharSequence charSequence) {
|
||||
FilterResults results = new FilterResults();
|
||||
protected Filter.FilterResults performFiltering(final CharSequence charSequence) {
|
||||
final Filter.FilterResults results = new Filter.FilterResults();
|
||||
search_term = ((String) charSequence).toLowerCase().replaceAll(" ", "");
|
||||
if (charSequence.length() == 0) {
|
||||
results.values = type_array_uf;
|
||||
results.count = type_array_uf.size();
|
||||
} else {
|
||||
ArrayList<ContentType> filter_data = new ArrayList<>();
|
||||
ArrayList<String> key_arr = new ArrayList<>();
|
||||
SparseIntArray key_ind = new SparseIntArray();
|
||||
final ArrayList<ContentType> filter_data = new ArrayList<>();
|
||||
final ArrayList<String> key_arr = new ArrayList<>();
|
||||
final SparseIntArray key_ind = new SparseIntArray();
|
||||
for (int index = 0; index < type_array_uf.size(); index++) {
|
||||
ContentType item = type_array_uf.get(index);
|
||||
final ContentType item = type_array_uf.get(index);
|
||||
if (item.type == ContentType.Item) {
|
||||
key_arr.add(item_array.get(item.index).key().toLowerCase());
|
||||
key_ind.append(key_arr.size() - 1, index);
|
||||
}
|
||||
}
|
||||
for (ExtractedResult result : FuzzySearch.extractTop(search_term, key_arr, Math.max(1, 10 - search_term.length())))
|
||||
for (final ExtractedResult result : FuzzySearch.extractTop(search_term, key_arr, Math.max(1, 10 - search_term.length())))
|
||||
if (result.getScore() >= 35)
|
||||
filter_data.add(type_array_uf.get(key_ind.get(result.getIndex())));
|
||||
results.values = filter_data;
|
||||
@ -176,7 +176,7 @@ abstract class HeaderAdapter<ItemType extends BaseItem> extends BaseAdapter impl
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void publishResults(CharSequence charSequence, FilterResults filterResults) {
|
||||
protected void publishResults(final CharSequence charSequence, final Filter.FilterResults filterResults) {
|
||||
type_array = (ArrayList<ContentType>) filterResults.values;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
@ -188,7 +188,7 @@ abstract class HeaderAdapter<ItemType extends BaseItem> extends BaseAdapter impl
|
||||
private final ArrayList<String> header_array;
|
||||
private final ArrayList<ContentType> type_array;
|
||||
|
||||
State(ArrayList<StateType> item_array, ArrayList<String> header_array, ArrayList<ContentType> type_array) {
|
||||
State(final ArrayList<StateType> item_array, final ArrayList<String> header_array, final ArrayList<ContentType> type_array) {
|
||||
this.item_array = item_array;
|
||||
this.header_array = header_array;
|
||||
this.type_array = type_array;
|
||||
|
Reference in New Issue
Block a user