Skip to content

Commit e99e84b

Browse files
author
appt2
committed
Code refactoring: adding a Python script in the terminal and fixing the bug of not highlighting the color of Python in beta form, but it has some work to do
1 parent cb46adc commit e99e84b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+14984
-12211
lines changed

app/src/main/assets/databins.7z

3.42 KB
Binary file not shown.

app/src/main/java/Ninja/coder/Ghostemane/code/G4Compiler.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ public void info(String info) {
4141

4242
@Override
4343
public void error(ANTLRMessage error) {
44-
b.append(error.fileName).append("\n");
45-
showToast(error.fileName);
44+
b.append(error.getErrorType().msg).append("\n");
45+
showToast(error.getErrorType().msg);
4646

4747
}
4848

4949
@Override
5050
public void warning(ANTLRMessage war) {
51-
b.append(war.fileName).append("\n");
52-
showToast(war.fileName);
51+
// b.append().append("\n");
52+
showToast(war.getErrorType().msg);
5353
}
5454
});
5555
antlr.processGrammarsOnCommandLine();
@@ -58,6 +58,7 @@ public void warning(ANTLRMessage war) {
5858
try {
5959
String logname = antlr.logMgr.save();
6060
System.out.println("wrote " + logname);
61+
showToast("wrote " + logname);
6162

6263
} catch (IOException ioe) {
6364
antlr.errMgr.toolError(ErrorType.INTERNAL_ERROR, ioe);

app/src/main/java/Ninja/coder/Ghostemane/code/MainActivity.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import Ninja.coder.Ghostemane.code.activities.StreamSoftAppActivity;
66
import Ninja.coder.Ghostemane.code.utils.AssetsSoft;
77
import Ninja.coder.Ghostemane.code.utils.FileUtil;
8-
import Ninja.coder.Ghostemane.code.utils.SetThemeForJson;
8+
import Ninja.coder.Ghostemane.code.utils.SetThemeForJson;
99
import android.Manifest;
1010
import android.app.Activity;
1111
import android.content.Intent;
@@ -26,16 +26,15 @@
2626
import java.io.File;
2727
import java.util.Timer;
2828
import java.util.TimerTask;
29-
3029

3130
public class MainActivity extends BaseCompat {
3231

3332
protected AssetsSoft soft;
3433
private Timer _timer = new Timer();
3534
private String bin = "";
3635
private Intent gotopage = new Intent();
37-
private TimerTask ask;
38-
36+
private TimerTask ask;
37+
3938
private SharedPreferences setac;
4039
private TextView tv_main;
4140
protected LinearProgressIndicator prograssBar;
@@ -85,27 +84,31 @@ private void initialize(Bundle _savedInstanceState) {
8584
}
8685

8786
private void initializeLogic() {
87+
var mypath = getFilesDir().getAbsolutePath() + "/" + "databins";
88+
89+
if (!FileUtil.isExistFile(mypath)) {
90+
nameFile("databins.7z");
91+
92+
} else {
93+
startApp();
94+
}
8895

8996
// run install python files
9097
if (!FileUtil.isExistFile(
9198
getFilesDir().getAbsolutePath() + File.separator + "files" + File.separator + "env.sh")) {
9299
nameFile("python.7z");
93100
// start
94101
} else if (!FileUtil.isExistFile(
95-
getFilesDir().getAbsolutePath()
96-
+ File.separator
97-
+ "lib"
98-
+ File.separator
99-
+ "libx265.so")) {
102+
getFilesDir().getAbsolutePath() + File.separator + "lib" + File.separator + "libx265.so")) {
100103
nameFile("lib.7z");
101104
} else startApp();
102105

103106
/// startApp();
104107

105108
if (!FileUtil.isExistFile("/storage/emulated/0/GhostWebIDE/theme/GhostThemeapp.ghost")) {
106109
SetThemeForJson.winterToPath();
107-
}else{
108-
Log.e("File is ExistFile","");
110+
} else {
111+
Log.e("File is ExistFile", "");
109112
}
110113

111114
if (!FileUtil.isExistFile("/storage/emulated/0/GhostWebIDE/android/android.jar")) {
@@ -138,14 +141,11 @@ public void onSucceed() {
138141

139142
}
140143

141-
142144
if (!FileUtil.isExistFile(getFilesDir().getAbsolutePath() + File.separator + "php.ini")) {
143145
var softApi = new AssetsSoft();
144146
softApi.copyOneFileFromAssets("php.ini", getFilesDir().getAbsolutePath() + "/", this);
145-
}else Log.e("File Copyed", AssetsSoft.class.getSimpleName());
146-
147-
148-
147+
} else Log.e("File Copyed", AssetsSoft.class.getSimpleName());
148+
149149
FileUtil.makeDir("/storage/emulated/0/GhostWebIDE/");
150150
FileUtil.makeDir("/storage/emulated/0/GhostWebIDE/.icon");
151151
FileUtil.makeDir("/storage/emulated/0/GhostWebIDE/android");

app/src/main/java/Ninja/coder/Ghostemane/code/activities/CodeEditorActivity.java

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import Ninja.coder.Ghostemane.code.marco.GhostWebEditorSearch;
1515
import Ninja.coder.Ghostemane.code.marco.NinjaMacroFileUtil;
1616
import Ninja.coder.Ghostemane.code.marco.WallpaperParallaxEffect;
17+
import Ninja.coder.Ghostemane.code.marco.ideColors.IdeColorCompat;
1718
import Ninja.coder.Ghostemane.code.navigator.EditorHelperColor;
1819
import Ninja.coder.Ghostemane.code.project.JavaCompilerBeta;
1920
import Ninja.coder.Ghostemane.code.project.ProjectManager;
@@ -1814,33 +1815,8 @@ public void onBindViewHolder(
18141815
if (_data.isEmpty()) {
18151816

18161817
} else {
1817-
if (ru.contains("rup")) {
1818-
android.graphics.drawable.GradientDrawable SketchUi30 =
1819-
new android.graphics.drawable.GradientDrawable();
1820-
int d = (int) getApplicationContext().getResources().getDisplayMetrics().density;
1821-
SketchUi30.setColor(0xFFFDA893);
1822-
SketchUi30.setCornerRadii(new float[] {d * 360, d * 360, d * 360, d * 360, 0, 0, 0, 0});
1823-
selector.setElevation(d * 4);
1824-
selector.setBackground(SketchUi30);
1825-
} else {
1826-
if (imap.containsKey("TabBack")) {
1827-
android.graphics.drawable.GradientDrawable SketchUi =
1828-
new android.graphics.drawable.GradientDrawable();
1829-
int d = (int) getApplicationContext().getResources().getDisplayMetrics().density;
1830-
SketchUi.setColor(Color.parseColor(imap.get("TabBack").toString()));
1831-
SketchUi.setCornerRadii(new float[] {d * 360, d * 360, d * 360, d * 360, 0, 0, 0, 0});
1832-
selector.setElevation(d * 4);
1833-
selector.setBackground(SketchUi);
1834-
} else {
1835-
android.graphics.drawable.GradientDrawable SketchUi =
1836-
new android.graphics.drawable.GradientDrawable();
1837-
int d = (int) getApplicationContext().getResources().getDisplayMetrics().density;
1838-
SketchUi.setColor(Color.parseColor("#ffd1aeff"));
1839-
SketchUi.setCornerRadii(new float[] {d * 360, d * 360, d * 360, d * 360, 0, 0, 0, 0});
1840-
selector.setElevation(d * 4);
1841-
selector.setBackground(SketchUi);
1842-
}
1843-
}
1818+
var ideColors = new IdeColorCompat(editor);
1819+
ideColors.Colors(selector,textview1);
18441820
datas = Uri.parse(_data.get(_position).get("path").toString()).getLastPathSegment();
18451821
textview1.setText(
18461822
Uri.parse(_data.get(_position).get("path").toString()).getLastPathSegment());

app/src/main/java/Ninja/coder/Ghostemane/code/activities/FileDirActivity.java

Lines changed: 54 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
import com.hzy.lib7z.Z7Extractor;
9595
import com.skydoves.powermenu.PowerMenu;
9696
import com.zip4j.progress.ProgressMonitor;
97+
import java.util.stream.Collectors;
9798
import ninjacoder.ghostide.androidtools.r8.android.R8Tools;
9899
import storage.sdcard.SdCardUtil;
99100

@@ -213,7 +214,7 @@ public class FileDirActivity extends BaseCompat
213214
private GridLayoutManager gridLayoutManager;
214215
private SharedPreferences sharedPreferences;
215216
private CircularProgressIndicator filedir_bar;
216-
private SaveRecyclerViewScrollbar saveScrollbar;
217+
217218

218219
@Override
219220
protected void onCreate(Bundle _savedInstanceState) {
@@ -386,8 +387,7 @@ public void onResponse(String _param1, String _param2, HashMap<String, Object> _
386387
@Override
387388
public void onErrorResponse(String _param1, String _param2) {}
388389
};
389-
saveScrollbar =
390-
new SaveRecyclerViewScrollbar(gridLayoutManager, this.getLifecycle(), recyclerview2);
390+
391391
}
392392

393393
@Override
@@ -670,9 +670,11 @@ protected void onDestroy() {
670670
public void reLoadFile() {
671671
recyclerview2.setVisibility(View.GONE);
672672
filedir_bar.setVisibility(View.VISIBLE);
673+
673674
new Thread(
674675
() -> {
675676
save_path.edit().putString("path", Folder).apply();
677+
676678
list.clear();
677679
files.clear();
678680
folderList.clear();
@@ -681,59 +683,63 @@ public void reLoadFile() {
681683
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
682684
GetTab = Folder;
683685
index = 0;
684-
POSNINJACODERMAIN = Folder;
685-
ProjectManager mproject = new ProjectManager();
686-
mproject.setProjectDir(GetTab);
687-
final class FileComparator implements Comparator<String> {
688-
public int compare(String f1, String f2) {
689-
if (f1 == f2) return 0;
690-
if (FileUtil.isDirectory(f1) && FileUtil.isFile(f2)) return -1;
691-
if (FileUtil.isFile(f1) && FileUtil.isDirectory(f2)) return 1;
692-
return f1.compareToIgnoreCase(f2);
693-
}
694-
}
695-
Collections.sort(list, new FileComparator());
696-
697-
for (int _repeat13 = 0; _repeat13 < (int) (list.size()); _repeat13++) {
698-
if (FileUtil.isDirectory(list.get((int) (index)))) {
699-
folderList.add(list.get((int) (index)));
700-
} else {
701-
fileList.add(list.get((int) (index)));
702-
}
703-
index++;
704-
}
705-
index = 0;
706-
for (int _repeat37 = 0; _repeat37 < (int) (folderList.size()); _repeat37++) {
707-
{
708-
HashMap<String, Object> _item = new HashMap<>();
709-
_item.put("path", folderList.get((int) (index)));
710-
files.add(_item);
711-
}
686+
Collections.sort(
687+
list,
688+
(f1, f2) -> {
689+
if (f1 == f2) return 0;
690+
if (FileUtil.isDirectory(f1) && FileUtil.isFile(f2)) return -1;
691+
if (FileUtil.isFile(f1) && FileUtil.isDirectory(f2)) return 1;
692+
return f1.compareToIgnoreCase(f2);
693+
});
712694

713-
index++;
714-
}
715-
index = 0;
716-
for (int _repeat54 = 0; _repeat54 < (int) (fileList.size()); _repeat54++) {
717-
{
718-
HashMap<String, Object> _item = new HashMap<>();
719-
_item.put("path", fileList.get((int) (index)));
720-
files.add(_item);
721-
}
695+
list.forEach(
696+
item -> {
697+
if (FileUtil.isDirectory(item)) {
698+
folderList.add(item);
699+
} else {
700+
fileList.add(item);
701+
}
702+
});
722703

723-
index++;
724-
}
725-
index = 0;
726-
for (int _repeat97 = 0; _repeat97 < (int) (files.size()); _repeat97++) {
727-
files.get((int) index).put("sel", "false");
728-
index++;
729-
}
704+
List<HashMap<String, Object>> folderItems =
705+
folderList.stream()
706+
.map(
707+
item -> {
708+
HashMap<String, Object> _item = new HashMap<>();
709+
_item.put("path", item);
710+
return _item;
711+
})
712+
.filter(
713+
item -> {
714+
String path = (String) item.get("path");
715+
return !path.isEmpty() && !new File(path).isHidden();
716+
})
717+
.collect(Collectors.toList());
718+
719+
files.addAll(folderItems);
720+
721+
// folderList.forEach(
722+
// item -> {
723+
// HashMap<String, Object> _item = new HashMap<>();
724+
// _item.put("path", item);
725+
// files.add(_item);
726+
// });
727+
//
728+
729+
fileList.forEach(
730+
item -> {
731+
HashMap<String, Object> _item = new HashMap<>();
732+
_item.put("path", item);
733+
files.add(_item);
734+
});
730735
try {
731736

732737
} catch (Exception e) {
733738
runOnUiThread(
734739
() ->
735740
DataUtil.showMessage(getApplicationContext(), "Error to " + e.toString()));
736741
}
742+
737743
runOnUiThread(
738744
() -> {
739745
recyclerview2.setVisibility(View.VISIBLE);
@@ -746,6 +752,7 @@ public int compare(String f1, String f2) {
746752
});
747753
})
748754
.start();
755+
749756
_distreeview();
750757
}
751758

app/src/main/java/Ninja/coder/Ghostemane/code/config/CommandCompat.kt

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,51 @@ object CommandCompat {
1010
val pythonBuildDirPath = "$appFileDirPath/files/usr"
1111
val pythonLibDirPath = "$pythonBuildDirPath/lib"
1212
val pythonExecName = "libpython3.so"
13-
val aliasCommand = "alias python=\"$pythonExecName\" && alias pip=\"$pythonExecName -m pip \""
14-
return "export PATH=\$PATH:$appLibDirPath && export PYTHONHOME=$pythonBuildDirPath && export PYTHONPATH=$appLibDirPath && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:\" && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH${pythonLibDirPath}\" && $aliasCommand && clear"
13+
val aliasCommand = "alias python=\"$pythonExecName\" && alias pip=\"$pythonExecName -m pip\""
14+
15+
// Combine the Java and Shell script
16+
var command = "export PATH=\$PATH:$appLibDirPath:$pythonBuildDirPath && export PYTHONHOME=$pythonBuildDirPath" +
17+
" && export PYTHONPATH=$appLibDirPath && export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$pythonLibDirPath" +
18+
" && $aliasCommand && clear"
19+
20+
// Append the sed and echo commands from the shell script
21+
/// command += " && sed -i 's@$appFileDirPath@Root@g' $appFileDirPath && echo -e \"\\u001B[31mRoot\\u001B[0m\""
22+
return command
1523
}
24+
1625
fun getInterpreterCommand(context: Context, filePath: String): String {
1726
val appLibDirPath = context.applicationInfo.nativeLibraryDir
1827
val appFileDirPath = context.filesDir.absolutePath
1928
val pythonBuildDirPath = "$appFileDirPath/files/usr"
2029
val pythonLibDirPath = "$pythonBuildDirPath/lib"
2130
val pythonExecName = "libpython3.so"
22-
return "export PATH=\$PATH:$appLibDirPath && export PYTHONHOME=$pythonBuildDirPath && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:\" && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH${pythonLibDirPath}\" && clear && $pythonExecName $filePath && echo \'[Enter to Exit]\' && read junk && exit"
31+
return "export PATH=\$PATH:$appLibDirPath && export PYTHONHOME=$pythonBuildDirPath && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:\" && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH${pythonLibDirPath}\" && clear && $pythonExecName $filePath && echo '[Enter to Exit]' && read junk && exit"
2332
}
2433

2534
fun getPythonShellCommand(context: Context): String {
2635
val appLibDirPath = context.applicationInfo.nativeLibraryDir
2736
val appFileDirPath = context.filesDir.absolutePath
2837
val pythonBuildDirPath = "$appFileDirPath/files/usr"
2938
val pythonLibDirPath = "$pythonBuildDirPath/lib"
30-
return "export PATH=\$PATH:$appLibDirPath && export PYTHONHOME=$pythonBuildDirPath && export PYTHONPATH=$appLibDirPath && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:\" && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH${pythonLibDirPath}\" && clear && libpython3.so && echo \'[Enter to Exit]\' && read junk && exit"
39+
return "export PATH=\$PATH:$appLibDirPath && export PYTHONHOME=$pythonBuildDirPath && export PYTHONPATH=$appLibDirPath && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:\" && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH${pythonLibDirPath}\" && clear && libpython3.so && echo '[Enter to Exit]' && read junk && exit"
3140
}
41+
3242
fun getRunPhpCommand(context: Context, phpFile: File): String {
33-
val appLibDirPath = context.applicationInfo.nativeLibraryDir
34-
val appFileDirPath = context.filesDir.absolutePath
35-
val phpLibDirPath = "$appFileDirPath/lib"
36-
val phpIniPath = File(context.filesDir, "php.ini").path
37-
return "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$phpLibDirPath && \"$appLibDirPath/libphp-8.2.8.so\" -f \"${phpFile.path}\" -c \"$phpIniPath\" && echo \'[Enter to Exit]\' && read junk && exit"
38-
}
39-
}
43+
val appLibDirPath = context.applicationInfo.nativeLibraryDir
44+
val appFileDirPath = context.filesDir.absolutePath
45+
val phpLibDirPath = "$appFileDirPath/lib"
46+
val phpIniPath = File(context.filesDir, "php.ini").path
47+
return " export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$phpLibDirPath && \"$appLibDirPath/libphp-8.2.8.so\" -f \"${phpFile.path}\" -c \"$phpIniPath\" && echo '[Enter to Exit]' && read junk && exit"
48+
}
49+
}
50+
51+
52+
// fun getBasicCommand(context: Context): String {
53+
// val appLibDirPath = context.applicationInfo.nativeLibraryDir
54+
// val appFileDirPath = context.filesDir.absolutePath
55+
// val pythonBuildDirPath = "$appFileDirPath/files/usr"
56+
// val pythonLibDirPath = "$pythonBuildDirPath/lib"
57+
// val pythonExecName = "libpython3.so"
58+
// val aliasCommand = "alias python=\"$pythonExecName\" && alias pip=\"$pythonExecName -m pip \""
59+
// return "export PATH=\$PATH:$appLibDirPath && export PYTHONHOME=$pythonBuildDirPath && export PYTHONPATH=$appLibDirPath && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:\" && export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH${pythonLibDirPath}\" && $aliasCommand && clear"
60+
// }

0 commit comments

Comments
 (0)