Spaces:
Running
Running
Jatin Mehra
commited on
Commit
·
e9f4000
1
Parent(s):
f4812e3
update android app fixed bugs
Browse files- Android App/.idea/deploymentTargetSelector.xml +0 -11
- Android App/.idea/gradle.xml +0 -1
- Android App/.idea/other.xml +1 -1
- Android App/.idea/vcs.xml +0 -6
- Android App/app/build.gradle +3 -3
- Android App/app/release/baselineProfiles/0/app-release.dm +0 -0
- Android App/app/release/baselineProfiles/1/app-release.dm +0 -0
- Android App/app/release/output-metadata.json +2 -2
- Android App/app/src/androidTest/java/com/jatinmehra/pdfinsightpro/ExampleInstrumentedTest.java +1 -1
- Android App/app/src/main/AndroidManifest.xml +11 -13
- Android App/app/src/main/java/com/jatinmehra/pdfinsightpro/MainActivity.java +123 -51
- Android App/app/src/main/java/com/jatinmehra/pdfinsightpro/SplashActivity.java +73 -0
- Android App/app/src/main/res/layout/activity_main.xml +11 -7
- Android App/app/src/main/res/layout/activity_splash.xml +55 -0
- Android App/app/src/main/res/values-night/themes.xml +2 -2
- Android App/app/src/main/res/values/ic_launcher_background.xml +1 -1
- Android App/app/src/main/res/values/strings.xml +1 -1
- Android App/app/src/main/res/values/themes.xml +2 -2
- Android App/gradle.properties +1 -2
- Android App/gradle/libs.versions.toml +1 -1
- Android App/gradle/wrapper/gradle-wrapper.properties +1 -1
- Android App/settings.gradle +1 -1
Android App/.idea/deploymentTargetSelector.xml
CHANGED
@@ -4,17 +4,6 @@
|
|
4 |
<selectionStates>
|
5 |
<SelectionState runConfigName="app">
|
6 |
<option name="selectionMode" value="DROPDOWN" />
|
7 |
-
<DropdownSelection timestamp="2024-11-06T18:12:39.367387Z">
|
8 |
-
<Target type="DEFAULT_BOOT">
|
9 |
-
<handle>
|
10 |
-
<DeviceId pluginId="PhysicalDevice" identifier="serial=f542e44" />
|
11 |
-
</handle>
|
12 |
-
</Target>
|
13 |
-
</DropdownSelection>
|
14 |
-
<DialogSelection />
|
15 |
-
</SelectionState>
|
16 |
-
<SelectionState runConfigName="MainActivity">
|
17 |
-
<option name="selectionMode" value="DROPDOWN" />
|
18 |
</SelectionState>
|
19 |
</selectionStates>
|
20 |
</component>
|
|
|
4 |
<selectionStates>
|
5 |
<SelectionState runConfigName="app">
|
6 |
<option name="selectionMode" value="DROPDOWN" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
</SelectionState>
|
8 |
</selectionStates>
|
9 |
</component>
|
Android App/.idea/gradle.xml
CHANGED
@@ -1,6 +1,5 @@
|
|
1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<project version="4">
|
3 |
-
<component name="GradleMigrationSettings" migrationVersion="1" />
|
4 |
<component name="GradleSettings">
|
5 |
<option name="linkedExternalProjectsSettings">
|
6 |
<GradleProjectSettings>
|
|
|
1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<project version="4">
|
|
|
3 |
<component name="GradleSettings">
|
4 |
<option name="linkedExternalProjectsSettings">
|
5 |
<GradleProjectSettings>
|
Android App/.idea/other.xml
CHANGED
@@ -262,7 +262,7 @@
|
|
262 |
<option name="codename" value="q6q" />
|
263 |
<option name="id" value="q6q" />
|
264 |
<option name="manufacturer" value="Samsung" />
|
265 |
-
<option name="name" value="
|
266 |
<option name="screenDensity" value="420" />
|
267 |
<option name="screenX" value="1856" />
|
268 |
<option name="screenY" value="2160" />
|
|
|
262 |
<option name="codename" value="q6q" />
|
263 |
<option name="id" value="q6q" />
|
264 |
<option name="manufacturer" value="Samsung" />
|
265 |
+
<option name="name" value="Galaxy Z Fold6" />
|
266 |
<option name="screenDensity" value="420" />
|
267 |
<option name="screenX" value="1856" />
|
268 |
<option name="screenY" value="2160" />
|
Android App/.idea/vcs.xml
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<project version="4">
|
3 |
-
<component name="VcsDirectoryMappings">
|
4 |
-
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
5 |
-
</component>
|
6 |
-
</project>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Android App/app/build.gradle
CHANGED
@@ -7,11 +7,11 @@ android {
|
|
7 |
compileSdk 34
|
8 |
|
9 |
defaultConfig {
|
10 |
-
applicationId
|
11 |
minSdk 24
|
12 |
targetSdk 34
|
13 |
-
versionCode
|
14 |
-
versionName
|
15 |
|
16 |
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
17 |
}
|
|
|
7 |
compileSdk 34
|
8 |
|
9 |
defaultConfig {
|
10 |
+
applicationId 'com.jatinmehra.pdfinsightpro'
|
11 |
minSdk 24
|
12 |
targetSdk 34
|
13 |
+
versionCode 3
|
14 |
+
versionName '1.2.0'
|
15 |
|
16 |
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
17 |
}
|
Android App/app/release/baselineProfiles/0/app-release.dm
CHANGED
Binary files a/Android App/app/release/baselineProfiles/0/app-release.dm and b/Android App/app/release/baselineProfiles/0/app-release.dm differ
|
|
Android App/app/release/baselineProfiles/1/app-release.dm
CHANGED
Binary files a/Android App/app/release/baselineProfiles/1/app-release.dm and b/Android App/app/release/baselineProfiles/1/app-release.dm differ
|
|
Android App/app/release/output-metadata.json
CHANGED
@@ -11,8 +11,8 @@
|
|
11 |
"type": "SINGLE",
|
12 |
"filters": [],
|
13 |
"attributes": [],
|
14 |
-
"versionCode":
|
15 |
-
"versionName": "1.0",
|
16 |
"outputFile": "app-release.apk"
|
17 |
}
|
18 |
],
|
|
|
11 |
"type": "SINGLE",
|
12 |
"filters": [],
|
13 |
"attributes": [],
|
14 |
+
"versionCode": 3,
|
15 |
+
"versionName": "1.2.0",
|
16 |
"outputFile": "app-release.apk"
|
17 |
}
|
18 |
],
|
Android App/app/src/androidTest/java/com/jatinmehra/pdfinsightpro/ExampleInstrumentedTest.java
CHANGED
@@ -21,6 +21,6 @@ public class ExampleInstrumentedTest {
|
|
21 |
public void useAppContext() {
|
22 |
// Context of the app under test.
|
23 |
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
24 |
-
assertEquals("com.jatinmehra.
|
25 |
}
|
26 |
}
|
|
|
21 |
public void useAppContext() {
|
22 |
// Context of the app under test.
|
23 |
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
24 |
+
assertEquals("com.jatinmehra.pdf_insight_pro", appContext.getPackageName());
|
25 |
}
|
26 |
}
|
Android App/app/src/main/AndroidManifest.xml
CHANGED
@@ -2,35 +2,33 @@
|
|
2 |
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
3 |
xmlns:tools="http://schemas.android.com/tools">
|
4 |
|
5 |
-
|
6 |
-
<uses-permission android:name="android.permission.
|
7 |
-
|
8 |
-
<!-- Storage Permissions -->
|
9 |
-
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
10 |
-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
11 |
-
android:maxSdkVersion="28"/>
|
12 |
|
13 |
<application
|
14 |
-
android:usesCleartextTraffic="true"
|
15 |
android:allowBackup="true"
|
16 |
android:dataExtractionRules="@xml/data_extraction_rules"
|
17 |
android:fullBackupContent="@xml/backup_rules"
|
18 |
-
android:icon="@
|
19 |
android:label="@string/app_name"
|
20 |
android:roundIcon="@mipmap/ic_launcher_round"
|
21 |
android:supportsRtl="true"
|
22 |
-
android:theme="@style/Theme.
|
23 |
tools:targetApi="31">
|
24 |
-
|
25 |
<activity
|
26 |
android:name=".MainActivity"
|
27 |
-
android:exported="
|
|
|
|
|
|
|
|
|
28 |
<intent-filter>
|
29 |
<action android:name="android.intent.action.MAIN" />
|
|
|
30 |
<category android:name="android.intent.category.LAUNCHER" />
|
31 |
</intent-filter>
|
32 |
</activity>
|
33 |
-
|
34 |
</application>
|
35 |
|
36 |
</manifest>
|
|
|
2 |
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
3 |
xmlns:tools="http://schemas.android.com/tools">
|
4 |
|
5 |
+
<uses-permission android:name="android.permission.INTERNET" />
|
6 |
+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
7 |
+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
|
|
|
|
|
|
|
|
8 |
|
9 |
<application
|
|
|
10 |
android:allowBackup="true"
|
11 |
android:dataExtractionRules="@xml/data_extraction_rules"
|
12 |
android:fullBackupContent="@xml/backup_rules"
|
13 |
+
android:icon="@mipmap/ic_launcher"
|
14 |
android:label="@string/app_name"
|
15 |
android:roundIcon="@mipmap/ic_launcher_round"
|
16 |
android:supportsRtl="true"
|
17 |
+
android:theme="@style/Theme.PDFInsightPRO"
|
18 |
tools:targetApi="31">
|
|
|
19 |
<activity
|
20 |
android:name=".MainActivity"
|
21 |
+
android:exported="false" />
|
22 |
+
<activity
|
23 |
+
android:name=".SplashActivity"
|
24 |
+
android:exported="true"
|
25 |
+
android:screenOrientation="portrait">
|
26 |
<intent-filter>
|
27 |
<action android:name="android.intent.action.MAIN" />
|
28 |
+
|
29 |
<category android:name="android.intent.category.LAUNCHER" />
|
30 |
</intent-filter>
|
31 |
</activity>
|
|
|
32 |
</application>
|
33 |
|
34 |
</manifest>
|
Android App/app/src/main/java/com/jatinmehra/pdfinsightpro/MainActivity.java
CHANGED
@@ -1,9 +1,20 @@
|
|
1 |
package com.jatinmehra.pdfinsightpro;
|
2 |
|
3 |
-
import android.
|
|
|
|
|
|
|
4 |
import android.content.Intent;
|
|
|
|
|
|
|
5 |
import android.net.Uri;
|
|
|
6 |
import android.os.Bundle;
|
|
|
|
|
|
|
|
|
7 |
import android.webkit.ValueCallback;
|
8 |
import android.webkit.WebChromeClient;
|
9 |
import android.webkit.WebView;
|
@@ -16,73 +27,134 @@ import androidx.appcompat.app.AppCompatActivity;
|
|
16 |
|
17 |
public class MainActivity extends AppCompatActivity {
|
18 |
|
19 |
-
private
|
|
|
|
|
|
|
20 |
private ValueCallback<Uri[]> filePathCallback;
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
}
|
30 |
-
filePathCallback.onReceiveValue(resultUris);
|
31 |
-
filePathCallback = null;
|
32 |
}
|
33 |
-
|
34 |
-
|
|
|
35 |
|
36 |
-
@SuppressLint("SetJavaScriptEnabled")
|
37 |
@Override
|
38 |
protected void onCreate(Bundle savedInstanceState) {
|
39 |
super.onCreate(savedInstanceState);
|
40 |
setContentView(R.layout.activity_main);
|
41 |
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
});
|
|
|
60 |
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
|
|
|
|
72 |
}
|
73 |
-
|
74 |
|
75 |
-
|
76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
}
|
78 |
|
79 |
@Override
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
}
|
88 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
package com.jatinmehra.pdfinsightpro;
|
2 |
|
3 |
+
import android.Manifest;
|
4 |
+
import android.app.AlertDialog;
|
5 |
+
import android.app.DownloadManager;
|
6 |
+
import android.content.Context;
|
7 |
import android.content.Intent;
|
8 |
+
import android.content.pm.PackageManager;
|
9 |
+
import android.net.ConnectivityManager;
|
10 |
+
import android.net.NetworkInfo;
|
11 |
import android.net.Uri;
|
12 |
+
import android.os.Build;
|
13 |
import android.os.Bundle;
|
14 |
+
import android.os.Environment;
|
15 |
+
import android.util.Log;
|
16 |
+
import android.webkit.CookieManager;
|
17 |
+
import android.webkit.URLUtil;
|
18 |
import android.webkit.ValueCallback;
|
19 |
import android.webkit.WebChromeClient;
|
20 |
import android.webkit.WebView;
|
|
|
27 |
|
28 |
public class MainActivity extends AppCompatActivity {
|
29 |
|
30 |
+
private static final int FILE_CHOOSER_REQUEST_CODE = 1;
|
31 |
+
|
32 |
+
String websiteURL = "https://jatinmehra-pdf-insight-pro.hf.space";
|
33 |
+
private WebView webview;
|
34 |
private ValueCallback<Uri[]> filePathCallback;
|
35 |
|
36 |
+
private final ActivityResultLauncher<Intent> fileChooserLauncher =
|
37 |
+
registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
|
38 |
+
if (filePathCallback == null) return;
|
39 |
+
|
40 |
+
Uri[] results = null;
|
41 |
+
if (result.getResultCode() == RESULT_OK && result.getData() != null) {
|
42 |
+
results = new Uri[]{result.getData().getData()};
|
|
|
|
|
|
|
43 |
}
|
44 |
+
filePathCallback.onReceiveValue(results);
|
45 |
+
filePathCallback = null;
|
46 |
+
});
|
47 |
|
|
|
48 |
@Override
|
49 |
protected void onCreate(Bundle savedInstanceState) {
|
50 |
super.onCreate(savedInstanceState);
|
51 |
setContentView(R.layout.activity_main);
|
52 |
|
53 |
+
if (!CheckNetwork.isInternetAvailable(this)) {
|
54 |
+
setContentView(R.layout.activity_main);
|
55 |
+
|
56 |
+
new AlertDialog.Builder(this)
|
57 |
+
.setTitle("No internet connection available")
|
58 |
+
.setMessage("Please Check your Mobile data or Wi-Fi network.")
|
59 |
+
.setPositiveButton("Ok", (dialog, which) -> finish())
|
60 |
+
.show();
|
61 |
+
} else {
|
62 |
+
webview = findViewById(R.id.webView);
|
63 |
+
webview.getSettings().setJavaScriptEnabled(true);
|
64 |
+
webview.getSettings().setDomStorageEnabled(true);
|
65 |
+
webview.setOverScrollMode(WebView.OVER_SCROLL_NEVER);
|
66 |
+
webview.loadUrl(websiteURL);
|
67 |
+
webview.setWebViewClient(new WebViewClientDemo());
|
68 |
+
webview.setWebChromeClient(new WebChromeClientDemo());
|
69 |
+
}
|
70 |
+
|
71 |
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
72 |
+
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {
|
73 |
+
Log.d("permission", "permission denied to WRITE_EXTERNAL_STORAGE - requesting it");
|
74 |
+
String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE};
|
75 |
+
requestPermissions(permissions, 1);
|
76 |
}
|
77 |
+
}
|
78 |
+
|
79 |
+
webview.setDownloadListener((url, userAgent, contentDisposition, mimeType, contentLength) -> {
|
80 |
+
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
|
81 |
+
request.setMimeType(mimeType);
|
82 |
+
String cookies = CookieManager.getInstance().getCookie(url);
|
83 |
+
request.addRequestHeader("cookie", cookies);
|
84 |
+
request.addRequestHeader("User-Agent", userAgent);
|
85 |
+
request.setDescription("Downloading file....");
|
86 |
+
request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimeType));
|
87 |
+
request.allowScanningByMediaScanner();
|
88 |
+
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
|
89 |
+
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, URLUtil.guessFileName(url, contentDisposition, mimeType));
|
90 |
+
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
|
91 |
+
dm.enqueue(request);
|
92 |
+
Toast.makeText(getApplicationContext(), "Downloading File", Toast.LENGTH_SHORT).show();
|
93 |
});
|
94 |
+
}
|
95 |
|
96 |
+
private class WebViewClientDemo extends WebViewClient {
|
97 |
+
@Override
|
98 |
+
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
99 |
+
view.loadUrl(url);
|
100 |
+
return true;
|
101 |
+
}
|
102 |
+
}
|
103 |
+
|
104 |
+
private class WebChromeClientDemo extends WebChromeClient {
|
105 |
+
@Override
|
106 |
+
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
|
107 |
+
if (MainActivity.this.filePathCallback != null) {
|
108 |
+
MainActivity.this.filePathCallback.onReceiveValue(null);
|
109 |
}
|
110 |
+
MainActivity.this.filePathCallback = filePathCallback;
|
111 |
|
112 |
+
Intent intent = fileChooserParams.createIntent();
|
113 |
+
try {
|
114 |
+
fileChooserLauncher.launch(intent);
|
115 |
+
} catch (Exception e) {
|
116 |
+
MainActivity.this.filePathCallback = null;
|
117 |
+
Toast.makeText(MainActivity.this, "File upload failed: " + e.getMessage(), Toast.LENGTH_SHORT).show();
|
118 |
+
return false;
|
119 |
+
}
|
120 |
+
return true;
|
121 |
+
}
|
122 |
}
|
123 |
|
124 |
@Override
|
125 |
+
public void onBackPressed() {
|
126 |
+
if (webview.isFocused() && webview.canGoBack()) {
|
127 |
+
webview.goBack();
|
128 |
+
} else {
|
129 |
+
new AlertDialog.Builder(this)
|
130 |
+
.setTitle("EXIT")
|
131 |
+
.setMessage("You want to close this app?")
|
132 |
+
.setPositiveButton("Yes", (dialog, which) -> finish())
|
133 |
+
.setNegativeButton("No", null)
|
134 |
+
.show();
|
135 |
}
|
136 |
}
|
137 |
}
|
138 |
+
|
139 |
+
class CheckNetwork {
|
140 |
+
|
141 |
+
private static final String TAG = CheckNetwork.class.getSimpleName();
|
142 |
+
|
143 |
+
public static boolean isInternetAvailable(Context context) {
|
144 |
+
NetworkInfo info = ((ConnectivityManager)
|
145 |
+
context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
|
146 |
+
|
147 |
+
if (info == null) {
|
148 |
+
Log.d(TAG, "no internet connection");
|
149 |
+
return false;
|
150 |
+
} else {
|
151 |
+
if (info.isConnected()) {
|
152 |
+
Log.d(TAG, " internet connection available...");
|
153 |
+
return true;
|
154 |
+
} else {
|
155 |
+
Log.d(TAG, " internet connection");
|
156 |
+
return true;
|
157 |
+
}
|
158 |
+
}
|
159 |
+
}
|
160 |
+
}
|
Android App/app/src/main/java/com/jatinmehra/pdfinsightpro/SplashActivity.java
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
package com.jatinmehra.pdfinsightpro;
|
2 |
+
|
3 |
+
import androidx.appcompat.app.AppCompatActivity;
|
4 |
+
|
5 |
+
|
6 |
+
import android.content.Intent;
|
7 |
+
|
8 |
+
import android.os.Bundle;
|
9 |
+
|
10 |
+
import android.view.Window;
|
11 |
+
|
12 |
+
import android.view.WindowManager;
|
13 |
+
|
14 |
+
|
15 |
+
public class SplashActivity extends AppCompatActivity {
|
16 |
+
|
17 |
+
|
18 |
+
@Override
|
19 |
+
|
20 |
+
protected void onCreate(Bundle savedInstanceState) {
|
21 |
+
|
22 |
+
super.onCreate(savedInstanceState);
|
23 |
+
|
24 |
+
|
25 |
+
Window window = getWindow() ;
|
26 |
+
|
27 |
+
|
28 |
+
window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
29 |
+
|
30 |
+
setContentView(R.layout.activity_splash);
|
31 |
+
|
32 |
+
|
33 |
+
|
34 |
+
|
35 |
+
Thread splashTread = new Thread(){
|
36 |
+
|
37 |
+
|
38 |
+
@Override
|
39 |
+
|
40 |
+
public void run() {
|
41 |
+
|
42 |
+
try {
|
43 |
+
|
44 |
+
sleep(3000);
|
45 |
+
|
46 |
+
startActivity(new Intent(getApplicationContext(),MainActivity.class));
|
47 |
+
|
48 |
+
finish();
|
49 |
+
|
50 |
+
} catch (InterruptedException e) {
|
51 |
+
|
52 |
+
e.printStackTrace();
|
53 |
+
|
54 |
+
}
|
55 |
+
|
56 |
+
|
57 |
+
super.run();
|
58 |
+
|
59 |
+
}
|
60 |
+
|
61 |
+
};
|
62 |
+
|
63 |
+
|
64 |
+
splashTread.start();
|
65 |
+
|
66 |
+
|
67 |
+
|
68 |
+
|
69 |
+
|
70 |
+
}
|
71 |
+
|
72 |
+
|
73 |
+
}
|
Android App/app/src/main/res/layout/activity_main.xml
CHANGED
@@ -8,11 +8,15 @@
|
|
8 |
tools:context=".MainActivity">
|
9 |
|
10 |
<WebView
|
11 |
-
android:
|
12 |
-
android:
|
13 |
-
android:
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
18 |
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
8 |
tools:context=".MainActivity">
|
9 |
|
10 |
<WebView
|
11 |
+
android:layout_width="fill_parent"
|
12 |
+
android:layout_height="fill_parent"
|
13 |
+
android:id="@+id/webView"
|
14 |
+
android:layout_alignParentTop="true"
|
15 |
+
android:layout_alignParentLeft="true"
|
16 |
+
android:layout_alignParentStart="true"
|
17 |
+
android:layout_alignParentBottom="true"
|
18 |
+
android:layout_alignParentRight="true"
|
19 |
+
android:layout_alignParentEnd="true"
|
20 |
+
tools:ignore="MissingConstraints" />
|
21 |
+
|
22 |
</androidx.constraintlayout.widget.ConstraintLayout>
|
Android App/app/src/main/res/layout/activity_splash.xml
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="utf-8"?>
|
2 |
+
|
3 |
+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
4 |
+
|
5 |
+
xmlns:app="http://schemas.android.com/apk/res-auto"
|
6 |
+
|
7 |
+
xmlns:tools="http://schemas.android.com/tools"
|
8 |
+
|
9 |
+
android:layout_width="match_parent"
|
10 |
+
|
11 |
+
android:layout_height="match_parent"
|
12 |
+
|
13 |
+
android:orientation="vertical"
|
14 |
+
|
15 |
+
tools:context=".SplashActivity">
|
16 |
+
|
17 |
+
|
18 |
+
<ImageView
|
19 |
+
|
20 |
+
android:layout_width="match_parent"
|
21 |
+
|
22 |
+
android:layout_height="300dp"
|
23 |
+
|
24 |
+
android:src="@drawable/logo"
|
25 |
+
|
26 |
+
android:scaleType="centerCrop"
|
27 |
+
|
28 |
+
android:padding="100dp"
|
29 |
+
|
30 |
+
android:layout_marginTop="220dp"/>
|
31 |
+
|
32 |
+
<ProgressBar
|
33 |
+
|
34 |
+
android:layout_width="220dp"
|
35 |
+
|
36 |
+
android:layout_height="10dp"
|
37 |
+
|
38 |
+
android:layout_gravity="center_horizontal"
|
39 |
+
|
40 |
+
style="?android:attr/progressBarStyleHorizontal"
|
41 |
+
|
42 |
+
android:max="100"
|
43 |
+
|
44 |
+
android:indeterminate="true"
|
45 |
+
|
46 |
+
android:progress="0"
|
47 |
+
|
48 |
+
android:layout_marginTop="100dp"
|
49 |
+
|
50 |
+
|
51 |
+
/>
|
52 |
+
|
53 |
+
|
54 |
+
|
55 |
+
</LinearLayout>
|
Android App/app/src/main/res/values-night/themes.xml
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<resources xmlns:tools="http://schemas.android.com/tools">
|
2 |
<!-- Base application theme. -->
|
3 |
-
<style name="Theme.
|
4 |
<!-- Primary brand color. -->
|
5 |
<item name="colorPrimary">@color/purple_200</item>
|
6 |
<item name="colorPrimaryVariant">@color/purple_700</item>
|
@@ -10,7 +10,7 @@
|
|
10 |
<item name="colorSecondaryVariant">@color/teal_200</item>
|
11 |
<item name="colorOnSecondary">@color/black</item>
|
12 |
<!-- Status bar color. -->
|
13 |
-
<item name="android:statusBarColor">?attr/
|
14 |
<!-- Customize your theme here. -->
|
15 |
</style>
|
16 |
</resources>
|
|
|
1 |
<resources xmlns:tools="http://schemas.android.com/tools">
|
2 |
<!-- Base application theme. -->
|
3 |
+
<style name="Theme.PDFInsightPRO" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
4 |
<!-- Primary brand color. -->
|
5 |
<item name="colorPrimary">@color/purple_200</item>
|
6 |
<item name="colorPrimaryVariant">@color/purple_700</item>
|
|
|
10 |
<item name="colorSecondaryVariant">@color/teal_200</item>
|
11 |
<item name="colorOnSecondary">@color/black</item>
|
12 |
<!-- Status bar color. -->
|
13 |
+
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
|
14 |
<!-- Customize your theme here. -->
|
15 |
</style>
|
16 |
</resources>
|
Android App/app/src/main/res/values/ic_launcher_background.xml
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
<?xml version="1.0" encoding="utf-8"?>
|
2 |
<resources>
|
3 |
-
<color name="ic_launcher_background">#
|
4 |
</resources>
|
|
|
1 |
<?xml version="1.0" encoding="utf-8"?>
|
2 |
<resources>
|
3 |
+
<color name="ic_launcher_background">#8021B3</color>
|
4 |
</resources>
|
Android App/app/src/main/res/values/strings.xml
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
<resources>
|
2 |
-
<string name="app_name">
|
3 |
</resources>
|
|
|
1 |
<resources>
|
2 |
+
<string name="app_name">PDF-Insight-PRO</string>
|
3 |
</resources>
|
Android App/app/src/main/res/values/themes.xml
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<resources xmlns:tools="http://schemas.android.com/tools">
|
2 |
<!-- Base application theme. -->
|
3 |
-
<style name="Theme.
|
4 |
<!-- Primary brand color. -->
|
5 |
<item name="colorPrimary">@color/purple_500</item>
|
6 |
<item name="colorPrimaryVariant">@color/purple_700</item>
|
@@ -10,7 +10,7 @@
|
|
10 |
<item name="colorSecondaryVariant">@color/teal_700</item>
|
11 |
<item name="colorOnSecondary">@color/black</item>
|
12 |
<!-- Status bar color. -->
|
13 |
-
<item name="android:statusBarColor">?attr/
|
14 |
<!-- Customize your theme here. -->
|
15 |
</style>
|
16 |
</resources>
|
|
|
1 |
<resources xmlns:tools="http://schemas.android.com/tools">
|
2 |
<!-- Base application theme. -->
|
3 |
+
<style name="Theme.PDFInsightPRO" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
4 |
<!-- Primary brand color. -->
|
5 |
<item name="colorPrimary">@color/purple_500</item>
|
6 |
<item name="colorPrimaryVariant">@color/purple_700</item>
|
|
|
10 |
<item name="colorSecondaryVariant">@color/teal_700</item>
|
11 |
<item name="colorOnSecondary">@color/black</item>
|
12 |
<!-- Status bar color. -->
|
13 |
+
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
|
14 |
<!-- Customize your theme here. -->
|
15 |
</style>
|
16 |
</resources>
|
Android App/gradle.properties
CHANGED
@@ -18,5 +18,4 @@ android.useAndroidX=true
|
|
18 |
# Enables namespacing of each library's R class so that its R class includes only the
|
19 |
# resources declared in the library itself and none from the library's dependencies,
|
20 |
# thereby reducing the size of the R class for that library
|
21 |
-
android.nonTransitiveRClass=true
|
22 |
-
org.gradle.configuration-cache=true
|
|
|
18 |
# Enables namespacing of each library's R class so that its R class includes only the
|
19 |
# resources declared in the library itself and none from the library's dependencies,
|
20 |
# thereby reducing the size of the R class for that library
|
21 |
+
android.nonTransitiveRClass=true
|
|
Android App/gradle/libs.versions.toml
CHANGED
@@ -6,7 +6,7 @@ espressoCore = "3.6.1"
|
|
6 |
appcompat = "1.7.0"
|
7 |
material = "1.12.0"
|
8 |
activity = "1.9.3"
|
9 |
-
constraintlayout = "2.
|
10 |
|
11 |
[libraries]
|
12 |
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
|
|
6 |
appcompat = "1.7.0"
|
7 |
material = "1.12.0"
|
8 |
activity = "1.9.3"
|
9 |
+
constraintlayout = "2.2.0"
|
10 |
|
11 |
[libraries]
|
12 |
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
Android App/gradle/wrapper/gradle-wrapper.properties
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
#
|
2 |
distributionBase=GRADLE_USER_HOME
|
3 |
distributionPath=wrapper/dists
|
4 |
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
|
|
1 |
+
#Sun Nov 17 15:47:25 IST 2024
|
2 |
distributionBase=GRADLE_USER_HOME
|
3 |
distributionPath=wrapper/dists
|
4 |
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
Android App/settings.gradle
CHANGED
@@ -19,5 +19,5 @@ dependencyResolutionManagement {
|
|
19 |
}
|
20 |
}
|
21 |
|
22 |
-
rootProject.name = "
|
23 |
include ':app'
|
|
|
19 |
}
|
20 |
}
|
21 |
|
22 |
+
rootProject.name = "PDF-Insight-PRO"
|
23 |
include ':app'
|