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

Commit f57c1460 authored by 2bllw8's avatar 2bllw8 Committed by luca020400
Browse files

Recorder: move lastItemUri preference methods to PreferencesManager

Change-Id: I0c8eb9fe37e48d9d90939d9f2411d4e590ef8da9
parent 24337258
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ import androidx.appcompat.app.AlertDialog;

import org.lineageos.recorder.task.DeleteRecordingTask;
import org.lineageos.recorder.task.TaskExecutor;
import org.lineageos.recorder.utils.LastRecordHelper;
import org.lineageos.recorder.utils.PreferencesManager;
import org.lineageos.recorder.utils.Utils;

public class DeleteLastActivity extends ComponentActivity {
@@ -39,7 +39,9 @@ public class DeleteLastActivity extends ComponentActivity {
        mTaskExecutor = new TaskExecutor();
        getLifecycle().addObserver(mTaskExecutor);

        final Uri uri = LastRecordHelper.getLastItemUri(this);
        PreferencesManager preferences = new PreferencesManager(this);

        final Uri uri = preferences.getLastItemUri();
        if (uri == null) {
            finish();
        } else {
@@ -50,7 +52,7 @@ public class DeleteLastActivity extends ComponentActivity {
                            new DeleteRecordingTask(getContentResolver(), uri), () -> {
                                d.dismiss();
                                Utils.cancelShareNotification(this);
                                LastRecordHelper.setLastItem(this, null);
                                preferences.setLastItemUri(null);
                            }))
                    .setNegativeButton(R.string.cancel, null)
                    .setOnDismissListener(d -> finish())
+4 −4
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ import org.lineageos.recorder.task.DeleteRecordingTask;
import org.lineageos.recorder.task.GetRecordingsTask;
import org.lineageos.recorder.task.RenameRecordingTask;
import org.lineageos.recorder.task.TaskExecutor;
import org.lineageos.recorder.utils.LastRecordHelper;
import org.lineageos.recorder.utils.RecordIntentHelper;
import org.lineageos.recorder.utils.Utils;

import java.util.ArrayList;
@@ -113,12 +113,12 @@ public class ListActivity extends AppCompatActivity implements RecordingListCall

    @Override
    public void onPlay(@NonNull Uri uri) {
        startActivity(LastRecordHelper.getOpenIntent(uri, TYPE_AUDIO));
        startActivity(RecordIntentHelper.getOpenIntent(uri, TYPE_AUDIO));
    }

    @Override
    public void onShare(@NonNull Uri uri) {
        startActivity(LastRecordHelper.getShareIntent(uri, TYPE_AUDIO));
        startActivity(RecordIntentHelper.getShareIntent(uri, TYPE_AUDIO));
    }

    @Override
@@ -265,7 +265,7 @@ public class ListActivity extends AppCompatActivity implements RecordingListCall
        final ArrayList<Uri> uris = selectedItems.stream()
                .map(RecordingData::getUri)
                .collect(Collectors.toCollection(ArrayList::new));
        startActivity(LastRecordHelper.getShareIntents(uris, TYPE_AUDIO));
        startActivity(RecordIntentHelper.getShareIntents(uris, TYPE_AUDIO));
    }

    private void deleteSelectedRecordings() {
+6 −4
Original line number Diff line number Diff line
@@ -50,10 +50,10 @@ import org.lineageos.recorder.status.UiStatus;
import org.lineageos.recorder.task.DeleteRecordingTask;
import org.lineageos.recorder.task.TaskExecutor;
import org.lineageos.recorder.ui.WaveFormView;
import org.lineageos.recorder.utils.LastRecordHelper;
import org.lineageos.recorder.utils.LocationHelper;
import org.lineageos.recorder.utils.OnBoardingHelper;
import org.lineageos.recorder.utils.PermissionManager;
import org.lineageos.recorder.utils.PreferencesManager;
import org.lineageos.recorder.utils.Utils;

import java.time.LocalDateTime;
@@ -73,6 +73,7 @@ public class RecorderActivity extends AppCompatActivity {

    private LocationHelper mLocationHelper;
    private PermissionManager mPermissionManager;
    private PreferencesManager mPreferencesManager;
    private TaskExecutor mTaskExecutor;

    private boolean mReturnAudio;
@@ -165,6 +166,7 @@ public class RecorderActivity extends AppCompatActivity {

        mLocationHelper = new LocationHelper(this);
        mPermissionManager = new PermissionManager(this);
        mPreferencesManager = new PreferencesManager(this);

        mTaskExecutor = new TaskExecutor();
        getLifecycle().addObserver(mTaskExecutor);
@@ -331,17 +333,17 @@ public class RecorderActivity extends AppCompatActivity {
    }

    private void confirmLastResult() {
        Intent resultIntent = new Intent().setData(LastRecordHelper.getLastItemUri(this));
        Intent resultIntent = new Intent().setData(mPreferencesManager.getLastItemUri());
        setResult(RESULT_OK, resultIntent);
        finish();
    }

    private void discardLastResult() {
        final Uri uri = LastRecordHelper.getLastItemUri(this);
        final Uri uri = mPreferencesManager.getLastItemUri();
        if (uri != null) {
            mTaskExecutor.runTask(new DeleteRecordingTask(getContentResolver(), uri), () -> {
                Utils.cancelShareNotification(this);
                LastRecordHelper.setLastItem(this, null);
                mPreferencesManager.setLastItemUri(null);
            });
        }
        cancelResult(true);
+5 −5
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ import org.lineageos.recorder.RecorderActivity;
import org.lineageos.recorder.status.UiStatus;
import org.lineageos.recorder.task.AddRecordingToContentProviderTask;
import org.lineageos.recorder.task.TaskExecutor;
import org.lineageos.recorder.utils.LastRecordHelper;
import org.lineageos.recorder.utils.RecordIntentHelper;
import org.lineageos.recorder.utils.PreferencesManager;

import java.io.IOException;
@@ -473,20 +473,20 @@ public class SoundRecorderService extends Service {

    private Notification createShareNotification(String uri) {
        Uri fileUri = Uri.parse(uri);
        LastRecordHelper.setLastItem(this, uri);
        mPreferencesManager.setLastItemUri(uri);
        String mimeType = mRecorder.getMimeType();

        Intent intent = new Intent(this, ListActivity.class);
        PendingIntent pi = PendingIntent.getActivity(this, 0, intent,
                PendingIntent.FLAG_IMMUTABLE);
        PendingIntent playPIntent = PendingIntent.getActivity(this, 0,
                LastRecordHelper.getOpenIntent(fileUri, mimeType),
                RecordIntentHelper.getOpenIntent(fileUri, mimeType),
                PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);
        PendingIntent sharePIntent = PendingIntent.getActivity(this, 0,
                LastRecordHelper.getShareIntent(fileUri, mimeType),
                RecordIntentHelper.getShareIntent(fileUri, mimeType),
                PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);
        PendingIntent deletePIntent = PendingIntent.getActivity(this, 0,
                LastRecordHelper.getDeleteIntent(this),
                RecordIntentHelper.getDeleteIntent(this),
                PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);

        String duration = DateUtils.formatElapsedTime(mElapsedTime);
+17 −1
Original line number Diff line number Diff line
/*
 * Copyright (C) 2021 The LineageOS Project
 * Copyright (C) 2021-2022 The LineageOS Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
@@ -17,6 +17,9 @@ package org.lineageos.recorder.utils;

import android.content.Context;
import android.content.SharedPreferences;
import android.net.Uri;

import androidx.annotation.Nullable;

public final class PreferencesManager {
    private static final String PREFS = "preferences";
@@ -24,6 +27,7 @@ public final class PreferencesManager {
    private static final String PREF_RECORDING_QUALITY = "recording_quality";
    private static final String PREF_ONBOARD_SETTINGS_COUNTER = "onboard_settings";
    private static final String PREF_ONBOARD_SOUND_LIST_COUNTER = "onboard_list";
    private static final String PREF_LAST_SOUND = "sound_last_path";

    private final SharedPreferences mPreferences;

@@ -70,4 +74,16 @@ public final class PreferencesManager {
                .putInt(PREF_ONBOARD_SOUND_LIST_COUNTER, value)
                .apply();
    }

    public void setLastItemUri(String path) {
        mPreferences.edit()
                .putString(PREF_LAST_SOUND, path)
                .apply();
    }

    @Nullable
    public Uri getLastItemUri() {
        String uriStr = mPreferences.getString(PREF_LAST_SOUND, null);
        return uriStr == null ? null : Uri.parse(uriStr);
    }
}
Loading