Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b25d7556 authored by Stefan Niedermann's avatar Stefan Niedermann
Browse files

Merge branch 'master' into 832-nlw-to-db

# Conflicts:
#	app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidget.java
parents e8f93754 2a213355
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -13,8 +13,8 @@ android {
        applicationId "it.niedermann.owncloud.notes"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 2012001
        versionName "2.12.1"
        versionCode 2012002
        versionName "2.12.2"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

@@ -56,15 +56,15 @@ android {

dependencies {
    // Nextcloud SSO
    implementation "com.github.nextcloud:Android-SingleSignOn:0.5.0"
    implementation "com.github.nextcloud:Android-SingleSignOn:0.5.1"

    // Markdown
    implementation 'com.yydcdut:markdown-processor:0.1.3'
    implementation 'com.yydcdut:rxmarkdown-wrapper:0.1.3'

    // Glide
    implementation 'com.github.bumptech.glide:glide:4.10.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'
    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'

    // Android X
    implementation "androidx.appcompat:appcompat:1.1.0"
+19 −0
Original line number Diff line number Diff line
package it.niedermann.owncloud.notes.android;

import android.content.Context;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -27,6 +28,7 @@ import it.niedermann.owncloud.notes.model.DBNote;
import it.niedermann.owncloud.notes.model.ItemAdapter;
import it.niedermann.owncloud.notes.persistence.NoteServerSyncHelper.ViewProvider;
import it.niedermann.owncloud.notes.persistence.NotesDatabase;
import it.niedermann.owncloud.notes.util.ShareUtil;

public class MultiSelectedActionModeCallback implements Callback {

@@ -109,6 +111,23 @@ public class MultiSelectedActionModeCallback implements Callback {
            case R.id.menu_move:
                AccountChooserDialogFragment.newInstance().show(fragmentManager, NotesListViewActivity.class.getSimpleName());
                return true;
            case R.id.menu_share:
                final String subject = (adapter.getSelected().size() == 1)
                        ? ((DBNote) adapter.getItem(adapter.getSelected().get(0))).getTitle()
                        : context.getString(R.string.share_multiple, adapter.getSelected().size());
                final StringBuilder noteContents = new StringBuilder();
                for (Integer i : adapter.getSelected()) {
                    final DBNote noteWithoutContent = (DBNote) adapter.getItem(i);
                    final String tempFullNote = db.getNote(noteWithoutContent.getAccountId(), noteWithoutContent.getId()).getContent();
                    if (!TextUtils.isEmpty(tempFullNote)) {
                        if (noteContents.length() > 0) {
                            noteContents.append("\n\n");
                        }
                        noteContents.append(tempFullNote);
                    }
                }
                ShareUtil.openShareDialog(context, subject, noteContents.toString());
                return true;
            default:
                return false;
        }
+1 −1
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ public class NoteListWidget extends AppWidgetProvider {
                        PendingIntent.FLAG_UPDATE_CURRENT);

                // Launch create note activity if user taps "+" icon on header
                PendingIntent newNoteI = PendingIntent.getActivity(context, PENDING_INTENT_NEW_NOTE_RQ,
                PendingIntent newNoteI = PendingIntent.getActivity(context, (PENDING_INTENT_NEW_NOTE_RQ + appWidgetId),
                        new Intent(context, EditNoteActivity.class).putExtra(PARAM_CATEGORY, new Category(category, data.getMode() == MODE_DISPLAY_STARRED)),
                        PendingIntent.FLAG_UPDATE_CURRENT);

+2 −16
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@ import android.view.MenuItem;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.ShareActionProvider;
import androidx.core.view.MenuItemCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;

@@ -36,6 +34,7 @@ import it.niedermann.owncloud.notes.model.ISyncCallback;
import it.niedermann.owncloud.notes.model.LocalAccount;
import it.niedermann.owncloud.notes.persistence.NotesDatabase;
import it.niedermann.owncloud.notes.util.NoteUtil;
import it.niedermann.owncloud.notes.util.ShareUtil;

import static androidx.core.content.pm.ShortcutManagerCompat.isRequestPinShortcutSupported;
import static it.niedermann.owncloud.notes.android.activity.EditNoteActivity.ACTION_SHORTCUT;
@@ -195,20 +194,7 @@ public abstract class BaseNoteFragment extends Fragment implements CategoryDialo
                AccountChooserDialogFragment.newInstance().show(requireActivity().getSupportFragmentManager(), BaseNoteFragment.class.getSimpleName());
                return true;
            case R.id.menu_share:
                Intent shareIntent = new Intent();
                shareIntent.setAction(Intent.ACTION_SEND);
                shareIntent.setType("text/plain");
                shareIntent.putExtra(Intent.EXTRA_SUBJECT, note.getTitle());
                shareIntent.putExtra(Intent.EXTRA_TEXT, note.getContent());


                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    startActivity(Intent.createChooser(shareIntent, note.getTitle()));
                } else {
                    ShareActionProvider actionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(item);
                    actionProvider.setShareIntent(shareIntent);
                }

                ShareUtil.openShareDialog(requireContext(), note.getTitle(), note.getContent());
                return false;
            case MENU_ID_PIN:
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+20 −0
Original line number Diff line number Diff line
package it.niedermann.owncloud.notes.util;

import android.content.Context;
import android.content.Intent;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import static android.content.ClipDescription.MIMETYPE_TEXT_PLAIN;

public class ShareUtil {
    public static void openShareDialog(@NonNull Context context, @Nullable String subject, @Nullable String text) {
        context.startActivity(Intent.createChooser(new Intent()
                .setAction(Intent.ACTION_SEND)
                .setType(MIMETYPE_TEXT_PLAIN)
                .putExtra(Intent.EXTRA_SUBJECT, subject)
                .putExtra(Intent.EXTRA_TITLE, subject)
                .putExtra(Intent.EXTRA_TEXT, text), subject));
    }
}
Loading