Jatin Mehra commited on
Commit
e9f4000
·
1 Parent(s): f4812e3

update android app fixed bugs

Browse files
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="SM-F956B" />
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 "com.jatinmehra.pdfinsightpro"
11
  minSdk 24
12
  targetSdk 34
13
- versionCode 1
14
- versionName "1.0"
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": 1,
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.pdfinsightpro", appContext.getPackageName());
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
- <!-- Internet Permission -->
6
- <uses-permission android:name="android.permission.INTERNET"/>
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="@drawable/ic_launcher_background"
19
  android:label="@string/app_name"
20
  android:roundIcon="@mipmap/ic_launcher_round"
21
  android:supportsRtl="true"
22
- android:theme="@style/Theme.PDFInsightPro"
23
  tools:targetApi="31">
24
-
25
  <activity
26
  android:name=".MainActivity"
27
- android:exported="true">
 
 
 
 
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.annotation.SuppressLint;
 
 
 
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 WebView myweb;
 
 
 
20
  private ValueCallback<Uri[]> filePathCallback;
21
 
22
- // File chooser launcher
23
- private final ActivityResultLauncher<Intent> fileChooserLauncher = registerForActivityResult(
24
- new ActivityResultContracts.StartActivityForResult(), result -> {
25
- if (filePathCallback != null) {
26
- Uri[] resultUris = null;
27
- if (result.getResultCode() == RESULT_OK && result.getData() != null) {
28
- resultUris = new Uri[]{result.getData().getData()};
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
- // Initialize WebView
43
- myweb = findViewById(R.id.myweb);
44
- myweb.getSettings().setJavaScriptEnabled(true);
45
-
46
- // Set WebViewClient to handle all URL navigation
47
- myweb.setWebViewClient(new WebViewClient() {
48
- @Override
49
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
50
- // Handle mailto links
51
- if (url.startsWith("mailto:")) {
52
- Intent intent = new Intent(Intent.ACTION_SENDTO);
53
- intent.setData(Uri.parse(url)); // Open the default email app
54
- startActivity(intent);
55
- return true;
56
- }
57
- return super.shouldOverrideUrlLoading(view, url);
 
 
 
 
 
 
 
58
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  });
 
60
 
61
- // Set WebChromeClient to handle file chooser requests
62
- myweb.setWebChromeClient(new WebChromeClient() {
63
- @Override
64
- public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
65
- // Store the callback and open the file picker
66
- MainActivity.this.filePathCallback = filePathCallback;
67
- Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
68
- intent.addCategory(Intent.CATEGORY_OPENABLE);
69
- intent.setType("application/pdf"); // Ensure PDF files are picked
70
- fileChooserLauncher.launch(intent);
71
- return true;
 
 
72
  }
73
- });
74
 
75
- // Load your Streamlit app URL
76
- myweb.loadUrl("https://jatinmehra-pdf-insight-pro.hf.space");
 
 
 
 
 
 
 
 
77
  }
78
 
79
  @Override
80
- protected void onDestroy() {
81
- super.onDestroy();
82
- // Clean up the filePathCallback to avoid memory leaks
83
- if (filePathCallback != null) {
84
- filePathCallback.onReceiveValue(null);
85
- filePathCallback = null;
 
 
 
 
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:id="@+id/myweb"
12
- android:layout_width="match_parent"
13
- android:layout_height="match_parent"
14
- app:layout_constraintBottom_toBottomOf="parent"
15
- app:layout_constraintEnd_toEndOf="parent"
16
- app:layout_constraintStart_toStartOf="parent"
17
- app:layout_constraintTop_toTopOf="parent" />
 
 
 
 
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.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,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/colorOnPrimary</item>
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">#8315C0</color>
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">PDFInsightPro</string>
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.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,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/colorOnPrimary</item>
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.1.4"
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
- #Wed Nov 06 23:19:05 IST 2024
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 = "PDFInsightPro"
23
  include ':app'
 
19
  }
20
  }
21
 
22
+ rootProject.name = "PDF-Insight-PRO"
23
  include ':app'