Added more icons
This commit is contained in:
Generated
+2
-2
@@ -334,7 +334,7 @@
|
||||
<PersistentState>
|
||||
<option name="values">
|
||||
<map>
|
||||
<entry key="url" value="file:$USER_HOME$/Android/Sdk/icons/material/materialicons/save/baseline_save_24.xml" />
|
||||
<entry key="url" value="file:$USER_HOME$/Android/Sdk/icons/material/materialicons/exit_to_app/baseline_exit_to_app_24.xml" />
|
||||
</map>
|
||||
</option>
|
||||
</PersistentState>
|
||||
@@ -344,7 +344,7 @@
|
||||
</option>
|
||||
<option name="values">
|
||||
<map>
|
||||
<entry key="outputName" value="ic_action_save_24" />
|
||||
<entry key="outputName" value="ic_exit_24" />
|
||||
</map>
|
||||
</option>
|
||||
</PersistentState>
|
||||
|
||||
+11
-6
@@ -16,6 +16,7 @@
|
||||
package org.exbin.bined.android.basic.color;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
@@ -164,18 +165,18 @@ public class BasicCodeAreaColorsProfile implements CodeAreaColorsProfile {
|
||||
}
|
||||
|
||||
public void reinitialize() {
|
||||
textColor = getThemeColor(androidx.appcompat.R.attr.editTextColor);
|
||||
textColor = getThemeColor(androidx.appcompat.R.attr.color);
|
||||
if (textColor == null) {
|
||||
textColor = Color.BLACK;
|
||||
textColor = isDarkMode() ? Color.WHITE : Color.BLACK;
|
||||
}
|
||||
|
||||
textBackground = getThemeColor(androidx.appcompat.R.attr.editTextBackground);
|
||||
textBackground = getThemeColor(androidx.appcompat.R.attr.panelBackground);
|
||||
if (textBackground == null) {
|
||||
textBackground = CodeAreaAndroidUtils.createNegativeColor(textColor);
|
||||
}
|
||||
selectionColor = getThemeColor(androidx.appcompat.R.attr.editTextColor);
|
||||
if (selectionColor == null) {
|
||||
selectionColor = Color.WHITE;
|
||||
selectionColor = isDarkMode() ? Color.BLACK : Color.WHITE;
|
||||
}
|
||||
selectionBackground = getThemeColor(androidx.appcompat.R.attr.selectableItemBackground);
|
||||
if (selectionBackground == null) {
|
||||
@@ -183,9 +184,9 @@ public class BasicCodeAreaColorsProfile implements CodeAreaColorsProfile {
|
||||
}
|
||||
selectionMirrorColor = selectionColor;
|
||||
selectionMirrorBackground = CodeAreaAndroidUtils.computeGrayColor(selectionBackground);
|
||||
cursorColor = getThemeColor(androidx.appcompat.R.attr.colorControlActivated);
|
||||
cursorColor = getThemeColor(androidx.appcompat.R.attr.color);
|
||||
if (cursorColor == null) {
|
||||
cursorColor = Color.BLACK;
|
||||
cursorColor = isDarkMode() ? Color.WHITE : Color.BLACK;
|
||||
}
|
||||
cursorNegativeColor = CodeAreaAndroidUtils.createNegativeColor(cursorColor);
|
||||
decorationLine = Color.GRAY;
|
||||
@@ -215,4 +216,8 @@ public class BasicCodeAreaColorsProfile implements CodeAreaColorsProfile {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private boolean isDarkMode() {
|
||||
return context != null && (context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,9 @@ package org.exbin.bined.editor.android;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.LocaleList;
|
||||
import android.text.Editable;
|
||||
import android.text.InputType;
|
||||
import android.text.method.KeyListener;
|
||||
@@ -72,11 +74,12 @@ import org.exbin.framework.bined.BinaryStatusApi;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.lang.reflect.Method;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Locale;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@@ -134,10 +137,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
|
||||
}
|
||||
|
||||
String language = mainPreferences.getLocaleTag();
|
||||
if (!"default".equals(theme)) {
|
||||
AppCompatDelegate.setApplicationLocales(LocaleListCompat.create(Locale.forLanguageTag(language)));
|
||||
}
|
||||
AppCompatDelegate.setApplicationLocales(LocaleListCompat.wrap(getLanguageLocaleList()));
|
||||
|
||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
@@ -154,17 +154,11 @@ public class MainActivity extends AppCompatActivity {
|
||||
codeArea = findViewById(R.id.codeArea);
|
||||
codeArea.setEditOperation(EditOperation.INSERT);
|
||||
|
||||
DefaultCodeAreaPainter painter = (DefaultCodeAreaPainter) codeArea.getPainter();
|
||||
BasicCodeAreaColorsProfile basicColors = painter.getBasicColors();
|
||||
basicColors.setContext(this);
|
||||
basicColors.reinitialize();
|
||||
painter.resetColors();
|
||||
|
||||
undoRedo = new CodeAreaUndoRedo(codeArea);
|
||||
undoRedo.addChangeListener(() -> {
|
||||
if (menu != null) {
|
||||
menu.findItem(R.id.app_bar_undo).setEnabled(undoRedo.canUndo());
|
||||
menu.findItem(R.id.app_bar_redo).setEnabled(undoRedo.canRedo());
|
||||
updateUndoState();
|
||||
}
|
||||
// View undoAction = findViewById(R.id.app_bar_undo);
|
||||
// if (undoAction != null) {
|
||||
@@ -178,7 +172,12 @@ public class MainActivity extends AppCompatActivity {
|
||||
|
||||
CodeAreaOperationCommandHandler commandHandler = new CodeAreaOperationCommandHandler(codeArea.getContext(), codeArea, undoRedo);
|
||||
codeArea.setCommandHandler(commandHandler);
|
||||
codeArea.setPainter(new HighlightNonAsciiCodeAreaPainter(codeArea));
|
||||
HighlightNonAsciiCodeAreaPainter painter = new HighlightNonAsciiCodeAreaPainter(codeArea);
|
||||
codeArea.setPainter(painter);
|
||||
BasicCodeAreaColorsProfile basicColors = painter.getBasicColors();
|
||||
basicColors.setContext(this);
|
||||
basicColors.reinitialize();
|
||||
painter.resetColors();
|
||||
|
||||
registerForContextMenu(codeArea);
|
||||
|
||||
@@ -264,6 +263,18 @@ public class MainActivity extends AppCompatActivity {
|
||||
applySettings();
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
private LocaleList getLanguageLocaleList() {
|
||||
String language = appPreferences.getMainPreferences().getLocaleTag();
|
||||
if ("default".equals(language)) {
|
||||
return LocaleList.getDefault();
|
||||
} else if ("en".equals(language)) {
|
||||
return LocaleList.getEmptyLocaleList();
|
||||
}
|
||||
|
||||
return LocaleList.forLanguageTags(language);
|
||||
}
|
||||
|
||||
private void applySettings() {
|
||||
appPreferences.getCodeAreaPreferences().applyPreferences(codeArea);
|
||||
try {
|
||||
@@ -291,9 +302,21 @@ public class MainActivity extends AppCompatActivity {
|
||||
// Inflate the menu; this adds items to the action bar if it is present.
|
||||
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||
|
||||
// If possible, attempt to show icons in the main menu via reflection
|
||||
if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
|
||||
try {
|
||||
Method method = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
|
||||
method.setAccessible(true);
|
||||
method.invoke(menu, true);
|
||||
} catch (NoSuchMethodException ex) {
|
||||
Logger.getLogger(MainActivity.class.getName()).log(Level.SEVERE, null, ex);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
this.menu = menu;
|
||||
menu.findItem(R.id.app_bar_undo).setEnabled(undoRedo.canUndo());
|
||||
menu.findItem(R.id.app_bar_redo).setEnabled(undoRedo.canRedo());
|
||||
updateUndoState();
|
||||
|
||||
menu.findItem(R.id.code_colorization).setChecked(appPreferences.getCodeAreaPreferences().isCodeColorization());
|
||||
int bytesPerRow = appPreferences.getCodeAreaPreferences().getMaxBytesPerRow();
|
||||
@@ -428,6 +451,9 @@ public class MainActivity extends AppCompatActivity {
|
||||
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
|
||||
intent.addCategory(Intent.CATEGORY_OPENABLE);
|
||||
intent.setType("*/*");
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
intent.putExtra(Intent.EXTRA_LOCALE_LIST, getLanguageLocaleList());
|
||||
}
|
||||
|
||||
// Optionally, specify a URI for the file that should appear in the
|
||||
// system file picker when it loads.
|
||||
@@ -448,6 +474,9 @@ public class MainActivity extends AppCompatActivity {
|
||||
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
|
||||
intent.addCategory(Intent.CATEGORY_OPENABLE);
|
||||
intent.setType("*/*");
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
intent.putExtra(Intent.EXTRA_LOCALE_LIST, getLanguageLocaleList());
|
||||
}
|
||||
|
||||
// Optionally, specify a URI for the file that should appear in the
|
||||
// system file picker when it loads.
|
||||
@@ -760,6 +789,17 @@ public class MainActivity extends AppCompatActivity {
|
||||
binaryStatus.setEditMode(codeArea.getEditMode(), codeArea.getActiveOperation());
|
||||
}
|
||||
|
||||
private void updateUndoState() {
|
||||
boolean canUndo = undoRedo.canUndo();
|
||||
MenuItem undoMenuItem = menu.findItem(R.id.app_bar_undo);
|
||||
undoMenuItem.setEnabled(canUndo);
|
||||
// TODO undoMenuItem.setIconTintList(new ColorStateList(ColorStateList.));
|
||||
|
||||
boolean canRedo = undoRedo.canRedo();
|
||||
MenuItem redoMenuItem = menu.findItem(R.id.app_bar_redo);
|
||||
redoMenuItem.setEnabled(canRedo);
|
||||
}
|
||||
|
||||
private void openFileResultCallback(ActivityResult activityResult) {
|
||||
int resultCode = activityResult.getResultCode();
|
||||
Intent data = activityResult.getData();
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="true" android:color="@color/icon_tint" />
|
||||
<item android:state_enabled="false" android:color="@color/disabled_icon_tint" />
|
||||
</selector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint" android:autoMirrored="true" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M10.09,15.59L11.5,17l5,-5 -5,-5 -1.41,1.41L12.67,11H3v2h9.67l-2.58,2.59zM19,3H5c-1.11,0 -2,0.9 -2,2v4h2V5h14v14H5v-4H3v4c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2z"/>
|
||||
|
||||
</vector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M12,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3z"/>
|
||||
|
||||
</vector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint" android:autoMirrored="true" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M6,2c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2L18,22c1.1,0 2,-0.9 2,-2L20,8l-6,-6L6,2zM13,9L13,3.5L18.5,9L13,9z"/>
|
||||
|
||||
</vector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M14,2H6C4.9,2 4,2.9 4,4v16c0,1.1 0.89,2 1.99,2H15v-8h5V8L14,2zM13,9V3.5L18.5,9H13zM17,21.66V16h5.66v2h-2.24l2.95,2.95l-1.41,1.41L19,19.41l0,2.24H17z"/>
|
||||
|
||||
</vector>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z"/>
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M21,12.4V7l-4,-4H5C3.89,3 3,3.9 3,5v14c0,1.1 0.89,2 2,2h7.4L21,12.4zM15,15c0,1.66 -1.34,3 -3,3s-3,-1.34 -3,-3s1.34,-3 3,-3S15,13.34 15,15zM6,6h9v4H6V6zM19.99,16.25l1.77,1.77L16.77,23H15v-1.77L19.99,16.25zM23.25,16.51l-0.85,0.85l-1.77,-1.77l0.85,-0.85c0.2,-0.2 0.51,-0.2 0.71,0l1.06,1.06C23.45,16 23.45,16.32 23.25,16.51z"/>
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zm1,15h-2v-6h2v6zm0,-8h-2V7h2v2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="@color/icon_tint" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM18.92,8h-2.95c-0.32,-1.25 -0.78,-2.45 -1.38,-3.56 1.84,0.63 3.37,1.91 4.33,3.56zM12,4.04c0.83,1.2 1.48,2.53 1.91,3.96h-3.82c0.43,-1.43 1.08,-2.76 1.91,-3.96zM4.26,14C4.1,13.36 4,12.69 4,12s0.1,-1.36 0.26,-2h3.38c-0.08,0.66 -0.14,1.32 -0.14,2 0,0.68 0.06,1.34 0.14,2L4.26,14zM5.08,16h2.95c0.32,1.25 0.78,2.45 1.38,3.56 -1.84,-0.63 -3.37,-1.9 -4.33,-3.56zM8.03,8L5.08,8c0.96,-1.66 2.49,-2.93 4.33,-3.56C8.81,5.55 8.35,6.75 8.03,8zM12,19.96c-0.83,-1.2 -1.48,-2.53 -1.91,-3.96h3.82c-0.43,1.43 -1.08,2.76 -1.91,3.96zM14.34,14L9.66,14c-0.09,-0.66 -0.16,-1.32 -0.16,-2 0,-0.68 0.07,-1.35 0.16,-2h4.68c0.09,0.65 0.16,1.32 0.16,2 0,0.68 -0.07,1.34 -0.16,2zM14.59,19.56c0.6,-1.11 1.06,-2.31 1.38,-3.56h2.95c-0.96,1.65 -2.49,2.93 -4.33,3.56zM16.36,14c0.08,-0.66 0.14,-1.32 0.14,-2 0,-0.68 -0.06,-1.34 -0.14,-2h3.38c0.16,0.64 0.26,1.31 0.26,2s-0.1,1.36 -0.26,2h-3.38z"/>
|
||||
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M11.5,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.9,2 2,2zm6.5,-6v-5.5c0,-3.07 -2.13,-5.64 -5,-6.32V3.5c0,-0.83 -0.67,-1.5 -1.5,-1.5S10,2.67 10,3.5v0.68c-2.87,0.68 -5,3.25 -5,6.32V16l-2,2v1h17v-1l-2,-2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M12,2C6.49,2 2,6.49 2,12s4.49,10 10,10c1.38,0 2.5,-1.12 2.5,-2.5c0,-0.61 -0.23,-1.2 -0.64,-1.67c-0.08,-0.1 -0.13,-0.21 -0.13,-0.33c0,-0.28 0.22,-0.5 0.5,-0.5H16c3.31,0 6,-2.69 6,-6C22,6.04 17.51,2 12,2zM17.5,13c-0.83,0 -1.5,-0.67 -1.5,-1.5c0,-0.83 0.67,-1.5 1.5,-1.5s1.5,0.67 1.5,1.5C19,12.33 18.33,13 17.5,13zM14.5,9C13.67,9 13,8.33 13,7.5C13,6.67 13.67,6 14.5,6S16,6.67 16,7.5C16,8.33 15.33,9 14.5,9zM5,11.5C5,10.67 5.67,10 6.5,10S8,10.67 8,11.5C8,12.33 7.33,13 6.5,13S5,12.33 5,11.5zM11,7.5C11,8.33 10.33,9 9.5,9S8,8.33 8,7.5C8,6.67 8.67,6 9.5,6S11,6.67 11,7.5z"/>
|
||||
|
||||
</vector>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M18.4,10.6C16.55,8.99 14.15,8 11.5,8c-4.65,0 -8.58,3.03 -9.96,7.22L3.9,16c1.05,-3.19 4.05,-5.5 7.6,-5.5 1.95,0 3.73,0.72 5.12,1.88L13,16h9V7l-3.6,3.6z"/>
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM19,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.11,0 2,-0.9 2,-2L21,5c0,-1.1 -0.89,-2 -2,-2zM17.25,12c0,0.23 -0.02,0.46 -0.05,0.68l1.48,1.16c0.13,0.11 0.17,0.3 0.08,0.45l-1.4,2.42c-0.09,0.15 -0.27,0.21 -0.43,0.15l-1.74,-0.7c-0.36,0.28 -0.76,0.51 -1.18,0.69l-0.26,1.85c-0.03,0.17 -0.18,0.3 -0.35,0.3h-2.8c-0.17,0 -0.32,-0.13 -0.35,-0.29l-0.26,-1.85c-0.43,-0.18 -0.82,-0.41 -1.18,-0.69l-1.74,0.7c-0.16,0.06 -0.34,0 -0.43,-0.15l-1.4,-2.42c-0.09,-0.15 -0.05,-0.34 0.08,-0.45l1.48,-1.16c-0.03,-0.23 -0.05,-0.46 -0.05,-0.69 0,-0.23 0.02,-0.46 0.05,-0.68l-1.48,-1.16c-0.13,-0.11 -0.17,-0.3 -0.08,-0.45l1.4,-2.42c0.09,-0.15 0.27,-0.21 0.43,-0.15l1.74,0.7c0.36,-0.28 0.76,-0.51 1.18,-0.69l0.26,-1.85c0.03,-0.17 0.18,-0.3 0.35,-0.3h2.8c0.17,0 0.32,0.13 0.35,0.29l0.26,1.85c0.43,0.18 0.82,0.41 1.18,0.69l1.74,-0.7c0.16,-0.06 0.34,0 0.43,0.15l1.4,2.42c0.09,0.15 0.05,0.34 -0.08,0.45l-1.48,1.16c0.03,0.23 0.05,0.46 0.05,0.69z"/>
|
||||
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01,-.25 1.97,-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0,-4.42,-3.58,-8,-8,-8zm0 14c-3.31 0,-6,-2.69,-6,-6 0,-1.01.25,-1.97.7,-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4,-4,-4,-4v3z" />
|
||||
</vector>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="@color/icon_tint" android:height="24dp" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M12.5,8c-2.65,0 -5.05,0.99 -6.9,2.6L2,7v9h9l-3.62,-3.62c1.39,-1.16 3.16,-1.88 5.12,-1.88 3.54,0 6.55,2.31 7.6,5.5l2.37,-0.78C21.08,11.03 17.15,8 12.5,8z"/>
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#8A000000"
|
||||
android:pathData="M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM18,14L6,14v-2h12v2zM18,11L6,11L6,9h12v2zM18,8L6,8L6,6h12v2z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#8A000000"
|
||||
android:pathData="M12,4L12,1L8,5l4,4L12,6c3.31,0 6,2.69 6,6 0,1.01 -0.25,1.97 -0.7,2.8l1.46,1.46C19.54,15.03 20,13.57 20,12c0,-4.42 -3.58,-8 -8,-8zM12,18c-3.31,0 -6,-2.69 -6,-6 0,-1.01 0.25,-1.97 0.7,-2.8L5.24,7.74C4.46,8.97 4,10.43 4,12c0,4.42 3.58,8 8,8v3l4,-4 -4,-4v3z" />
|
||||
</vector>
|
||||
@@ -160,7 +160,7 @@
|
||||
<TableLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="5dp">
|
||||
android:layout_marginStart="5dp">
|
||||
|
||||
<TableRow
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -4,34 +4,36 @@
|
||||
tools:context="org.exbin.bined.editor.android.MainActivity">
|
||||
<item
|
||||
android:id="@+id/app_bar_search"
|
||||
android:icon="@drawable/ic_search_black_24dp"
|
||||
android:icon="@drawable/ic_search_24"
|
||||
android:title="@string/action_search"
|
||||
app:actionViewClass="android.widget.SearchView"
|
||||
app:showAsAction="ifRoom" />
|
||||
<item
|
||||
android:id="@+id/app_bar_undo"
|
||||
android:icon="@drawable/ic_undo_24dp"
|
||||
android:icon="@drawable/ic_undo_24"
|
||||
android:title="@string/action_undo"
|
||||
app:showAsAction="ifRoom" />
|
||||
<item
|
||||
android:id="@+id/app_bar_redo"
|
||||
android:icon="@drawable/ic_redo_24dp"
|
||||
android:icon="@drawable/ic_redo_24"
|
||||
android:title="@string/action_redo"
|
||||
app:showAsAction="ifRoom" />
|
||||
<item
|
||||
android:id="@+id/action_new"
|
||||
android:icon="@drawable/ic_file_new_24"
|
||||
android:title="@string/action_new" />
|
||||
<item
|
||||
android:id="@+id/action_open"
|
||||
android:icon="@drawable/ic_file_open_24"
|
||||
android:title="@string/action_open" />
|
||||
<item
|
||||
android:id="@+id/action_save"
|
||||
android:enabled="false"
|
||||
android:icon="@drawable/ic_action_save_24"
|
||||
android:icon="@drawable/ic_file_save_24"
|
||||
android:title="@string/action_save" />
|
||||
<item
|
||||
android:id="@+id/action_save_as"
|
||||
android:icon="@drawable/ic_action_save_as_24"
|
||||
android:icon="@drawable/ic_file_save_as_24"
|
||||
android:title="@string/action_save_as" />
|
||||
<item
|
||||
android:id="@+id/view_menu"
|
||||
@@ -138,11 +140,14 @@
|
||||
</item>
|
||||
<item
|
||||
android:id="@+id/action_settings"
|
||||
android:icon="@drawable/ic_settings_24"
|
||||
android:title="@string/action_settings" />
|
||||
<item
|
||||
android:id="@+id/action_about"
|
||||
android:icon="@drawable/ic_info_24"
|
||||
android:title="@string/action_about" />
|
||||
<item
|
||||
android:id="@+id/action_exit"
|
||||
android:icon="@drawable/ic_exit_24"
|
||||
android:title="@string/action_exit" />
|
||||
</menu>
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="colorPrimary">#1F2155</color>
|
||||
<color name="colorPrimaryDark">#101F3F</color>
|
||||
<color name="colorAccent">#FF4081</color>
|
||||
<color name="icon_tint">#FFEFEFEF</color>
|
||||
<color name="disabled_icon_tint">#FF6F6F6F</color>
|
||||
</resources>
|
||||
@@ -7,4 +7,6 @@
|
||||
<color name="light_blue_600">#FF039BE5</color>
|
||||
<color name="gray_400">#FFBDBDBD</color>
|
||||
<color name="gray_600">#FF757575</color>
|
||||
<color name="icon_tint">#FF202020</color>
|
||||
<color name="disabled_icon_tint">#FF4F4F4F</color>
|
||||
</resources>
|
||||
|
||||
@@ -25,5 +25,4 @@
|
||||
<item name="android:minHeight">20dp</item>
|
||||
<item name="android:minWidth">30dp</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
<Preference
|
||||
app:fragment="org.exbin.bined.editor.android.SettingsActivity$AppearanceFragment"
|
||||
app:icon="@drawable/ic_info_black_24dp"
|
||||
app:icon="@drawable/ic_info_24"
|
||||
app:title="@string/pref_header_appearance" />
|
||||
|
||||
<Preference
|
||||
app:fragment="org.exbin.bined.editor.android.SettingsActivity$ViewFragment"
|
||||
app:icon="@drawable/messages"
|
||||
app:icon="@drawable/ic_eye_24"
|
||||
app:key="view_header"
|
||||
app:title="@string/pref_view_header" />
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
app:defaultValue="default"
|
||||
app:entries="@array/theme_entries"
|
||||
app:entryValues="@array/theme_values"
|
||||
app:icon="@drawable/ic_palette_24"
|
||||
app:key="theme"
|
||||
app:title="@string/visual_theme"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
@@ -12,6 +13,7 @@
|
||||
app:defaultValue="default"
|
||||
app:entries="@array/language_entries"
|
||||
app:entryValues="@array/language_values"
|
||||
app:icon="@drawable/ic_language_24"
|
||||
app:key="language"
|
||||
app:title="@string/language"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
0.2.1
|
||||
- Basic support for selection / clipboard
|
||||
- Changed file dialog
|
||||
- Added settings
|
||||
- Added settings and preferences
|
||||
- Added dark theme and language switching
|
||||
|
||||
0.2.0.1 (2024-09-05)
|
||||
- Minor fix of keyboard support in preview
|
||||
|
||||
@@ -1 +1,14 @@
|
||||
Early release with limited functionality
|
||||
BinEd is a hex editor tool, which allows to directly browse and edit content of any file or binary data.
|
||||
|
||||
App is currently beta with limited functionality.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Visualize data as numerical (hexadecimal) codes and text representation
|
||||
* Codes can be also binary, octal or decimal
|
||||
* Support for Unicode, UTF-8 and other charsets
|
||||
* Insert and overwrite edit modes
|
||||
* TODO: Searching for text / hexadecimal code with matching highlighting
|
||||
* Support for undo/redo
|
||||
* TODO: Support for files with size up to exabytes
|
||||
|
||||
Reference in New Issue
Block a user