diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 21368743..ae4fa8e1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -52,6 +52,11 @@
android:label="@string/title_activity_settings"
android:launchMode="singleTop"
android:parentActivityName=".activities.MainActivity" />
+
.
+ *
+ * Copyright 2020-21 - Emanuele Faranda
+ */
+
+package com.emanuelef.remote_capture.activities;
+
+import android.os.Bundle;
+import android.text.Html;
+import android.text.method.LinkMovementMethod;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.emanuelef.remote_capture.R;
+import com.emanuelef.remote_capture.Utils;
+
+public class AboutActivity extends AppCompatActivity {
+ private static final String TAG = "AboutActivity";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.about_activity);
+
+ TextView appVersion = findViewById(R.id.app_version);
+ appVersion.setText(getString(R.string.app_name) + " " + Utils.getAppVersion(this));
+
+ TextView gplLicense = findViewById(R.id.app_license_link);
+ String localized = gplLicense.getText().toString();
+ gplLicense.setText(Html.fromHtml("" + localized + ""));
+ gplLicense.setMovementMethod(LinkMovementMethod.getInstance());
+ }
+}
diff --git a/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java b/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java
index 772d08cb..43165f00 100644
--- a/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java
+++ b/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java
@@ -24,8 +24,6 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
import android.database.Cursor;
import android.net.Uri;
import android.net.VpnService;
@@ -188,21 +186,13 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
navView.setNavigationItemSelectedListener(this);
View header = navView.getHeaderView(0);
- try {
- PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
- String version = pInfo.versionName;
- boolean isRelease = version.contains(".");
- final String verStr = isRelease ? ("v" + version) : version;
- TextView appVer = header.findViewById(R.id.app_version);
-
- appVer.setText(verStr);
- appVer.setOnClickListener((ev) -> {
- Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(GITHUB_PROJECT_URL + "/tree/" + verStr));
- startActivity(browserIntent);
- });
- } catch (PackageManager.NameNotFoundException e) {
- Log.e(TAG, "Could not retrieve package version");
- }
+ TextView appVer = header.findViewById(R.id.app_version);
+ String verStr = Utils.getAppVersion(this);
+ appVer.setText(verStr);
+ appVer.setOnClickListener((ev) -> {
+ Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(GITHUB_PROJECT_URL + "/tree/" + verStr));
+ startActivity(browserIntent);
+ });
}
@Override
@@ -327,6 +317,19 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
startActivity(intent);
} else
Utils.showToast(this, R.string.capture_not_started);
+ } else if (id == R.id.action_about) {
+ Intent intent = new Intent(MainActivity.this, AboutActivity.class);
+ startActivity(intent);
+ } else if (id == R.id.action_share_app) {
+ String description = getString(R.string.about_text);
+ String getApp = getString(R.string.get_app);
+ String url = "http://play.google.com/store/apps/details?id=" + this.getPackageName();
+
+ Intent intent = new Intent(android.content.Intent.ACTION_SEND);
+ intent.setType("text/plain");
+ intent.putExtra(android.content.Intent.EXTRA_TEXT, description + "\n" + getApp + "\n" + url);
+
+ startActivity(Intent.createChooser(intent, getResources().getString(R.string.share)));
}
return false;
diff --git a/app/src/main/res/drawable/ic_copyright.xml b/app/src/main/res/drawable/ic_copyright.xml
new file mode 100644
index 00000000..b542c98d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_copyright.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/about_activity.xml b/app/src/main/res/layout/about_activity.xml
new file mode 100644
index 00000000..5640395a
--- /dev/null
+++ b/app/src/main/res/layout/about_activity.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/nav_items.xml b/app/src/main/res/menu/nav_items.xml
index 50d5a92a..c0aaca90 100644
--- a/app/src/main/res/menu/nav_items.xml
+++ b/app/src/main/res/menu/nav_items.xml
@@ -19,6 +19,10 @@
android:id="@+id/action_rate_app"
android:title="@string/rate_app"
android:icon="@drawable/ic_star" />
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fa1c7353..dc5ca3c7 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,6 @@
PCAPdroid
+ Copyright (C) 2020-21 - Emanuele Faranda black.silver@hotmail.it
Start
Stop
Settings
@@ -59,9 +60,9 @@
PCAP Dump
TLS Decryption
User Guide
- Rate App
+ Rate
Telegram Group
- Github Project
+ Source Code
YES
NO
The currently active VPN app will be disconnected. Do you want to proceed?
@@ -112,5 +113,9 @@
Save to file
File successfully saved
%1$d older connections not shown
+ PCAPdroid is an open source network capture and monitoring tool which works without root privileges.
+ PCAPdroid is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ GPLv3 License
+ Get it: