From 9a16c9609610bd9dd7969cdc9048724ccfbdffdc Mon Sep 17 00:00:00 2001 From: steckbrief Date: Mon, 26 Nov 2018 23:56:45 +0100 Subject: first version of NextcloudShareBookmark --- .../activities/NextcloudBookmarkShareActivity.java | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 app/src/main/java/de/thedevstack/android/nextcloud/bookmark/share/activities/NextcloudBookmarkShareActivity.java (limited to 'app/src/main/java/de/thedevstack/android/nextcloud/bookmark/share/activities/NextcloudBookmarkShareActivity.java') diff --git a/app/src/main/java/de/thedevstack/android/nextcloud/bookmark/share/activities/NextcloudBookmarkShareActivity.java b/app/src/main/java/de/thedevstack/android/nextcloud/bookmark/share/activities/NextcloudBookmarkShareActivity.java new file mode 100644 index 0000000..1bba5b7 --- /dev/null +++ b/app/src/main/java/de/thedevstack/android/nextcloud/bookmark/share/activities/NextcloudBookmarkShareActivity.java @@ -0,0 +1,51 @@ +package de.thedevstack.android.nextcloud.bookmark.share.activities; + +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.support.v7.app.AppCompatActivity; +import android.text.TextUtils; + +import de.thedevstack.android.nextcloud.bookmark.share.Constants; +import de.thedevstack.android.nextcloud.bookmark.share.NextcloudBookmarkService; + +/** + */ +public class NextcloudBookmarkShareActivity extends AppCompatActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Intent intent = getIntent(); + String action = intent.getAction(); + String type = intent.getType(); + + if (Intent.ACTION_SEND.equals(action) && type != null) { // Opened via share menu + if ("text/plain".equals(type)) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(NextcloudBookmarkShareActivity.this.getApplicationContext()); + + if (!existsAndIsNotEmpty(prefs, Constants.SERVER_URL_PREFERENCE_KEY) + || !existsAndIsNotEmpty(prefs, Constants.USERNAME_PREFERENCE_KEY) + || !existsAndIsNotEmpty(prefs, Constants.PASSWORD_PREFERENCE_KEY)) { + Intent settingsActivityIntent = new Intent(this, NextcloudPreferencesActivity.class); + + String bookmarkUrl = intent.getStringExtra(Intent.EXTRA_TEXT); + String bookmarkTitle = intent.getStringExtra(Intent.EXTRA_TITLE); + + settingsActivityIntent.putExtra(Intent.EXTRA_TEXT, bookmarkUrl); + settingsActivityIntent.putExtra(Intent.EXTRA_TITLE, bookmarkTitle); + + startActivity(settingsActivityIntent); + } else { + NextcloudBookmarkService.addBookmark(this, intent); + } + } + } + this.finish(); + } + + private boolean existsAndIsNotEmpty(SharedPreferences prefs, String prefKey) { + return !TextUtils.isEmpty(prefs.getString(prefKey, "")); + } +} -- cgit v1.2.3