html2apk 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +125 -1
- package/package.json +1 -1
- package/src/desktop/main.js +376 -0
- package/src/desktop/preload.js +1 -0
- package/src/desktop/renderer/index.html +11 -5
- package/src/desktop/renderer/renderer.js +658 -35
- package/src/desktop/renderer/styles.css +186 -27
- package/src/templates/cordova-plugin-html2apk-bridge/plugin.xml +17 -0
- package/src/templates/cordova-plugin-html2apk-bridge/src/android/Html2ApkBridge.java +2055 -82
- package/src/templates/cordova-plugin-html2apk-bridge/src/android/xml/html2apk_file_paths.xml +6 -0
- package/src/templates/cordova-plugin-html2apk-bridge/www/html2apk-bridge.js +407 -2
- package/src/templates/html2apk-early-bridge.js +404 -2
- package/src/templates/html2apk-runtime-console.js +156 -4
|
@@ -712,7 +712,7 @@ h2 {
|
|
|
712
712
|
|
|
713
713
|
.file-editor-panel {
|
|
714
714
|
display: grid;
|
|
715
|
-
grid-template-rows: auto minmax(
|
|
715
|
+
grid-template-rows: auto minmax(0, 1fr);
|
|
716
716
|
overflow: hidden;
|
|
717
717
|
}
|
|
718
718
|
|
|
@@ -745,58 +745,96 @@ h2 {
|
|
|
745
745
|
font-weight: 800;
|
|
746
746
|
}
|
|
747
747
|
|
|
748
|
-
|
|
749
|
-
|
|
748
|
+
.code-editor-shell {
|
|
749
|
+
position: relative;
|
|
750
750
|
min-height: 0;
|
|
751
|
-
|
|
751
|
+
overflow: hidden;
|
|
752
|
+
background: #0c1117;
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
#fileEditorInput,
|
|
756
|
+
.file-editor-highlight {
|
|
757
|
+
width: 100%;
|
|
752
758
|
border: 0;
|
|
753
|
-
border-bottom: 1px solid var(--line);
|
|
754
759
|
outline: none;
|
|
755
|
-
padding: 16px;
|
|
756
|
-
|
|
757
|
-
color: var(--text);
|
|
758
|
-
font: 13px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
760
|
+
padding: 16px 18px;
|
|
761
|
+
font: 13px/1.55 "Cascadia Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
759
762
|
tab-size: 2;
|
|
763
|
+
white-space: pre-wrap;
|
|
764
|
+
overflow-wrap: anywhere;
|
|
760
765
|
}
|
|
761
766
|
|
|
762
|
-
|
|
767
|
+
#fileEditorInput {
|
|
768
|
+
position: relative;
|
|
769
|
+
z-index: 2;
|
|
770
|
+
height: 100%;
|
|
763
771
|
min-height: 0;
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
772
|
+
resize: none;
|
|
773
|
+
background: transparent;
|
|
774
|
+
color: transparent;
|
|
775
|
+
-webkit-text-fill-color: transparent;
|
|
776
|
+
caret-color: #d6e4f7;
|
|
767
777
|
}
|
|
768
778
|
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
color: var(--muted);
|
|
772
|
-
font-size: 12px;
|
|
779
|
+
#fileEditorInput::selection {
|
|
780
|
+
background: rgba(88, 166, 255, 0.34);
|
|
773
781
|
}
|
|
774
782
|
|
|
775
|
-
.
|
|
783
|
+
.file-editor-highlight {
|
|
784
|
+
position: absolute;
|
|
785
|
+
inset: 0;
|
|
786
|
+
z-index: 1;
|
|
776
787
|
margin: 0;
|
|
777
|
-
|
|
778
|
-
overflow:
|
|
779
|
-
color:
|
|
780
|
-
|
|
788
|
+
min-height: 100%;
|
|
789
|
+
overflow: hidden;
|
|
790
|
+
color: #d6e4f7;
|
|
791
|
+
pointer-events: none;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
.file-editor-highlight code {
|
|
795
|
+
display: block;
|
|
796
|
+
min-height: 100%;
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
#fileEditorInput:disabled {
|
|
800
|
+
cursor: not-allowed;
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
#fileEditorInput:disabled + .file-editor-highlight,
|
|
804
|
+
.code-editor-shell:has(#fileEditorInput:disabled) .file-editor-highlight {
|
|
805
|
+
opacity: .58;
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
#fileEditorInput::placeholder {
|
|
809
|
+
color: #64748b;
|
|
810
|
+
-webkit-text-fill-color: #64748b;
|
|
781
811
|
}
|
|
782
812
|
|
|
783
813
|
.syntax-token-tag,
|
|
784
814
|
.syntax-token-keyword {
|
|
785
|
-
color:
|
|
815
|
+
color: #79c0ff;
|
|
786
816
|
font-weight: 800;
|
|
787
817
|
}
|
|
788
818
|
|
|
789
819
|
.syntax-token-string {
|
|
790
|
-
color:
|
|
820
|
+
color: #a5d6a7;
|
|
791
821
|
}
|
|
792
822
|
|
|
793
823
|
.syntax-token-comment {
|
|
794
|
-
color:
|
|
824
|
+
color: #8b949e;
|
|
795
825
|
font-style: italic;
|
|
796
826
|
}
|
|
797
827
|
|
|
798
828
|
.syntax-token-number {
|
|
799
|
-
color:
|
|
829
|
+
color: #f2cc60;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
.syntax-token-function {
|
|
833
|
+
color: #d2a8ff;
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
.syntax-token-operator {
|
|
837
|
+
color: #ffab70;
|
|
800
838
|
}
|
|
801
839
|
|
|
802
840
|
.preference-row {
|
|
@@ -1053,6 +1091,110 @@ h2 {
|
|
|
1053
1091
|
margin-bottom: 18px;
|
|
1054
1092
|
}
|
|
1055
1093
|
|
|
1094
|
+
.code-browser {
|
|
1095
|
+
display: grid;
|
|
1096
|
+
grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
|
|
1097
|
+
gap: 16px;
|
|
1098
|
+
align-items: start;
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
.code-categories {
|
|
1102
|
+
position: sticky;
|
|
1103
|
+
top: 0;
|
|
1104
|
+
display: grid;
|
|
1105
|
+
gap: 8px;
|
|
1106
|
+
max-height: calc(100vh - 160px - var(--visible-log-height));
|
|
1107
|
+
overflow: auto;
|
|
1108
|
+
padding-right: 2px;
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
.code-category-button {
|
|
1112
|
+
width: 100%;
|
|
1113
|
+
min-height: 58px;
|
|
1114
|
+
border: 1px solid var(--line);
|
|
1115
|
+
border-radius: 8px;
|
|
1116
|
+
background: var(--panel);
|
|
1117
|
+
color: var(--text);
|
|
1118
|
+
padding: 10px 12px;
|
|
1119
|
+
display: grid;
|
|
1120
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
1121
|
+
gap: 4px 10px;
|
|
1122
|
+
align-items: center;
|
|
1123
|
+
text-align: left;
|
|
1124
|
+
box-shadow: 0 14px 34px rgba(49, 86, 130, 0.08);
|
|
1125
|
+
transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
.code-category-button:hover {
|
|
1129
|
+
border-color: color-mix(in srgb, var(--blue) 42%, var(--line));
|
|
1130
|
+
background: color-mix(in srgb, var(--blue-soft) 56%, var(--panel));
|
|
1131
|
+
transform: translateY(-1px);
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
.code-category-button.active {
|
|
1135
|
+
border-color: var(--blue);
|
|
1136
|
+
background: var(--blue-soft);
|
|
1137
|
+
color: var(--blue);
|
|
1138
|
+
box-shadow: inset 4px 0 0 var(--blue), 0 14px 34px rgba(18, 111, 255, 0.12);
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
.code-category-button strong {
|
|
1142
|
+
min-width: 0;
|
|
1143
|
+
overflow: hidden;
|
|
1144
|
+
text-overflow: ellipsis;
|
|
1145
|
+
white-space: nowrap;
|
|
1146
|
+
font-size: 14px;
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
.code-category-button small {
|
|
1150
|
+
grid-column: 1 / -1;
|
|
1151
|
+
color: var(--muted);
|
|
1152
|
+
line-height: 1.35;
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
.code-category-count {
|
|
1156
|
+
min-width: 28px;
|
|
1157
|
+
min-height: 24px;
|
|
1158
|
+
border-radius: 999px;
|
|
1159
|
+
display: inline-flex;
|
|
1160
|
+
align-items: center;
|
|
1161
|
+
justify-content: center;
|
|
1162
|
+
background: var(--panel-soft);
|
|
1163
|
+
color: var(--muted);
|
|
1164
|
+
font-size: 12px;
|
|
1165
|
+
font-weight: 900;
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
.code-category-button.active .code-category-count {
|
|
1169
|
+
background: var(--panel);
|
|
1170
|
+
color: var(--blue);
|
|
1171
|
+
}
|
|
1172
|
+
|
|
1173
|
+
.code-results {
|
|
1174
|
+
min-width: 0;
|
|
1175
|
+
display: grid;
|
|
1176
|
+
gap: 14px;
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
.code-summary {
|
|
1180
|
+
border: 1px solid var(--line);
|
|
1181
|
+
border-radius: 8px;
|
|
1182
|
+
background: color-mix(in srgb, var(--panel) 82%, var(--panel-soft));
|
|
1183
|
+
padding: 14px 16px;
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
.code-summary strong {
|
|
1187
|
+
display: block;
|
|
1188
|
+
color: var(--text);
|
|
1189
|
+
margin-bottom: 4px;
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
.code-summary p {
|
|
1193
|
+
margin: 0;
|
|
1194
|
+
color: var(--muted);
|
|
1195
|
+
line-height: 1.45;
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1056
1198
|
.code-grid {
|
|
1057
1199
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1058
1200
|
}
|
|
@@ -1073,11 +1215,14 @@ h2 {
|
|
|
1073
1215
|
}
|
|
1074
1216
|
|
|
1075
1217
|
.code-card-top code {
|
|
1218
|
+
display: block;
|
|
1076
1219
|
overflow-wrap: anywhere;
|
|
1077
1220
|
color: #d6e4f7;
|
|
1078
1221
|
background: #0c1117;
|
|
1079
1222
|
border-radius: 7px;
|
|
1080
1223
|
padding: 10px;
|
|
1224
|
+
font: 12px/1.55 "Cascadia Mono", Consolas, "Courier New", monospace;
|
|
1225
|
+
white-space: pre-wrap;
|
|
1081
1226
|
}
|
|
1082
1227
|
|
|
1083
1228
|
.code-card-top span {
|
|
@@ -1155,7 +1300,7 @@ h2 {
|
|
|
1155
1300
|
display: block;
|
|
1156
1301
|
padding: 12px;
|
|
1157
1302
|
color: #d6e4f7;
|
|
1158
|
-
font: 12px/1.55 Consolas, "Courier New", monospace;
|
|
1303
|
+
font: 12px/1.55 "Cascadia Mono", Consolas, "Courier New", monospace;
|
|
1159
1304
|
white-space: pre;
|
|
1160
1305
|
}
|
|
1161
1306
|
|
|
@@ -1517,6 +1662,20 @@ body.logs-visible .bottom-log-bar {
|
|
|
1517
1662
|
grid-template-columns: 1fr;
|
|
1518
1663
|
}
|
|
1519
1664
|
|
|
1665
|
+
.code-browser {
|
|
1666
|
+
grid-template-columns: 1fr;
|
|
1667
|
+
}
|
|
1668
|
+
|
|
1669
|
+
.code-categories {
|
|
1670
|
+
position: static;
|
|
1671
|
+
grid-auto-flow: column;
|
|
1672
|
+
grid-auto-columns: minmax(180px, 220px);
|
|
1673
|
+
overflow-x: auto;
|
|
1674
|
+
overflow-y: hidden;
|
|
1675
|
+
max-height: none;
|
|
1676
|
+
padding: 0 0 4px;
|
|
1677
|
+
}
|
|
1678
|
+
|
|
1520
1679
|
.icon-field,
|
|
1521
1680
|
.keystore-field,
|
|
1522
1681
|
.onesignal-field,
|
|
@@ -18,13 +18,29 @@
|
|
|
18
18
|
<uses-permission android:name="android.permission.VIBRATE" />
|
|
19
19
|
<uses-permission android:name="android.permission.CAMERA" />
|
|
20
20
|
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
21
|
+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
|
22
|
+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
23
|
+
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
|
|
24
|
+
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
|
|
25
|
+
<uses-permission android:name="android.permission.SET_WALLPAPER" />
|
|
21
26
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
27
|
+
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
|
28
|
+
<uses-feature android:name="android.hardware.camera" android:required="false" />
|
|
22
29
|
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
|
|
23
30
|
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
|
|
24
31
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
|
25
32
|
</config-file>
|
|
26
33
|
|
|
27
34
|
<config-file target="AndroidManifest.xml" parent="/manifest/application">
|
|
35
|
+
<provider
|
|
36
|
+
android:name="androidx.core.content.FileProvider"
|
|
37
|
+
android:authorities="${applicationId}.html2apk.fileprovider"
|
|
38
|
+
android:exported="false"
|
|
39
|
+
android:grantUriPermissions="true">
|
|
40
|
+
<meta-data
|
|
41
|
+
android:name="android.support.FILE_PROVIDER_PATHS"
|
|
42
|
+
android:resource="@xml/html2apk_file_paths" />
|
|
43
|
+
</provider>
|
|
28
44
|
<service android:name="dev.html2apk.bridge.FloatingIconService" android:exported="false" />
|
|
29
45
|
<receiver android:name="dev.html2apk.bridge.NotificationReceiver" android:exported="false" />
|
|
30
46
|
<receiver android:name="dev.html2apk.bridge.NotificationClickReceiver" android:exported="false" />
|
|
@@ -42,6 +58,7 @@
|
|
|
42
58
|
<source-file src="src/android/NotificationClickReceiver.java" target-dir="app/src/main/java/dev/html2apk/bridge" />
|
|
43
59
|
<source-file src="src/android/BootReceiver.java" target-dir="app/src/main/java/dev/html2apk/bridge" />
|
|
44
60
|
<source-file src="src/android/NotificationStore.java" target-dir="app/src/main/java/dev/html2apk/bridge" />
|
|
61
|
+
<resource-file src="src/android/xml/html2apk_file_paths.xml" target="res/xml/html2apk_file_paths.xml" />
|
|
45
62
|
<framework src="androidx.core:core:1.12.0" />
|
|
46
63
|
</platform>
|
|
47
64
|
</plugin>
|