From 36c05051154b8079df19d8b8edbe2989d0064341 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 17 Jul 2018 15:33:31 +0200 Subject: [PATCH] add Share button to install history viewer closes #1484 closes #1224 closes #70 --- .../fdroid/views/InstallHistoryActivity.java | 24 +++++++++++++++++++ app/src/main/res/menu/install_history.xml | 9 +++++-- app/src/main/res/values/strings.xml | 2 ++ 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/views/InstallHistoryActivity.java b/app/src/main/java/org/fdroid/fdroid/views/InstallHistoryActivity.java index 6d550baa1..b513b8c8b 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/InstallHistoryActivity.java +++ b/app/src/main/java/org/fdroid/fdroid/views/InstallHistoryActivity.java @@ -21,9 +21,11 @@ package org.fdroid.fdroid.views; import android.content.ContentResolver; +import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.os.ParcelFileDescriptor; +import android.support.v4.app.ShareCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; @@ -31,6 +33,8 @@ import android.view.MenuItem; import android.widget.TextView; import org.apache.commons.io.IOUtils; import org.fdroid.fdroid.R; +import org.fdroid.fdroid.data.Repo; +import org.fdroid.fdroid.data.RepoProvider; import org.fdroid.fdroid.installer.InstallHistoryService; import java.io.FileDescriptor; @@ -81,6 +85,26 @@ public class InstallHistoryActivity extends AppCompatActivity { public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { + case R.id.menu_share: + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("Repos:\n"); + for (Repo repo : RepoProvider.Helper.all(this)) { + if (repo.inuse) { + stringBuilder.append("* "); + stringBuilder.append(repo.address); + stringBuilder.append('\n'); + } + } + ShareCompat.IntentBuilder intentBuilder = ShareCompat.IntentBuilder.from(this) + .setStream(InstallHistoryService.LOG_URI) + .setSubject(getString(R.string.send_history_csv, getString(R.string.app_name))) + .setChooserTitle(R.string.send_install_history) + .setText(stringBuilder.toString()) + .setType("text/plain"); + Intent intent = intentBuilder.getIntent(); + intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + startActivity(intent); + break; case R.id.menu_delete: getContentResolver().delete(InstallHistoryService.LOG_URI, null, null); TextView textView = findViewById(R.id.text); diff --git a/app/src/main/res/menu/install_history.xml b/app/src/main/res/menu/install_history.xml index 7dd18dbb9..565a0e15a 100644 --- a/app/src/main/res/menu/install_history.xml +++ b/app/src/main/res/menu/install_history.xml @@ -1,7 +1,12 @@ - + + \ 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 0520b5e25..4169e1415 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -24,6 +24,8 @@ Prevent all actions from showing in the status bar and notification drawer. + Send Install History + %s install history as CSV file Install history View the private log of all installs and uninstalls Keep install history