mirror of https://github.com/nextcloud/android
Merge pull request #12287 from nextcloud/refactor/remove-deprecated-argument-passing
Replace Deprecated Argument Passing
This commit is contained in:
commit
f430bf18c5
|
@ -34,8 +34,6 @@ import org.junit.rules.TestRule;
|
|||
|
||||
import androidx.test.espresso.intent.rule.IntentsTestRule;
|
||||
|
||||
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
||||
|
||||
|
||||
public class AuthenticatorActivityIT extends AbstractIT {
|
||||
private static final String URL = "cloud.nextcloud.com";
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
package com.nextcloud.client.migrations
|
||||
|
||||
import android.content.SharedPreferences
|
||||
import java.lang.UnsupportedOperationException
|
||||
import java.util.TreeMap
|
||||
|
||||
/**
|
||||
|
|
|
@ -34,7 +34,6 @@ import com.owncloud.android.R
|
|||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.AdditionalMatchers.not
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class LauncherActivityIT : AbstractIT() {
|
||||
|
|
|
@ -25,7 +25,6 @@ import android.content.ContentValues
|
|||
import com.owncloud.android.db.ProviderMeta
|
||||
import com.owncloud.android.utils.MimeTypeUtil
|
||||
import org.junit.Test
|
||||
import java.lang.IllegalArgumentException
|
||||
|
||||
@Suppress("FunctionNaming")
|
||||
class FileContentProviderVerificationIT {
|
||||
|
|
|
@ -27,10 +27,10 @@ import android.accounts.AccountManager;
|
|||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.nextcloud.test.RetryTestRule;
|
||||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.account.UserAccountManager;
|
||||
import com.nextcloud.client.account.UserAccountManagerImpl;
|
||||
import com.nextcloud.test.RetryTestRule;
|
||||
import com.owncloud.android.AbstractIT;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
|
|
|
@ -92,7 +92,6 @@ import androidx.activity.result.contract.ActivityResultContract;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.test.espresso.intent.rule.IntentsTestRule;
|
||||
import androidx.test.rule.GrantPermissionRule;
|
||||
import kotlin.Unit;
|
||||
|
||||
import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
|
||||
package com.owncloud.android.util;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ import com.nextcloud.client.network.ClientFactory
|
|||
import com.nextcloud.client.network.ConnectivityService
|
||||
import com.nextcloud.client.notifications.AppNotificationManager
|
||||
import com.nextcloud.utils.ForegroundServiceHelper
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager
|
||||
import com.owncloud.android.datamodel.ForegroundServiceType
|
||||
import com.owncloud.android.datamodel.UploadsStorageManager
|
||||
|
@ -117,7 +118,7 @@ class FileTransferService : Service() {
|
|||
)
|
||||
}
|
||||
|
||||
val request: Request = intent.getParcelableExtra(EXTRA_REQUEST)!!
|
||||
val request: Request = intent.getParcelableArgument(EXTRA_REQUEST, Request::class.java)!!
|
||||
val transferManager = getTransferManager(request.user)
|
||||
transferManager.enqueue(request)
|
||||
|
||||
|
@ -127,12 +128,8 @@ class FileTransferService : Service() {
|
|||
}
|
||||
|
||||
override fun onBind(intent: Intent?): IBinder? {
|
||||
val user = intent?.getParcelableExtra<User>(EXTRA_USER)
|
||||
if (user != null) {
|
||||
return Binder(getTransferManager(user), this)
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
val user = intent?.getParcelableArgument(EXTRA_USER, User::class.java) ?: return null
|
||||
return Binder(getTransferManager(user), this)
|
||||
}
|
||||
|
||||
private fun onTransferUpdate(transfer: Transfer) {
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
package com.nextcloud.client.files.downloader
|
||||
|
||||
import com.owncloud.android.datamodel.OCFile
|
||||
import java.util.LinkedHashMap
|
||||
import java.util.UUID
|
||||
import kotlin.math.max
|
||||
import kotlin.math.min
|
||||
|
|
|
@ -32,6 +32,7 @@ import androidx.core.app.NotificationCompat
|
|||
import com.nextcloud.client.account.User
|
||||
import com.nextcloud.client.network.ClientFactory
|
||||
import com.nextcloud.utils.ForegroundServiceHelper
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.datamodel.ForegroundServiceType
|
||||
import com.owncloud.android.datamodel.OCFile
|
||||
|
@ -144,8 +145,8 @@ class PlayerService : Service() {
|
|||
}
|
||||
|
||||
private fun onActionPlay(intent: Intent) {
|
||||
val user: User = intent.getParcelableExtra(EXTRA_USER)!!
|
||||
val file: OCFile = intent.getParcelableExtra(EXTRA_FILE)!!
|
||||
val user: User = intent.getParcelableArgument(EXTRA_USER, User::class.java)!!
|
||||
val file: OCFile = intent.getParcelableArgument(EXTRA_FILE, OCFile::class.java)!!
|
||||
val startPos = intent.getLongExtra(EXTRA_START_POSITION_MS, 0)
|
||||
val autoPlay = intent.getBooleanExtra(EXTRA_AUTO_PLAY, true)
|
||||
val item = PlaylistItem(file = file, startPositionMs = startPos, autoPlay = autoPlay, user = user)
|
||||
|
@ -157,7 +158,8 @@ class PlayerService : Service() {
|
|||
}
|
||||
|
||||
private fun onActionStopFile(args: Bundle?) {
|
||||
val file: OCFile = args?.getParcelable(EXTRA_FILE) ?: throw IllegalArgumentException("Missing file argument")
|
||||
val file: OCFile = args?.getParcelableArgument(EXTRA_FILE, OCFile::class.java)
|
||||
?: throw IllegalArgumentException("Missing file argument")
|
||||
stopServiceAndRemoveNotification(file)
|
||||
}
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@ import android.os.IBinder
|
|||
import android.widget.MediaController
|
||||
import com.nextcloud.client.account.User
|
||||
import com.owncloud.android.datamodel.OCFile
|
||||
import java.lang.IllegalStateException
|
||||
|
||||
@Suppress("TooManyFunctions") // implementing large interface
|
||||
class PlayerServiceConnection(private val context: Context) : MediaController.MediaPlayerControl {
|
||||
|
|
|
@ -22,7 +22,6 @@ package com.nextcloud.client.network;
|
|||
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.os.Build;
|
||||
|
||||
import com.nextcloud.client.account.UserAccountManager;
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ import com.nextcloud.client.account.User
|
|||
import com.nextcloud.client.account.UserAccountManager
|
||||
import com.nextcloud.client.di.Injectable
|
||||
import com.nextcloud.client.network.ClientFactory
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.databinding.DialogChooseAccountBinding
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager
|
||||
|
@ -76,7 +77,7 @@ class ChooseAccountDialogFragment :
|
|||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
arguments?.let {
|
||||
currentUser = it.getParcelable(ARG_CURRENT_USER_PARAM)
|
||||
currentUser = it.getParcelableArgument(ARG_CURRENT_USER_PARAM, User::class.java)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ import com.nextcloud.android.common.ui.theme.utils.ColorRole
|
|||
import com.nextcloud.client.NominatimClient
|
||||
import com.nextcloud.client.account.User
|
||||
import com.nextcloud.client.di.Injectable
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.MainApp
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.databinding.PreviewImageDetailsFragmentBinding
|
||||
|
@ -95,13 +96,13 @@ class ImageDetailFragment : Fragment(), Injectable {
|
|||
)
|
||||
|
||||
val arguments = arguments ?: throw IllegalStateException("arguments are mandatory")
|
||||
file = arguments.getParcelable(ARG_FILE)!!
|
||||
user = arguments.getParcelable(ARG_USER)!!
|
||||
file = arguments.getParcelableArgument(ARG_FILE, OCFile::class.java)!!
|
||||
user = arguments.getParcelableArgument(ARG_USER, User::class.java)!!
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
file = savedInstanceState.getParcelable(ARG_FILE)!!
|
||||
user = savedInstanceState.getParcelable(ARG_USER)!!
|
||||
metadata = savedInstanceState.getParcelable(ARG_METADATA)!!
|
||||
file = savedInstanceState.getParcelableArgument(ARG_FILE, OCFile::class.java)!!
|
||||
user = savedInstanceState.getParcelableArgument(ARG_USER, User::class.java)!!
|
||||
metadata = savedInstanceState.getParcelableArgument(ARG_METADATA, ImageMetadata::class.java)!!
|
||||
}
|
||||
|
||||
nominatimClient = NominatimClient(
|
||||
|
|
|
@ -46,6 +46,7 @@ import com.nextcloud.client.account.UserAccountManager
|
|||
import com.nextcloud.client.core.AsyncRunner
|
||||
import com.nextcloud.client.di.Injectable
|
||||
import com.nextcloud.client.network.ClientFactory
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.databinding.DialogSetStatusBinding
|
||||
import com.owncloud.android.datamodel.ArbitraryDataProvider
|
||||
|
@ -119,8 +120,8 @@ class SetStatusDialogFragment :
|
|||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
arguments?.let {
|
||||
currentUser = it.getParcelable(ARG_CURRENT_USER_PARAM)
|
||||
currentStatus = it.getParcelable(ARG_CURRENT_STATUS_PARAM)
|
||||
currentUser = it.getParcelableArgument(ARG_CURRENT_USER_PARAM, User::class.java)
|
||||
currentStatus = it.getParcelableArgument(ARG_CURRENT_STATUS_PARAM, Status::class.java)
|
||||
|
||||
val json = arbitraryDataProvider.getValue(currentUser, ArbitraryDataProvider.PREDEFINED_STATUS)
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ fun <T : Serializable?> Bundle.getSerializableArgument(key: String, type: Class<
|
|||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
this.getSerializable(key, type)
|
||||
} else {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
@Suppress("UNCHECKED_CAST", "DEPRECATION")
|
||||
this.getSerializable(key) as T
|
||||
}
|
||||
}
|
||||
|
@ -39,6 +39,7 @@ fun <T : Parcelable?> Bundle.getParcelableArgument(key: String, type: Class<T>):
|
|||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
this.getParcelable(key, type)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
this.getParcelable(key)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* Nextcloud Android client application
|
||||
*
|
||||
* @author Alper Ozturk
|
||||
* Copyright (C) 2023 Alper Ozturk
|
||||
* Copyright (C) 2023 Nextcloud GmbH
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.nextcloud.utils.extensions
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.os.Parcelable
|
||||
import java.io.Serializable
|
||||
|
||||
fun <T : Serializable?> Intent.getSerializableArgument(key: String, type: Class<T>): T? {
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
this.getSerializableExtra(key, type)
|
||||
} else {
|
||||
@Suppress("UNCHECKED_CAST", "DEPRECATION")
|
||||
this.getSerializableExtra(key) as T
|
||||
}
|
||||
}
|
||||
|
||||
fun <T : Parcelable?> Intent.getParcelableArgument(key: String, type: Class<T>): T? {
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
this.getParcelableExtra(key, type)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
this.getParcelableExtra(key)
|
||||
}
|
||||
}
|
|
@ -20,6 +20,8 @@ import android.accounts.AccountAuthenticatorResponse;
|
|||
import android.accounts.AccountManager;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
/*
|
||||
|
@ -59,7 +61,9 @@ public abstract class AccountAuthenticatorActivity extends AppCompatActivity {
|
|||
super.onCreate(savedInstanceState);
|
||||
|
||||
mAccountAuthenticatorResponse =
|
||||
getIntent().getParcelableExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE);
|
||||
IntentExtensionsKt.getParcelableArgument(getIntent(),
|
||||
AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE,
|
||||
AccountAuthenticatorResponse.class);
|
||||
|
||||
if (mAccountAuthenticatorResponse != null) {
|
||||
mAccountAuthenticatorResponse.onRequestContinued();
|
||||
|
|
|
@ -60,6 +60,7 @@ import android.os.Bundle;
|
|||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.AndroidRuntimeException;
|
||||
import android.view.KeyEvent;
|
||||
|
@ -86,6 +87,7 @@ import com.nextcloud.client.onboarding.FirstRunActivity;
|
|||
import com.nextcloud.client.onboarding.OnboardingService;
|
||||
import com.nextcloud.client.preferences.AppPreferences;
|
||||
import com.nextcloud.java.util.Optional;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.AccountSetupBinding;
|
||||
|
@ -142,6 +144,7 @@ import androidx.annotation.ColorInt;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
@ -284,11 +287,12 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
|
|||
|
||||
// Workaround, for fixing a problem with Android Library Support v7 19
|
||||
//getWindow().requestFeature(Window.FEATURE_NO_TITLE);
|
||||
if (getSupportActionBar() != null) {
|
||||
getSupportActionBar().hide();
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
|
||||
getSupportActionBar().setDisplayShowHomeEnabled(false);
|
||||
getSupportActionBar().setDisplayShowTitleEnabled(false);
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
if (actionBar != null) {
|
||||
actionBar.hide();
|
||||
actionBar.setDisplayHomeAsUpEnabled(false);
|
||||
actionBar.setDisplayShowHomeEnabled(false);
|
||||
actionBar.setDisplayShowTitleEnabled(false);
|
||||
}
|
||||
|
||||
mIsFirstAuthAttempt = true;
|
||||
|
@ -302,7 +306,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
|
|||
Bundle extras = getIntent().getExtras();
|
||||
|
||||
if (extras != null) {
|
||||
mAccount = extras.getParcelable(EXTRA_ACCOUNT);
|
||||
mAccount = BundleExtensionsKt.getParcelableArgument(extras, EXTRA_ACCOUNT, Account.class);
|
||||
}
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
|
@ -763,9 +767,11 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
|
|||
|
||||
private void checkOcServer() {
|
||||
String uri;
|
||||
if (accountSetupBinding != null && accountSetupBinding.hostUrlInput.getText() != null &&
|
||||
!accountSetupBinding.hostUrlInput.getText().toString().isEmpty()) {
|
||||
uri = accountSetupBinding.hostUrlInput.getText().toString().trim();
|
||||
Editable hostUrlInput = accountSetupBinding.hostUrlInput.getText();
|
||||
|
||||
if (accountSetupBinding != null && hostUrlInput != null &&
|
||||
!hostUrlInput.toString().isEmpty()) {
|
||||
uri = hostUrlInput.toString().trim();
|
||||
} else {
|
||||
uri = mServerInfo.mBaseUrl;
|
||||
}
|
||||
|
|
|
@ -1208,7 +1208,12 @@ public class FileDataStorageManager {
|
|||
ContentValues contentValues = new ContentValues();
|
||||
contentValues.put(ProviderTableMeta.OCSHARES_FILE_SOURCE, share.getFileSource());
|
||||
contentValues.put(ProviderTableMeta.OCSHARES_ITEM_SOURCE, share.getItemSource());
|
||||
contentValues.put(ProviderTableMeta.OCSHARES_SHARE_TYPE, share.getShareType().getValue());
|
||||
|
||||
ShareType shareType = share.getShareType();
|
||||
if (shareType != null) {
|
||||
contentValues.put(ProviderTableMeta.OCSHARES_SHARE_TYPE, shareType.getValue());
|
||||
}
|
||||
|
||||
contentValues.put(ProviderTableMeta.OCSHARES_SHARE_WITH, share.getShareWith());
|
||||
contentValues.put(ProviderTableMeta.OCSHARES_PATH, share.getPath());
|
||||
contentValues.put(ProviderTableMeta.OCSHARES_PERMISSIONS, share.getPermissions());
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
*/
|
||||
package com.owncloud.android.datamodel;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
|
|
|
@ -83,7 +83,6 @@ import java.util.List;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
|
||||
import kotlin.text.Charsets;
|
||||
|
|
|
@ -43,6 +43,7 @@ import com.nextcloud.client.account.UserAccountManager;
|
|||
import com.nextcloud.client.files.downloader.DownloadTask;
|
||||
import com.nextcloud.java.util.Optional;
|
||||
import com.nextcloud.utils.ForegroundServiceHelper;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.authentication.AuthenticatorActivity;
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||
|
@ -208,13 +209,13 @@ public class FileDownloader extends Service
|
|||
Log_OC.e(TAG, "Not enough information provided in intent");
|
||||
return START_NOT_STICKY;
|
||||
} else {
|
||||
final User user = intent.getParcelableExtra(EXTRA_USER);
|
||||
final OCFile file = intent.getParcelableExtra(EXTRA_FILE);
|
||||
final User user = IntentExtensionsKt.getParcelableArgument(intent, EXTRA_USER, User.class);
|
||||
final OCFile file = IntentExtensionsKt.getParcelableArgument(intent, EXTRA_FILE, OCFile.class);
|
||||
final String behaviour = intent.getStringExtra(OCFileListFragment.DOWNLOAD_BEHAVIOUR);
|
||||
|
||||
DownloadType downloadType = DownloadType.DOWNLOAD;
|
||||
if (intent.hasExtra(DOWNLOAD_TYPE)) {
|
||||
downloadType = (DownloadType) intent.getSerializableExtra(DOWNLOAD_TYPE);
|
||||
downloadType = IntentExtensionsKt.getSerializableArgument(intent, DOWNLOAD_TYPE, DownloadType.class);
|
||||
}
|
||||
String activityName = intent.getStringExtra(SendShareDialog.ACTIVITY_NAME);
|
||||
String packageName = intent.getStringExtra(SendShareDialog.PACKAGE_NAME);
|
||||
|
|
|
@ -59,6 +59,7 @@ import com.nextcloud.client.network.ConnectivityService;
|
|||
import com.nextcloud.client.utils.FileUploaderDelegate;
|
||||
import com.nextcloud.java.util.Optional;
|
||||
import com.nextcloud.utils.ForegroundServiceHelper;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.authentication.AuthenticatorActivity;
|
||||
|
@ -329,7 +330,7 @@ public class FileUploader extends Service
|
|||
return Service.START_NOT_STICKY;
|
||||
}
|
||||
|
||||
final Account account = intent.getParcelableExtra(KEY_ACCOUNT);
|
||||
final Account account = IntentExtensionsKt.getParcelableArgument(intent, KEY_ACCOUNT, Account.class);
|
||||
if (account == null) {
|
||||
return Service.START_NOT_STICKY;
|
||||
}
|
||||
|
@ -436,7 +437,7 @@ public class FileUploader extends Service
|
|||
}
|
||||
// at this point variable "OCFile[] files" is loaded correctly.
|
||||
|
||||
NameCollisionPolicy nameCollisionPolicy = (NameCollisionPolicy) intent.getSerializableExtra(KEY_NAME_COLLISION_POLICY);
|
||||
NameCollisionPolicy nameCollisionPolicy = IntentExtensionsKt.getSerializableArgument(intent, KEY_NAME_COLLISION_POLICY, NameCollisionPolicy.class);
|
||||
if (nameCollisionPolicy == null) {
|
||||
nameCollisionPolicy = NameCollisionPolicy.DEFAULT;
|
||||
}
|
||||
|
@ -543,7 +544,8 @@ public class FileUploader extends Service
|
|||
private void retryUploads(Intent intent, User user, List<String> requestedUploads) {
|
||||
boolean onWifiOnly;
|
||||
boolean whileChargingOnly;
|
||||
OCUpload upload = intent.getParcelableExtra(KEY_RETRY_UPLOAD);
|
||||
|
||||
OCUpload upload = IntentExtensionsKt.getParcelableArgument(intent, KEY_RETRY_UPLOAD, OCUpload.class);
|
||||
|
||||
onWifiOnly = upload.isUseWifiOnly();
|
||||
whileChargingOnly = upload.isWhileChargingOnly();
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
|
||||
package com.owncloud.android.operations;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.accounts.AccountManager;
|
||||
import android.content.Context;
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ import android.util.Pair;
|
|||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.account.UserAccountManager;
|
||||
import com.nextcloud.java.util.Optional;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
|
@ -190,7 +191,8 @@ public class OperationsService extends Service {
|
|||
Log_OC.e(TAG, "Not enough information provided in intent");
|
||||
return START_NOT_STICKY;
|
||||
}
|
||||
Account account = intent.getParcelableExtra(EXTRA_ACCOUNT);
|
||||
|
||||
Account account = IntentExtensionsKt.getParcelableArgument(intent, EXTRA_ACCOUNT, Account.class);
|
||||
String remotePath = intent.getStringExtra(EXTRA_REMOTE_PATH);
|
||||
|
||||
Pair<Account, String> itemSyncKey = new Pair<>(account, remotePath);
|
||||
|
@ -497,7 +499,7 @@ public class OperationsService extends Service {
|
|||
Log_OC.e(TAG, "Not enough information provided in intent");
|
||||
|
||||
} else {
|
||||
Account account = operationIntent.getParcelableExtra(EXTRA_ACCOUNT);
|
||||
Account account = IntentExtensionsKt.getParcelableArgument(operationIntent, EXTRA_ACCOUNT, Account.class);
|
||||
User user = toUser(account);
|
||||
String serverUrl = operationIntent.getStringExtra(EXTRA_SERVER_URL);
|
||||
target = new Target(account, (serverUrl == null) ? null : Uri.parse(serverUrl));
|
||||
|
@ -590,7 +592,7 @@ public class OperationsService extends Service {
|
|||
case ACTION_CREATE_SHARE_WITH_SHAREE:
|
||||
remotePath = operationIntent.getStringExtra(EXTRA_REMOTE_PATH);
|
||||
String shareeName = operationIntent.getStringExtra(EXTRA_SHARE_WITH);
|
||||
shareType = (ShareType) operationIntent.getSerializableExtra(EXTRA_SHARE_TYPE);
|
||||
shareType = IntentExtensionsKt.getSerializableArgument(operationIntent, EXTRA_SHARE_TYPE, ShareType.class);
|
||||
int permissions = operationIntent.getIntExtra(EXTRA_SHARE_PERMISSIONS, -1);
|
||||
String noteMessage = operationIntent.getStringExtra(EXTRA_SHARE_NOTE);
|
||||
String sharePassword = operationIntent.getStringExtra(EXTRA_SHARE_PASSWORD);
|
||||
|
@ -672,7 +674,7 @@ public class OperationsService extends Service {
|
|||
|
||||
case ACTION_REMOVE:
|
||||
// Remove file or folder
|
||||
OCFile file = operationIntent.getParcelableExtra(EXTRA_FILE);
|
||||
OCFile file = IntentExtensionsKt.getParcelableArgument(operationIntent, EXTRA_FILE, OCFile.class);
|
||||
boolean onlyLocalCopy = operationIntent.getBooleanExtra(EXTRA_REMOVE_ONLY_LOCAL, false);
|
||||
boolean inBackground = operationIntent.getBooleanExtra(EXTRA_IN_BACKGROUND, false);
|
||||
operation = new RemoveFileOperation(file,
|
||||
|
@ -729,7 +731,7 @@ public class OperationsService extends Service {
|
|||
break;
|
||||
|
||||
case ACTION_RESTORE_VERSION:
|
||||
FileVersion fileVersion = operationIntent.getParcelableExtra(EXTRA_FILE_VERSION);
|
||||
FileVersion fileVersion = IntentExtensionsKt.getParcelableArgument(operationIntent, EXTRA_FILE_VERSION, FileVersion.class);
|
||||
operation = new RestoreFileVersionRemoteOperation(fileVersion.getLocalId(),
|
||||
fileVersion.getFileName());
|
||||
break;
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
*/
|
||||
package com.owncloud.android.ui.activities.data.activities;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.accounts.AuthenticatorException;
|
||||
import android.accounts.OperationCanceledException;
|
||||
import android.content.Context;
|
||||
|
|
|
@ -78,7 +78,7 @@ class ConflictsResolveActivity : FileActivity(), OnConflictDecisionMadeListener
|
|||
localBehaviour = savedInstanceState.getInt(EXTRA_LOCAL_BEHAVIOUR)
|
||||
} else {
|
||||
conflictUploadId = intent.getLongExtra(EXTRA_CONFLICT_UPLOAD_ID, -1)
|
||||
existingFile = intent.getParcelableExtra(EXTRA_EXISTING_FILE)
|
||||
existingFile = intent.getParcelableArgument(EXTRA_EXISTING_FILE, OCFile::class.java)
|
||||
localBehaviour = intent.getIntExtra(EXTRA_LOCAL_BEHAVIOUR, localBehaviour)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ import android.os.Bundle;
|
|||
|
||||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.jobs.BackgroundJobManager;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
import com.owncloud.android.ui.fragment.FileFragment;
|
||||
|
@ -104,13 +105,14 @@ public class ContactsPreferenceActivity extends FileActivity implements FileFrag
|
|||
Intent intent = getIntent();
|
||||
if (savedInstanceState == null) {
|
||||
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
|
||||
if (intent == null || intent.getParcelableExtra(EXTRA_FILE) == null ||
|
||||
intent.getParcelableExtra(EXTRA_USER) == null) {
|
||||
if (intent == null ||
|
||||
IntentExtensionsKt.getParcelableArgument(intent, EXTRA_FILE, OCFile.class) == null ||
|
||||
IntentExtensionsKt.getParcelableArgument(intent, EXTRA_USER, User.class) == null) {
|
||||
BackupFragment fragment = BackupFragment.create(showSidebar);
|
||||
transaction.add(R.id.frame_container, fragment);
|
||||
} else {
|
||||
OCFile file = intent.getParcelableExtra(EXTRA_FILE);
|
||||
User user = intent.getParcelableExtra(EXTRA_USER);
|
||||
OCFile file = IntentExtensionsKt.getParcelableArgument(intent, EXTRA_FILE, OCFile.class);
|
||||
User user = IntentExtensionsKt.getParcelableArgument(intent, EXTRA_USER, User.class);
|
||||
BackupListFragment contactListFragment = BackupListFragment.newInstance(file, user);
|
||||
transaction.add(R.id.frame_container, contactListFragment);
|
||||
}
|
||||
|
|
|
@ -40,8 +40,8 @@ import android.widget.Toast;
|
|||
|
||||
import com.google.android.material.snackbar.Snackbar;
|
||||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.preferences.DarkMode;
|
||||
import com.nextcloud.java.util.Optional;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.RichdocumentsWebviewBinding;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
|
@ -144,7 +144,7 @@ public abstract class EditorWebView extends ExternalSiteWebView {
|
|||
}
|
||||
});
|
||||
|
||||
setFile(getIntent().getParcelableExtra(ExternalSiteWebView.EXTRA_FILE));
|
||||
setFile(IntentExtensionsKt.getParcelableArgument(getIntent(), ExternalSiteWebView.EXTRA_FILE, OCFile.class));
|
||||
|
||||
if (getFile() == null) {
|
||||
Toast.makeText(getApplicationContext(),
|
||||
|
|
|
@ -36,6 +36,7 @@ import android.widget.ListView;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
|
@ -91,7 +92,7 @@ public class ErrorsWhileCopyingHandlerActivity extends AppCompatActivity implem
|
|||
|
||||
/// read extra parameters in intent
|
||||
Intent intent = getIntent();
|
||||
user = intent.getParcelableExtra(EXTRA_USER);
|
||||
user = IntentExtensionsKt.getParcelableArgument(intent, EXTRA_USER, User.class);
|
||||
mRemotePaths = intent.getStringArrayListExtra(EXTRA_REMOTE_PATHS);
|
||||
mLocalPaths = intent.getStringArrayListExtra(EXTRA_LOCAL_PATHS);
|
||||
mStorageManager = new FileDataStorageManager(user, getContentResolver());
|
||||
|
|
|
@ -46,6 +46,8 @@ import com.nextcloud.client.account.UserAccountManager;
|
|||
import com.nextcloud.client.jobs.BackgroundJobManager;
|
||||
import com.nextcloud.client.network.ConnectivityService;
|
||||
import com.nextcloud.utils.EditorUtils;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.authentication.AuthenticatorActivity;
|
||||
|
@ -206,7 +208,7 @@ public abstract class FileActivity extends DrawerActivity
|
|||
mFileOperationsHelper = new FileOperationsHelper(this, getUserAccountManager(), connectivityService, editorUtils);
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
mFile = savedInstanceState.getParcelable(FileActivity.EXTRA_FILE);
|
||||
mFile = BundleExtensionsKt.getParcelableArgument(savedInstanceState, FileActivity.EXTRA_FILE, OCFile.class);
|
||||
mFromNotification = savedInstanceState.getBoolean(FileActivity.EXTRA_FROM_NOTIFICATION);
|
||||
mFileOperationsHelper.setOpIdWaitingFor(
|
||||
savedInstanceState.getLong(KEY_WAITING_FOR_OP_ID, Long.MAX_VALUE)
|
||||
|
@ -216,8 +218,8 @@ public abstract class FileActivity extends DrawerActivity
|
|||
viewThemeUtils.files.themeActionBar(this, actionBar, savedInstanceState.getString(KEY_ACTION_BAR_TITLE));
|
||||
}
|
||||
} else {
|
||||
User user = getIntent().getParcelableExtra(FileActivity.EXTRA_USER);
|
||||
mFile = getIntent().getParcelableExtra(FileActivity.EXTRA_FILE);
|
||||
User user = IntentExtensionsKt.getParcelableArgument(getIntent(), FileActivity.EXTRA_USER, User.class);
|
||||
mFile = IntentExtensionsKt.getParcelableArgument(getIntent(), FileActivity.EXTRA_FILE, OCFile.class);
|
||||
mFromNotification = getIntent().getBooleanExtra(FileActivity.EXTRA_FROM_NOTIFICATION,
|
||||
false);
|
||||
if (user != null) {
|
||||
|
|
|
@ -71,6 +71,9 @@ import com.nextcloud.client.network.ConnectivityService;
|
|||
import com.nextcloud.client.preferences.AppPreferences;
|
||||
import com.nextcloud.client.utils.IntentUtil;
|
||||
import com.nextcloud.java.util.Optional;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.nextcloud.utils.view.FastScrollUtils;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
|
@ -252,7 +255,6 @@ public class FileDisplayActivity extends FileActivity implements FileFragment.Co
|
|||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
||||
Log_OC.v(TAG, "onCreate() start");
|
||||
// Set the default theme to replace the launch screen theme.
|
||||
setTheme(R.style.Theme_ownCloud_Toolbar_Drawer);
|
||||
|
@ -284,10 +286,10 @@ public class FileDisplayActivity extends FileActivity implements FileFragment.Co
|
|||
@SuppressWarnings("unchecked")
|
||||
private void loadSavedInstanceState(Bundle savedInstanceState) {
|
||||
if (savedInstanceState != null) {
|
||||
previousSortGroupState = (Stack<Boolean>) savedInstanceState.getSerializable(KEY_SORT_GROUP_STATE);
|
||||
mWaitingToPreview = savedInstanceState.getParcelable(FileDisplayActivity.KEY_WAITING_TO_PREVIEW);
|
||||
previousSortGroupState = BundleExtensionsKt.getSerializableArgument(savedInstanceState, KEY_SORT_GROUP_STATE, Stack.class);
|
||||
mWaitingToPreview = BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_WAITING_TO_PREVIEW, OCFile.class);
|
||||
mSyncInProgress = savedInstanceState.getBoolean(KEY_SYNC_IN_PROGRESS);
|
||||
mWaitingToSend = savedInstanceState.getParcelable(FileDisplayActivity.KEY_WAITING_TO_SEND);
|
||||
mWaitingToSend = BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_WAITING_TO_SEND, OCFile.class);
|
||||
searchQuery = savedInstanceState.getString(KEY_SEARCH_QUERY);
|
||||
searchOpen = savedInstanceState.getBoolean(FileDisplayActivity.KEY_IS_SEARCH_OPEN, false);
|
||||
} else {
|
||||
|
@ -372,7 +374,7 @@ public class FileDisplayActivity extends FileActivity implements FileFragment.Co
|
|||
PermissionUtil.requestExternalStoragePermission(this, viewThemeUtils);
|
||||
}
|
||||
|
||||
if (getIntent().getParcelableExtra(OCFileListFragment.SEARCH_EVENT) != null) {
|
||||
if (IntentExtensionsKt.getParcelableArgument(getIntent(), OCFileListFragment.SEARCH_EVENT, SearchEvent.class) != null) {
|
||||
switchToSearchFragment(savedInstanceState);
|
||||
|
||||
int menuId = getIntent().getIntExtra(DRAWER_MENU_ID, -1);
|
||||
|
@ -465,7 +467,10 @@ public class FileDisplayActivity extends FileActivity implements FileFragment.Co
|
|||
OCFileListFragment listOfFiles = new OCFileListFragment();
|
||||
Bundle args = new Bundle();
|
||||
|
||||
args.putParcelable(OCFileListFragment.SEARCH_EVENT, getIntent().getParcelableExtra(OCFileListFragment.SEARCH_EVENT));
|
||||
args.putParcelable(OCFileListFragment.SEARCH_EVENT,
|
||||
IntentExtensionsKt.getParcelableArgument(getIntent(),
|
||||
OCFileListFragment.SEARCH_EVENT,
|
||||
SearchEvent.class));
|
||||
args.putBoolean(OCFileListFragment.ARG_ALLOW_CONTEXTUAL_ACTIONS, true);
|
||||
|
||||
listOfFiles.setArguments(args);
|
||||
|
@ -511,10 +516,9 @@ public class FileDisplayActivity extends FileActivity implements FileFragment.Co
|
|||
setIntent(intent);
|
||||
|
||||
if (ACTION_DETAILS.equalsIgnoreCase(intent.getAction())) {
|
||||
OCFile file = intent.getParcelableExtra(EXTRA_FILE);
|
||||
OCFile file = IntentExtensionsKt.getParcelableArgument(intent, EXTRA_FILE, OCFile.class);
|
||||
setFile(file);
|
||||
setIntent(intent);
|
||||
setFile(intent.getParcelableExtra(EXTRA_FILE));
|
||||
showDetails(file);
|
||||
} else if (Intent.ACTION_VIEW.equals(intent.getAction())) {
|
||||
handleOpenFileViaIntent(intent);
|
||||
|
@ -527,7 +531,7 @@ public class FileDisplayActivity extends FileActivity implements FileFragment.Co
|
|||
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
|
||||
setIntent(intent);
|
||||
|
||||
SearchEvent searchEvent = intent.getParcelableExtra(OCFileListFragment.SEARCH_EVENT);
|
||||
SearchEvent searchEvent = IntentExtensionsKt.getParcelableArgument(intent, OCFileListFragment.SEARCH_EVENT, SearchEvent.class);
|
||||
if (searchEvent != null) {
|
||||
if (SearchRemoteOperation.SearchType.PHOTO_SEARCH == searchEvent.getSearchType()) {
|
||||
Log_OC.d(this, "Switch to photo search fragment");
|
||||
|
@ -1076,8 +1080,12 @@ public class FileDisplayActivity extends FileActivity implements FileFragment.Co
|
|||
syncAndUpdateFolder(false, true);
|
||||
|
||||
OCFile startFile = null;
|
||||
if (getIntent() != null && getIntent().getParcelableExtra(EXTRA_FILE) != null) {
|
||||
startFile = getIntent().getParcelableExtra(EXTRA_FILE);
|
||||
if (getIntent() != null) {
|
||||
OCFile fileArgs = IntentExtensionsKt.getParcelableArgument(getIntent(), EXTRA_FILE, OCFile.class);
|
||||
if (fileArgs != null) {
|
||||
startFile = fileArgs;
|
||||
setFile(startFile);
|
||||
}
|
||||
setFile(startFile);
|
||||
}
|
||||
|
||||
|
@ -1571,7 +1579,8 @@ public class FileDisplayActivity extends FileActivity implements FileFragment.Co
|
|||
// a new chance to get the mDownloadBinder through
|
||||
// getFileDownloadBinder() - THIS IS A MESS
|
||||
OCFileListFragment listOfFiles = getListOfFilesFragment();
|
||||
if (listOfFiles != null && (getIntent() == null || (getIntent() != null && getIntent().getParcelableExtra(EXTRA_FILE) == null))) {
|
||||
if (listOfFiles != null && (getIntent() == null || (getIntent() != null &&
|
||||
IntentExtensionsKt.getParcelableArgument(getIntent(), EXTRA_FILE, OCFile.class) == null))) {
|
||||
listOfFiles.listDirectory(MainApp.isOnlyOnDevice(), false);
|
||||
}
|
||||
Fragment leftFragment = getLeftFragment();
|
||||
|
|
|
@ -44,6 +44,7 @@ import com.nextcloud.client.account.UserAccountManager;
|
|||
import com.nextcloud.client.jobs.BackgroundJobManager;
|
||||
import com.nextcloud.client.onboarding.FirstRunActivity;
|
||||
import com.nextcloud.java.util.Optional;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.authentication.AuthenticatorActivity;
|
||||
|
@ -168,7 +169,7 @@ public class ManageAccountsActivity extends FileActivity implements UserListAdap
|
|||
if (resultCode == KEY_DELETE_CODE && data != null) {
|
||||
Bundle bundle = data.getExtras();
|
||||
if (bundle != null && bundle.containsKey(UserInfoActivity.KEY_ACCOUNT)) {
|
||||
final Account account = bundle.getParcelable(UserInfoActivity.KEY_ACCOUNT);
|
||||
final Account account = BundleExtensionsKt.getParcelableArgument(bundle, UserInfoActivity.KEY_ACCOUNT, Account.class);
|
||||
if (account != null) {
|
||||
User user = accountManager.getUser(account.name).orElseThrow(RuntimeException::new);
|
||||
accountName = account.name;
|
||||
|
|
|
@ -49,7 +49,6 @@ import android.view.View;
|
|||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager.LayoutParams;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.AdapterView.OnItemClickListener;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
|
@ -61,6 +60,8 @@ import com.google.android.material.button.MaterialButton;
|
|||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.di.Injectable;
|
||||
import com.nextcloud.client.preferences.AppPreferences;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.ReceiveExternalFilesBinding;
|
||||
|
@ -104,7 +105,6 @@ import java.util.Arrays;
|
|||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.Stack;
|
||||
import java.util.Vector;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -182,7 +182,7 @@ public class ReceiveExternalFilesActivity extends FileActivity
|
|||
mParents.addAll(Arrays.asList(parentPath.split(OCFile.PATH_SEPARATOR)));
|
||||
}
|
||||
|
||||
mFile = savedInstanceState.getParcelable(KEY_FILE);
|
||||
mFile = BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_FILE, OCFile.class);
|
||||
}
|
||||
mAccountManager = (AccountManager) getSystemService(Context.ACCOUNT_SERVICE);
|
||||
|
||||
|
@ -851,7 +851,7 @@ public class ReceiveExternalFilesActivity extends FileActivity
|
|||
|
||||
if (Intent.ACTION_SEND.equals(intent.getAction())) {
|
||||
mStreamsToUpload = new ArrayList<>();
|
||||
mStreamsToUpload.add(intent.getParcelableExtra(Intent.EXTRA_STREAM));
|
||||
mStreamsToUpload.add(IntentExtensionsKt.getParcelableArgument(intent, Intent.EXTRA_STREAM, Parcelable.class));
|
||||
} else if (Intent.ACTION_SEND_MULTIPLE.equals(intent.getAction())) {
|
||||
mStreamsToUpload = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
|
||||
}
|
||||
|
|
|
@ -25,7 +25,6 @@ package com.owncloud.android.ui.activity
|
|||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import android.view.KeyEvent
|
||||
|
@ -35,6 +34,7 @@ import androidx.activity.result.ActivityResultLauncher
|
|||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import com.nextcloud.client.account.CurrentAccountProvider
|
||||
import com.nextcloud.client.network.ClientFactory
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.datamodel.OCFile
|
||||
import com.owncloud.android.lib.common.utils.Log_OC
|
||||
|
@ -100,12 +100,7 @@ class RichDocumentsEditorWebView : EditorWebView() {
|
|||
}
|
||||
|
||||
private fun handleRemoteFile(data: Intent) {
|
||||
val file = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
data.getParcelableExtra(FolderPickerActivity.EXTRA_FILES, OCFile::class.java)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
data.getParcelableExtra(FolderPickerActivity.EXTRA_FILES)
|
||||
}
|
||||
val file = FolderPickerActivity.EXTRA_FILES?.let { data.getParcelableArgument(it, OCFile::class.java) }
|
||||
|
||||
Thread {
|
||||
val user = currentAccountProvider?.user
|
||||
|
|
|
@ -27,6 +27,7 @@ import android.os.Bundle
|
|||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.nextcloud.client.account.User
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.ui.dialog.SetupEncryptionDialogFragment
|
||||
|
||||
|
@ -34,7 +35,7 @@ class SetupEncryptionActivity : AppCompatActivity() {
|
|||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
val user = intent?.getParcelableExtra("EXTRA_USER") as User?
|
||||
val user = intent?.getParcelableArgument("EXTRA_USER", User::class.java)
|
||||
|
||||
if (user == null) {
|
||||
Toast.makeText(this, getString(R.string.error_showing_encryption_dialog), Toast.LENGTH_LONG).show()
|
||||
|
|
|
@ -27,7 +27,6 @@ import android.graphics.drawable.LayerDrawable;
|
|||
import android.os.Bundle;
|
||||
|
||||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.preferences.DarkMode;
|
||||
import com.nextcloud.java.util.Optional;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.ShareActivityBinding;
|
||||
|
|
|
@ -40,6 +40,7 @@ import android.text.style.StyleSpan;
|
|||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.nextcloud.android.sso.Constants;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.DialogSsoGrantPermissionBinding;
|
||||
|
@ -92,13 +93,16 @@ public class SsoGrantPermissionActivity extends BaseActivity {
|
|||
if (callingActivity != null) {
|
||||
packageName = callingActivity.getPackageName();
|
||||
final String appName = getAppNameForPackage(packageName);
|
||||
account = getIntent().getParcelableExtra(NEXTCLOUD_FILES_ACCOUNT);
|
||||
account = IntentExtensionsKt.getParcelableArgument(getIntent(), NEXTCLOUD_FILES_ACCOUNT, Account.class);
|
||||
|
||||
if (account != null) {
|
||||
final SpannableStringBuilder dialogText = makeSpecialPartsBold(
|
||||
getString(R.string.single_sign_on_request_token, appName, account.name),
|
||||
appName,
|
||||
account.name);
|
||||
binding.permissionText.setText(dialogText);
|
||||
}
|
||||
|
||||
final SpannableStringBuilder dialogText = makeSpecialPartsBold(
|
||||
getString(R.string.single_sign_on_request_token, appName, account.name),
|
||||
appName,
|
||||
account.name);
|
||||
binding.permissionText.setText(dialogText);
|
||||
try {
|
||||
if (packageName != null) {
|
||||
Drawable appIcon = getPackageManager().getApplicationIcon(packageName);
|
||||
|
|
|
@ -45,6 +45,7 @@ import com.nextcloud.client.jobs.MediaFoldersDetectionWork
|
|||
import com.nextcloud.client.jobs.NotificationWork
|
||||
import com.nextcloud.client.preferences.AppPreferences
|
||||
import com.nextcloud.client.preferences.SubFolderRule
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.BuildConfig
|
||||
import com.owncloud.android.MainApp
|
||||
import com.owncloud.android.R
|
||||
|
@ -630,8 +631,10 @@ class SyncedFoldersActivity :
|
|||
if (requestCode == SyncedFolderPreferencesDialogFragment.REQUEST_CODE__SELECT_REMOTE_FOLDER &&
|
||||
resultCode == RESULT_OK && syncedFolderPreferencesDialogFragment != null
|
||||
) {
|
||||
val chosenFolder: OCFile = data!!.getParcelableExtra(FolderPickerActivity.EXTRA_FOLDER)!!
|
||||
syncedFolderPreferencesDialogFragment!!.setRemoteFolderSummary(chosenFolder.remotePath)
|
||||
val chosenFolder: OCFile? = FolderPickerActivity.EXTRA_FOLDER?.let {
|
||||
data?.getParcelableArgument(it, OCFile::class.java)
|
||||
}
|
||||
syncedFolderPreferencesDialogFragment?.setRemoteFolderSummary(chosenFolder?.remotePath)
|
||||
} else if (
|
||||
requestCode == SyncedFolderPreferencesDialogFragment.REQUEST_CODE__SELECT_LOCAL_FOLDER &&
|
||||
resultCode == RESULT_OK && syncedFolderPreferencesDialogFragment != null
|
||||
|
|
|
@ -53,7 +53,6 @@ import javax.inject.Inject;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.widget.AppCompatSpinner;
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@ import com.nextcloud.client.account.User;
|
|||
import com.nextcloud.client.di.Injectable;
|
||||
import com.nextcloud.client.preferences.AppPreferences;
|
||||
import com.nextcloud.common.NextcloudClient;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.UserInfoDetailsTableItemBinding;
|
||||
import com.owncloud.android.databinding.UserInfoLayoutBinding;
|
||||
|
@ -106,16 +107,16 @@ public class UserInfoActivity extends DrawerActivity implements Injectable {
|
|||
return;
|
||||
}
|
||||
|
||||
user = bundle.getParcelable(KEY_ACCOUNT);
|
||||
user = BundleExtensionsKt.getParcelableArgument(bundle, KEY_ACCOUNT, User.class);
|
||||
if(user == null) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
|
||||
if (savedInstanceState != null && savedInstanceState.containsKey(KEY_USER_DATA)) {
|
||||
userInfo = savedInstanceState.getParcelable(KEY_USER_DATA);
|
||||
userInfo = BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_USER_DATA, UserInfo.class);
|
||||
} else if (bundle.containsKey(KEY_ACCOUNT)) {
|
||||
userInfo = bundle.getParcelable(KEY_USER_DATA);
|
||||
userInfo = BundleExtensionsKt.getParcelableArgument(bundle, KEY_USER_DATA, UserInfo.class);
|
||||
}
|
||||
|
||||
mCurrentAccountAvatarRadiusDimension = getResources().getDimension(R.dimen.user_icon_radius);
|
||||
|
|
|
@ -80,7 +80,6 @@ import java.util.List;
|
|||
import java.util.Locale;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
/**
|
||||
|
|
|
@ -54,7 +54,6 @@ import java.util.concurrent.Executors;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
/**
|
||||
|
|
|
@ -45,7 +45,6 @@ import com.owncloud.android.utils.DisplayUtils;
|
|||
import com.owncloud.android.utils.theme.ViewThemeUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
|
|
@ -48,7 +48,6 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import static com.owncloud.android.datamodel.OCFile.PATH_SEPARATOR;
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
*/
|
||||
package com.owncloud.android.ui.asynctasks;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import com.nextcloud.client.account.User;
|
||||
|
|
|
@ -33,7 +33,6 @@ import android.text.Editable;
|
|||
import android.text.TextWatcher;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
@ -42,6 +41,7 @@ import com.nextcloud.client.account.CurrentAccountProvider;
|
|||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.di.Injectable;
|
||||
import com.nextcloud.client.network.ClientFactory;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.ChooseTemplateBinding;
|
||||
|
@ -168,7 +168,7 @@ public class ChooseRichDocumentsTemplateDialogFragment extends DialogFragment im
|
|||
throw new RuntimeException(e); // we'll NPE without the client
|
||||
}
|
||||
|
||||
parentFolder = arguments.getParcelable(ARG_PARENT_FOLDER);
|
||||
parentFolder = BundleExtensionsKt.getParcelableArgument(arguments, ARG_PARENT_FOLDER, OCFile.class);
|
||||
List<OCFile> folderContent = fileDataStorageManager.getFolderContent(parentFolder, false);
|
||||
fileNames = Sets.newHashSetWithExpectedSize(folderContent.size());
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ import com.nextcloud.client.account.User
|
|||
import com.nextcloud.client.di.Injectable
|
||||
import com.nextcloud.client.network.ClientFactory
|
||||
import com.nextcloud.client.network.ClientFactory.CreationException
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.MainApp
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.databinding.ChooseTemplateBinding
|
||||
|
@ -127,8 +128,8 @@ class ChooseTemplateDialogFragment : DialogFragment(), View.OnClickListener, Tem
|
|||
val arguments = arguments ?: throw IllegalArgumentException("Arguments may not be null")
|
||||
val activity = activity ?: throw IllegalArgumentException("Activity may not be null")
|
||||
|
||||
parentFolder = arguments.getParcelable(ARG_PARENT_FOLDER)
|
||||
creator = arguments.getParcelable(ARG_CREATOR)
|
||||
parentFolder = arguments.getParcelableArgument(ARG_PARENT_FOLDER, OCFile::class.java)
|
||||
creator = arguments.getParcelableArgument(ARG_CREATOR, Creator::class.java)
|
||||
|
||||
title = arguments.getString(ARG_HEADLINE, getString(R.string.select_template))
|
||||
title = when (savedInstanceState) {
|
||||
|
|
|
@ -26,13 +26,13 @@ import android.content.Context;
|
|||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.di.Injectable;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.ConflictResolveDialogBinding;
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||
|
@ -133,13 +133,13 @@ public class ConflictsResolveDialog extends DialogFragment implements Injectable
|
|||
super.onCreate(savedInstanceState);
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
existingFile = savedInstanceState.getParcelable(KEY_EXISTING_FILE);
|
||||
newFile = (File) savedInstanceState.getSerializable(KEY_NEW_FILE);
|
||||
user = savedInstanceState.getParcelable(KEY_USER);
|
||||
existingFile = BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_EXISTING_FILE, OCFile.class);
|
||||
newFile = BundleExtensionsKt.getSerializableArgument(savedInstanceState, KEY_NEW_FILE, File.class);
|
||||
user = BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_USER, User.class);
|
||||
} else if (getArguments() != null) {
|
||||
existingFile = getArguments().getParcelable(KEY_EXISTING_FILE);
|
||||
newFile = (File) getArguments().getSerializable(KEY_NEW_FILE);
|
||||
user = getArguments().getParcelable(KEY_USER);
|
||||
existingFile = BundleExtensionsKt.getParcelableArgument(getArguments(), KEY_EXISTING_FILE, OCFile.class);
|
||||
newFile = BundleExtensionsKt.getSerializableArgument(getArguments(), KEY_NEW_FILE, File.class);
|
||||
user = BundleExtensionsKt.getParcelableArgument(getArguments(), KEY_USER, User.class);
|
||||
} else {
|
||||
Toast.makeText(getContext(), "Failed to create conflict dialog", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ import com.google.android.material.button.MaterialButton
|
|||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.google.common.collect.Sets
|
||||
import com.nextcloud.client.di.Injectable
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.databinding.EditBoxDialogBinding
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager
|
||||
|
@ -92,7 +93,7 @@ class CreateFolderDialogFragment : DialogFragment(), DialogInterface.OnClickList
|
|||
|
||||
@Suppress("EmptyFunctionBlock")
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
mParentFolder = arguments?.getParcelable(ARG_PARENT_FOLDER)
|
||||
mParentFolder = arguments?.getParcelableArgument(ARG_PARENT_FOLDER, OCFile::class.java)
|
||||
|
||||
// Inflate the layout for the dialog
|
||||
val inflater = requireActivity().layoutInflater
|
||||
|
@ -103,7 +104,7 @@ class CreateFolderDialogFragment : DialogFragment(), DialogInterface.OnClickList
|
|||
binding.userInput.setText("")
|
||||
viewThemeUtils?.material?.colorTextInputLayout(binding.userInputContainer)
|
||||
|
||||
val parentFolder = requireArguments().getParcelable<OCFile>(ARG_PARENT_FOLDER)
|
||||
val parentFolder = requireArguments().getParcelableArgument(ARG_PARENT_FOLDER, OCFile::class.java)
|
||||
|
||||
val folderContent = fileDataStorageManager!!.getFolderContent(parentFolder, false)
|
||||
val fileNames: MutableSet<String> = Sets.newHashSetWithExpectedSize(folderContent.size)
|
||||
|
|
|
@ -39,6 +39,7 @@ import com.google.android.material.button.MaterialButton;
|
|||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.nextcloud.client.di.Injectable;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.EditBoxDialogBinding;
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||
|
@ -109,7 +110,7 @@ public class RenameFileDialogFragment
|
|||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
mTargetFile = requireArguments().getParcelable(ARG_TARGET_FILE);
|
||||
mTargetFile = BundleExtensionsKt.getParcelableArgument(requireArguments(), ARG_TARGET_FILE, OCFile.class);
|
||||
|
||||
// Inflate the layout for the dialog
|
||||
LayoutInflater inflater = requireActivity().getLayoutInflater();
|
||||
|
@ -124,7 +125,7 @@ public class RenameFileDialogFragment
|
|||
int selectionEnd = extensionStart >= 0 ? extensionStart : currentName.length();
|
||||
binding.userInput.setSelection(0, selectionEnd);
|
||||
|
||||
OCFile parentFolder = requireArguments().getParcelable(ARG_PARENT_FOLDER);
|
||||
OCFile parentFolder = BundleExtensionsKt.getParcelableArgument(getArguments(), ARG_PARENT_FOLDER, OCFile.class);
|
||||
List<OCFile> folderContent = fileDataStorageManager.getFolderContent(parentFolder, false);
|
||||
fileNames = Sets.newHashSetWithExpectedSize(folderContent.size());
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ import android.view.View;
|
|||
import com.google.android.material.button.MaterialButton;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.nextcloud.client.di.Injectable;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.EditBoxDialogBinding;
|
||||
import com.owncloud.android.lib.resources.shares.OCShare;
|
||||
|
@ -90,7 +91,7 @@ public class RenamePublicShareDialogFragment
|
|||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
publicShare = requireArguments().getParcelable(ARG_PUBLIC_SHARE);
|
||||
publicShare = BundleExtensionsKt.getParcelableArgument(requireArguments(), ARG_PUBLIC_SHARE, OCShare.class);
|
||||
|
||||
// Inflate the layout for the dialog
|
||||
LayoutInflater inflater = requireActivity().getLayoutInflater();
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.owncloud.android.ui.dialog
|
|||
import android.content.ComponentName
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
|
@ -16,6 +15,7 @@ import com.google.android.material.snackbar.Snackbar
|
|||
import com.nextcloud.android.common.ui.theme.utils.ColorRole
|
||||
import com.nextcloud.client.di.Injectable
|
||||
import com.nextcloud.client.utils.IntentUtil.createSendIntent
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.databinding.SendShareFragmentBinding
|
||||
import com.owncloud.android.datamodel.OCFile
|
||||
|
@ -73,13 +73,7 @@ class SendShareDialog : BottomSheetDialogFragment(R.layout.send_share_fragment),
|
|||
retainInstance = true
|
||||
val arguments = requireArguments()
|
||||
|
||||
file = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
arguments.getParcelable(KEY_OCFILE, OCFile::class.java)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
arguments.getParcelable(KEY_OCFILE)
|
||||
}
|
||||
|
||||
file = arguments.getParcelableArgument(KEY_OCFILE, OCFile::class.java)
|
||||
hideNcSharingOptions = arguments.getBoolean(KEY_HIDE_NCSHARING_OPTIONS, false)
|
||||
sharingPublicPasswordEnforced = arguments.getBoolean(KEY_SHARING_PUBLIC_PASSWORD_ENFORCED, false)
|
||||
sharingPublicAskForPassword = arguments.getBoolean(KEY_SHARING_PUBLIC_ASK_FOR_PASSWORD)
|
||||
|
|
|
@ -29,7 +29,6 @@ import android.content.Context
|
|||
import android.content.DialogInterface
|
||||
import android.content.Intent
|
||||
import android.os.AsyncTask
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.annotation.VisibleForTesting
|
||||
|
@ -39,6 +38,7 @@ import com.google.android.material.button.MaterialButton
|
|||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.nextcloud.client.account.User
|
||||
import com.nextcloud.client.di.Injectable
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.databinding.SetupEncryptionDialogBinding
|
||||
import com.owncloud.android.datamodel.ArbitraryDataProvider
|
||||
|
@ -109,12 +109,7 @@ class SetupEncryptionDialogFragment : DialogFragment(), Injectable {
|
|||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
checkNotNull(arguments) { "Arguments may not be null" }
|
||||
|
||||
user = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
requireArguments().getParcelable(ARG_USER, User::class.java)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
requireArguments().getParcelable(ARG_USER)
|
||||
}
|
||||
user = requireArguments().getParcelableArgument(ARG_USER, User::class.java)
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
keyWords = savedInstanceState.getStringArrayList(EncryptionUtils.MNEMONIC)
|
||||
|
|
|
@ -37,6 +37,7 @@ import android.widget.ImageView;
|
|||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.lib.common.utils.Log_OC;
|
||||
import com.owncloud.android.ui.activity.CopyToClipboardActivity;
|
||||
|
@ -84,12 +85,12 @@ public class ShareLinkToDialog extends DialogFragment {
|
|||
@Override
|
||||
@NonNull
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
mIntent = getArguments().getParcelable(ARG_INTENT);
|
||||
mIntent = BundleExtensionsKt.getParcelableArgument(getArguments(), ARG_INTENT, Intent.class);
|
||||
String[] packagesToExclude = getArguments().getStringArray(ARG_PACKAGES_TO_EXCLUDE);
|
||||
List<String> packagesToExcludeList = Arrays.asList(packagesToExclude != null ?
|
||||
packagesToExclude : new String[0]);
|
||||
|
||||
PackageManager pm= getActivity().getPackageManager();
|
||||
PackageManager pm = getActivity().getPackageManager();
|
||||
List<ResolveInfo> activities = pm.queryIntentActivities(mIntent, PackageManager.MATCH_DEFAULT_ONLY);
|
||||
Iterator<ResolveInfo> it = activities.iterator();
|
||||
ResolveInfo resolveInfo;
|
||||
|
|
|
@ -22,7 +22,6 @@ package com.owncloud.android.ui.dialog
|
|||
|
||||
import android.app.Dialog
|
||||
import android.content.DialogInterface
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
|
@ -31,6 +30,7 @@ import androidx.fragment.app.DialogFragment
|
|||
import com.google.android.material.button.MaterialButton
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.nextcloud.client.di.Injectable
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.databinding.PasswordDialogBinding
|
||||
import com.owncloud.android.datamodel.OCFile
|
||||
|
@ -110,19 +110,8 @@ class SharePasswordDialogFragment : DialogFragment(), Injectable {
|
|||
}
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
file = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
requireArguments().getParcelable(ARG_FILE, OCFile::class.java)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
requireArguments().getParcelable(ARG_FILE)
|
||||
}
|
||||
|
||||
share = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
requireArguments().getParcelable(ARG_SHARE, OCShare::class.java)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
requireArguments().getParcelable(ARG_SHARE)
|
||||
}
|
||||
file = requireArguments().getParcelableArgument(ARG_FILE, OCFile::class.java)
|
||||
share = requireArguments().getParcelableArgument(ARG_SHARE, OCShare::class.java)
|
||||
|
||||
createShare = requireArguments().getBoolean(ARG_CREATE_SHARE, false)
|
||||
askForPassword = requireArguments().getBoolean(ARG_ASK_FOR_PASSWORD, false)
|
||||
|
|
|
@ -24,6 +24,7 @@ import android.os.Build
|
|||
import android.os.Bundle
|
||||
import android.os.storage.StorageManager
|
||||
import androidx.annotation.RequiresApi
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.datamodel.OCFile
|
||||
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener
|
||||
|
@ -40,15 +41,8 @@ class SyncFileNotEnoughSpaceDialogFragment :
|
|||
private var targetFile: OCFile? = null
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
targetFile = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
requireArguments().getParcelable(ARG_PASSED_FILE, OCFile::class.java)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
requireArguments().getParcelable(ARG_PASSED_FILE)
|
||||
}
|
||||
|
||||
targetFile = requireArguments().getParcelableArgument(ARG_PASSED_FILE, OCFile::class.java)
|
||||
setOnConfirmationListener(this)
|
||||
|
||||
return super.onCreateDialog(savedInstanceState)
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@ import android.app.Dialog
|
|||
import android.content.DialogInterface
|
||||
import android.content.Intent
|
||||
import android.graphics.Typeface
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import android.text.style.StyleSpan
|
||||
|
@ -36,6 +35,7 @@ import androidx.fragment.app.DialogFragment
|
|||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.nextcloud.client.di.Injectable
|
||||
import com.nextcloud.client.preferences.SubFolderRule
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.databinding.SyncedFoldersSettingsLayoutBinding
|
||||
import com.owncloud.android.datamodel.MediaFolderType
|
||||
|
@ -91,12 +91,7 @@ class SyncedFolderPreferencesDialogFragment : DialogFragment(), Injectable {
|
|||
|
||||
val arguments = arguments
|
||||
if (arguments != null) {
|
||||
syncedFolder = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
arguments.getParcelable(SYNCED_FOLDER_PARCELABLE, SyncedFolderParcelable::class.java)
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
arguments.getParcelable(SYNCED_FOLDER_PARCELABLE)
|
||||
}
|
||||
syncedFolder = arguments.getParcelableArgument(SYNCED_FOLDER_PARCELABLE, SyncedFolderParcelable::class.java)
|
||||
}
|
||||
|
||||
uploadBehaviorItemStrings = resources.getTextArray(R.array.pref_behaviour_entries)
|
||||
|
|
|
@ -25,7 +25,6 @@ import android.os.Parcelable;
|
|||
|
||||
import com.nextcloud.client.preferences.SubFolderRule;
|
||||
import com.owncloud.android.datamodel.MediaFolderType;
|
||||
import com.owncloud.android.datamodel.SyncedFolder;
|
||||
import com.owncloud.android.datamodel.SyncedFolderDisplayItem;
|
||||
import com.owncloud.android.files.services.FileUploader;
|
||||
import com.owncloud.android.files.services.NameCollisionPolicy;
|
||||
|
|
|
@ -16,6 +16,7 @@ import android.widget.TextView;
|
|||
|
||||
import com.nextcloud.android.common.ui.theme.utils.ColorRole;
|
||||
import com.nextcloud.client.di.Injectable;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.features.FeatureItem;
|
||||
import com.owncloud.android.utils.theme.ViewThemeUtils;
|
||||
|
@ -45,7 +46,11 @@ public class FeatureFragment extends Fragment implements Injectable {
|
|||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
viewThemeUtils = viewThemeUtilsFactory.withPrimaryAsBackground();
|
||||
super.onCreate(savedInstanceState);
|
||||
item = getArguments() != null ? (FeatureItem) getArguments().getParcelable("feature") : null;
|
||||
|
||||
Bundle bundle = getArguments();
|
||||
if (bundle != null) {
|
||||
item = BundleExtensionsKt.getParcelableArgument(bundle, "feature", FeatureItem.class);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
|
|
@ -38,6 +38,7 @@ import com.nextcloud.client.account.UserAccountManager;
|
|||
import com.nextcloud.client.di.Injectable;
|
||||
import com.nextcloud.client.network.ClientFactory;
|
||||
import com.nextcloud.common.NextcloudClient;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.FileDetailsActivitiesFragmentBinding;
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||
|
@ -130,12 +131,12 @@ public class FileDetailActivitiesFragment extends Fragment implements
|
|||
if (arguments == null) {
|
||||
throw new IllegalStateException("arguments are mandatory");
|
||||
}
|
||||
file = arguments.getParcelable(ARG_FILE);
|
||||
user = arguments.getParcelable(ARG_USER);
|
||||
file = BundleExtensionsKt.getParcelableArgument(arguments, ARG_FILE, OCFile.class);
|
||||
user = BundleExtensionsKt.getParcelableArgument(arguments, ARG_USER, User.class);
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
file = savedInstanceState.getParcelable(ARG_FILE);
|
||||
user = savedInstanceState.getParcelable(ARG_USER);
|
||||
file = BundleExtensionsKt.getParcelableArgument(savedInstanceState, ARG_FILE, OCFile.class);
|
||||
user = BundleExtensionsKt.getParcelableArgument(savedInstanceState, ARG_USER, User.class);
|
||||
}
|
||||
|
||||
binding = FileDetailsActivitiesFragmentBinding.inflate(inflater, container, false);
|
||||
|
|
|
@ -50,6 +50,7 @@ import com.nextcloud.client.network.ConnectivityService;
|
|||
import com.nextcloud.client.preferences.AppPreferences;
|
||||
import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
|
||||
import com.nextcloud.utils.MenuUtils;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.FileDetailsFragmentBinding;
|
||||
|
@ -214,14 +215,14 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
|
|||
throw new IllegalArgumentException("Arguments may not be null");
|
||||
}
|
||||
|
||||
setFile(arguments.getParcelable(ARG_FILE));
|
||||
parentFolder = arguments.getParcelable(ARG_PARENT_FOLDER);
|
||||
user = arguments.getParcelable(ARG_USER);
|
||||
setFile(BundleExtensionsKt.getParcelableArgument(arguments, ARG_FILE, OCFile.class));
|
||||
parentFolder = BundleExtensionsKt.getParcelableArgument(arguments, ARG_PARENT_FOLDER, OCFile.class);
|
||||
user = BundleExtensionsKt.getParcelableArgument(arguments, ARG_USER, User.class);
|
||||
activeTab = arguments.getInt(ARG_ACTIVE_TAB, 0);
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
setFile(savedInstanceState.getParcelable(ARG_FILE));
|
||||
user = savedInstanceState.getParcelable(ARG_USER);
|
||||
setFile(BundleExtensionsKt.getParcelableArgument(savedInstanceState, ARG_FILE, OCFile.class));
|
||||
user = BundleExtensionsKt.getParcelableArgument(savedInstanceState, ARG_USER, User.class);
|
||||
}
|
||||
|
||||
binding = FileDetailsFragmentBinding.inflate(inflater, container, false);
|
||||
|
|
|
@ -46,6 +46,7 @@ import com.nextcloud.client.account.User;
|
|||
import com.nextcloud.client.account.UserAccountManager;
|
||||
import com.nextcloud.client.di.Injectable;
|
||||
import com.nextcloud.client.network.ClientFactory;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.FileDetailsSharingFragmentBinding;
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||
|
@ -122,13 +123,14 @@ public class FileDetailSharingFragment extends Fragment implements ShareeListAda
|
|||
super.onCreate(savedInstanceState);
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
file = savedInstanceState.getParcelable(ARG_FILE);
|
||||
user = savedInstanceState.getParcelable(ARG_USER);
|
||||
file = BundleExtensionsKt.getParcelableArgument(savedInstanceState, ARG_FILE, OCFile.class);
|
||||
user = BundleExtensionsKt.getParcelableArgument(savedInstanceState, ARG_USER, User.class);
|
||||
} else {
|
||||
Bundle arguments = getArguments();
|
||||
|
||||
if (arguments != null) {
|
||||
file = arguments.getParcelable(ARG_FILE);
|
||||
user = arguments.getParcelable(ARG_USER);
|
||||
file = BundleExtensionsKt.getParcelableArgument(arguments, ARG_FILE, OCFile.class);
|
||||
user = BundleExtensionsKt.getParcelableArgument(arguments, ARG_USER, User.class);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ import android.accounts.Account;
|
|||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
|
||||
import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
|
||||
|
@ -61,7 +62,9 @@ public class FileFragment extends Fragment {
|
|||
super.onCreate(savedInstanceState);
|
||||
|
||||
Bundle bundle = getArguments();
|
||||
setFile(bundle.getParcelable(EXTRA_FILE));
|
||||
if (bundle != null) {
|
||||
setFile(BundleExtensionsKt.getParcelableArgument(bundle, EXTRA_FILE, OCFile.class));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -37,6 +37,7 @@ import android.view.MenuItem;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.BuildConfig;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||
|
@ -56,7 +57,6 @@ import javax.inject.Inject;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
@ -315,8 +315,9 @@ public class GalleryFragment extends OCFileListFragment implements GalleryFragme
|
|||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
if (requestCode == SELECT_LOCATION_REQUEST_CODE && data != null) {
|
||||
OCFile chosenFolder = data.getParcelableExtra(FolderPickerActivity.EXTRA_FOLDER);
|
||||
if (requestCode == SELECT_LOCATION_REQUEST_CODE && data != null && FolderPickerActivity.EXTRA_FOLDER != null) {
|
||||
OCFile chosenFolder = IntentExtensionsKt.getParcelableArgument(data, FolderPickerActivity.EXTRA_FOLDER, OCFile.class);
|
||||
|
||||
if (chosenFolder != null) {
|
||||
preferences.setLastSelectedMediaFolder(chosenFolder.getRemotePath());
|
||||
searchAndDisplayAfterChangingFolder();
|
||||
|
|
|
@ -67,6 +67,8 @@ import com.nextcloud.common.NextcloudClient;
|
|||
import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
|
||||
import com.nextcloud.utils.EditorUtils;
|
||||
import com.nextcloud.utils.ShortcutUtil;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.nextcloud.utils.view.FastScrollUtils;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
|
@ -253,9 +255,9 @@ public class OCFileListFragment extends ExtendedListFragment implements
|
|||
mMultiChoiceModeListener = new MultiChoiceModeListener();
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
currentSearchType = savedInstanceState.getParcelable(KEY_CURRENT_SEARCH_TYPE);
|
||||
searchEvent = savedInstanceState.getParcelable(OCFileListFragment.SEARCH_EVENT);
|
||||
mFile = savedInstanceState.getParcelable(KEY_FILE);
|
||||
currentSearchType = BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_CURRENT_SEARCH_TYPE, SearchType.class);
|
||||
searchEvent = BundleExtensionsKt.getParcelableArgument(savedInstanceState, SEARCH_EVENT, SearchEvent.class);
|
||||
mFile = BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_FILE, OCFile.class);
|
||||
}
|
||||
|
||||
searchFragment = currentSearchType != null && isSearchEventSet(searchEvent);
|
||||
|
@ -269,8 +271,8 @@ public class OCFileListFragment extends ExtendedListFragment implements
|
|||
|
||||
Intent intent = getActivity().getIntent();
|
||||
|
||||
if (intent.getParcelableExtra(OCFileListFragment.SEARCH_EVENT) != null) {
|
||||
searchEvent = intent.getParcelableExtra(OCFileListFragment.SEARCH_EVENT);
|
||||
if (IntentExtensionsKt.getParcelableArgument(intent, SEARCH_EVENT, SearchEvent.class) != null) {
|
||||
searchEvent = IntentExtensionsKt.getParcelableArgument(intent, SEARCH_EVENT, SearchEvent.class);
|
||||
}
|
||||
|
||||
if (isSearchEventSet(searchEvent)) {
|
||||
|
@ -313,12 +315,13 @@ public class OCFileListFragment extends ExtendedListFragment implements
|
|||
Log_OC.i(TAG, "onCreateView() start");
|
||||
View v = super.onCreateView(inflater, container, savedInstanceState);
|
||||
|
||||
if (savedInstanceState != null
|
||||
&& savedInstanceState.getParcelable(KEY_CURRENT_SEARCH_TYPE) != null &&
|
||||
savedInstanceState.getParcelable(OCFileListFragment.SEARCH_EVENT) != null) {
|
||||
|
||||
if (savedInstanceState != null &&
|
||||
BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_CURRENT_SEARCH_TYPE, SearchType.class) != null &&
|
||||
BundleExtensionsKt.getParcelableArgument(savedInstanceState, SEARCH_EVENT, SearchEvent.class) != null) {
|
||||
searchFragment = true;
|
||||
currentSearchType = savedInstanceState.getParcelable(KEY_CURRENT_SEARCH_TYPE);
|
||||
searchEvent = savedInstanceState.getParcelable(OCFileListFragment.SEARCH_EVENT);
|
||||
currentSearchType = BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_CURRENT_SEARCH_TYPE, SearchType.class);
|
||||
searchEvent = BundleExtensionsKt.getParcelableArgument(savedInstanceState, SEARCH_EVENT, SearchEvent.class);
|
||||
} else {
|
||||
currentSearchType = NO_SEARCH;
|
||||
}
|
||||
|
@ -372,7 +375,7 @@ public class OCFileListFragment extends ExtendedListFragment implements
|
|||
Log_OC.i(TAG, "onActivityCreated() start");
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
mFile = savedInstanceState.getParcelable(KEY_FILE);
|
||||
mFile = BundleExtensionsKt.getParcelableArgument(savedInstanceState, KEY_FILE, OCFile.class);
|
||||
}
|
||||
|
||||
Bundle args = getArguments();
|
||||
|
@ -396,7 +399,7 @@ public class OCFileListFragment extends ExtendedListFragment implements
|
|||
if (getArguments() == null) {
|
||||
searchEvent = null;
|
||||
} else {
|
||||
searchEvent = getArguments().getParcelable(OCFileListFragment.SEARCH_EVENT);
|
||||
searchEvent = BundleExtensionsKt.getParcelableArgument(getArguments(), SEARCH_EVENT, SearchEvent.class);
|
||||
}
|
||||
}
|
||||
prepareCurrentSearch(searchEvent);
|
||||
|
@ -1618,7 +1621,7 @@ public class OCFileListFragment extends ExtendedListFragment implements
|
|||
super.onViewStateRestored(savedInstanceState);
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
searchEvent = savedInstanceState.getParcelable(SEARCH_EVENT);
|
||||
searchEvent = BundleExtensionsKt.getParcelableArgument(savedInstanceState, SEARCH_EVENT, SearchEvent.class);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ import com.nextcloud.client.files.downloader.TransferManagerConnection;
|
|||
import com.nextcloud.client.files.downloader.TransferState;
|
||||
import com.nextcloud.client.jobs.BackgroundJobManager;
|
||||
import com.nextcloud.client.network.ClientFactory;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.BackuplistFragmentBinding;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
|
@ -194,8 +195,8 @@ public class BackupListFragment extends FileFragment implements Injectable {
|
|||
return view;
|
||||
}
|
||||
|
||||
if (arguments.getParcelable(FILE_NAME) != null) {
|
||||
ocFiles.add(arguments.getParcelable(FILE_NAME));
|
||||
if (BundleExtensionsKt.getParcelableArgument(arguments, FILE_NAME, OCFile.class) != null) {
|
||||
ocFiles.add(BundleExtensionsKt.getParcelableArgument(arguments, FILE_NAME, OCFile.class));
|
||||
} else if (arguments.getParcelableArray(FILE_NAMES) != null) {
|
||||
for (Parcelable file : arguments.getParcelableArray(FILE_NAMES)) {
|
||||
ocFiles.add((OCFile) file);
|
||||
|
@ -204,7 +205,7 @@ public class BackupListFragment extends FileFragment implements Injectable {
|
|||
return view;
|
||||
}
|
||||
|
||||
User user = getArguments().getParcelable(USER);
|
||||
User user = BundleExtensionsKt.getParcelableArgument(getArguments(), USER, User.class);
|
||||
fileDownloader = new TransferManagerConnection(getActivity(), user);
|
||||
fileDownloader.registerTransferListener(this::onDownloadUpdate);
|
||||
fileDownloader.bind();
|
||||
|
|
|
@ -26,7 +26,6 @@ import android.content.Context
|
|||
import android.widget.ArrayAdapter
|
||||
import com.afollestad.sectionedrecyclerview.SectionedViewHolder
|
||||
import com.owncloud.android.databinding.BackupListItemHeaderBinding
|
||||
import java.util.ArrayList
|
||||
|
||||
class BackupListHeaderViewHolder(
|
||||
val binding: BackupListItemHeaderBinding,
|
||||
|
|
|
@ -29,6 +29,7 @@ import android.widget.TextView;
|
|||
|
||||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.di.Injectable;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
import com.owncloud.android.lib.common.network.OnDatatransferProgressListener;
|
||||
|
@ -116,11 +117,11 @@ public class FileDownloadFragment extends FileFragment implements OnClickListene
|
|||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
Bundle args = getArguments();
|
||||
setFile(args.getParcelable(ARG_FILE));
|
||||
setFile(BundleExtensionsKt.getParcelableArgument(args, ARG_FILE, OCFile.class));
|
||||
// TODO better in super, but needs to check ALL the class extending FileFragment; not right now
|
||||
|
||||
mIgnoreFirstSavedState = args.getBoolean(ARG_IGNORE_FIRST);
|
||||
user = args.getParcelable(ARG_USER);
|
||||
user = BundleExtensionsKt.getParcelableArgument(args, ARG_USER, User.class);
|
||||
}
|
||||
|
||||
|
||||
|
@ -131,8 +132,8 @@ public class FileDownloadFragment extends FileFragment implements OnClickListene
|
|||
|
||||
if (savedInstanceState != null) {
|
||||
if (!mIgnoreFirstSavedState) {
|
||||
setFile(savedInstanceState.getParcelable(EXTRA_FILE));
|
||||
user = savedInstanceState.getParcelable(EXTRA_USER);
|
||||
setFile(BundleExtensionsKt.getParcelableArgument(savedInstanceState, EXTRA_FILE, OCFile.class));
|
||||
user = BundleExtensionsKt.getParcelableArgument(savedInstanceState, EXTRA_USER, User.class);
|
||||
mError = savedInstanceState.getBoolean(EXTRA_ERROR);
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -39,6 +39,7 @@ import com.nextcloud.client.di.Injectable;
|
|||
import com.nextcloud.client.editimage.EditImageActivity;
|
||||
import com.nextcloud.client.preferences.AppPreferences;
|
||||
import com.nextcloud.java.util.Optional;
|
||||
import com.nextcloud.utils.extensions.IntentExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||
|
@ -123,7 +124,7 @@ public class PreviewImageActivity extends FileActivity implements
|
|||
|
||||
setContentView(R.layout.preview_image_activity);
|
||||
|
||||
livePhotoFile = getIntent().getParcelableExtra(EXTRA_LIVE_PHOTO_FILE);
|
||||
livePhotoFile = IntentExtensionsKt.getParcelableArgument(getIntent(), EXTRA_LIVE_PHOTO_FILE, OCFile.class);
|
||||
|
||||
// Navigation Drawer
|
||||
setupDrawer();
|
||||
|
@ -161,7 +162,7 @@ public class PreviewImageActivity extends FileActivity implements
|
|||
|
||||
private void initViewPager(User user) {
|
||||
// virtual folder
|
||||
final Serializable virtualFolderType = getIntent().getSerializableExtra(EXTRA_VIRTUAL_TYPE);
|
||||
final Serializable virtualFolderType = IntentExtensionsKt.getSerializableArgument(getIntent(), EXTRA_VIRTUAL_TYPE, Serializable.class);
|
||||
if (virtualFolderType != null && virtualFolderType != VirtualFolderType.NONE) {
|
||||
VirtualFolderType type = (VirtualFolderType) virtualFolderType;
|
||||
|
||||
|
|
|
@ -54,6 +54,7 @@ import com.nextcloud.client.di.Injectable;
|
|||
import com.nextcloud.client.jobs.BackgroundJobManager;
|
||||
import com.nextcloud.client.network.ConnectivityService;
|
||||
import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.nextcloud.utils.extensions.ExtensionsKt;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
|
@ -175,7 +176,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|||
throw new IllegalArgumentException("Arguments may not be null!");
|
||||
}
|
||||
|
||||
setFile(args.getParcelable(ARG_FILE));
|
||||
setFile(BundleExtensionsKt.getParcelableArgument(args, ARG_FILE, OCFile.class));
|
||||
// TODO better in super, but needs to check ALL the class extending FileFragment;
|
||||
// not right now
|
||||
|
||||
|
@ -242,7 +243,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
|||
super.onActivityCreated(savedInstanceState);
|
||||
if (savedInstanceState != null) {
|
||||
if (!ignoreFirstSavedState) {
|
||||
OCFile file = savedInstanceState.getParcelable(EXTRA_FILE);
|
||||
OCFile file = BundleExtensionsKt.getParcelableArgument(savedInstanceState, EXTRA_FILE, OCFile.class);
|
||||
setFile(file);
|
||||
binding.image.setScale(Math.min(binding.image.getMaximumScale(), savedInstanceState.getFloat(EXTRA_ZOOM)));
|
||||
} else {
|
||||
|
|
|
@ -63,6 +63,7 @@ import com.nextcloud.client.media.PlayerServiceConnection;
|
|||
import com.nextcloud.client.network.ClientFactory;
|
||||
import com.nextcloud.common.NextcloudClient;
|
||||
import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.databinding.FragmentPreviewMediaBinding;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
|
@ -94,8 +95,6 @@ import androidx.core.graphics.drawable.DrawableCompat;
|
|||
import androidx.drawerlayout.widget.DrawerLayout;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
|
||||
/**
|
||||
* This fragment shows a preview of a downloaded media file (audio or video).
|
||||
|
@ -193,9 +192,9 @@ public class PreviewMediaFragment extends FileFragment implements OnTouchListene
|
|||
|
||||
Bundle bundle = getArguments();
|
||||
|
||||
setFile(bundle.getParcelable(FILE));
|
||||
setFile(BundleExtensionsKt.getParcelableArgument(bundle, FILE, OCFile.class));
|
||||
user = BundleExtensionsKt.getParcelableArgument(bundle, USER, User.class);
|
||||
|
||||
user = bundle.getParcelable(USER);
|
||||
savedPlaybackPosition = bundle.getLong(PLAYBACK_POSITION);
|
||||
autoplay = bundle.getBoolean(AUTOPLAY);
|
||||
isLivePhoto = bundle.getBoolean(IS_LIVE_PHOTO);
|
||||
|
@ -246,9 +245,9 @@ public class PreviewMediaFragment extends FileFragment implements OnTouchListene
|
|||
throw new IllegalStateException("Instanced with a NULL ownCloud Account");
|
||||
}
|
||||
} else {
|
||||
file = savedInstanceState.getParcelable(EXTRA_FILE);
|
||||
file = BundleExtensionsKt.getParcelableArgument(savedInstanceState, EXTRA_FILE, OCFile.class);
|
||||
setFile(file);
|
||||
user = savedInstanceState.getParcelable(EXTRA_USER);
|
||||
user = BundleExtensionsKt.getParcelableArgument(savedInstanceState, EXTRA_USER, User.class);
|
||||
savedPlaybackPosition = savedInstanceState.getInt(EXTRA_PLAY_POSITION);
|
||||
autoplay = savedInstanceState.getBoolean(EXTRA_PLAYING);
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ import android.widget.TextView;
|
|||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.account.UserAccountManager;
|
||||
import com.nextcloud.ui.fileactions.FileActionsBottomSheet;
|
||||
import com.nextcloud.utils.extensions.BundleExtensionsKt;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
import com.owncloud.android.lib.common.utils.Log_OC;
|
||||
|
@ -117,11 +118,11 @@ public class PreviewTextFileFragment extends PreviewTextFragment {
|
|||
Bundle args = getArguments();
|
||||
|
||||
if (file == null) {
|
||||
file = args.getParcelable(EXTRA_FILE);
|
||||
file = BundleExtensionsKt.getParcelableArgument(args, EXTRA_FILE, OCFile.class);
|
||||
}
|
||||
|
||||
if (user == null) {
|
||||
user = args.getParcelable(EXTRA_USER);
|
||||
user = BundleExtensionsKt.getParcelableArgument(args, EXTRA_USER, User.class);
|
||||
}
|
||||
|
||||
if (args.containsKey(EXTRA_SEARCH_QUERY)) {
|
||||
|
@ -137,8 +138,8 @@ public class PreviewTextFileFragment extends PreviewTextFragment {
|
|||
throw new IllegalStateException("Instanced with a NULL ownCloud Account");
|
||||
}
|
||||
} else {
|
||||
file = savedInstanceState.getParcelable(EXTRA_FILE);
|
||||
user = savedInstanceState.getParcelable(EXTRA_USER);
|
||||
file = BundleExtensionsKt.getParcelableArgument(savedInstanceState, EXTRA_FILE, OCFile.class);
|
||||
user = BundleExtensionsKt.getParcelableArgument(savedInstanceState, EXTRA_USER, User.class);
|
||||
}
|
||||
|
||||
handler = new Handler();
|
||||
|
|
|
@ -34,6 +34,7 @@ import com.google.android.material.snackbar.Snackbar
|
|||
import com.nextcloud.client.di.Injectable
|
||||
import com.nextcloud.client.di.ViewModelFactory
|
||||
import com.nextcloud.utils.MenuUtils
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.databinding.PreviewPdfFragmentBinding
|
||||
import com.owncloud.android.datamodel.OCFile
|
||||
|
@ -75,7 +76,7 @@ class PreviewPdfFragment : Fragment(), Injectable {
|
|||
|
||||
setupObservers()
|
||||
|
||||
file = requireArguments().getParcelable(ARG_FILE)!!
|
||||
file = requireArguments().getParcelableArgument(ARG_FILE, OCFile::class.java)!!
|
||||
try {
|
||||
viewModel.process(file)
|
||||
} catch (e: SecurityException) {
|
||||
|
|
|
@ -67,7 +67,6 @@ import com.nextcloud.client.account.CurrentAccountProvider;
|
|||
import com.nextcloud.client.account.User;
|
||||
import com.nextcloud.client.network.ClientFactory;
|
||||
import com.nextcloud.client.preferences.AppPreferences;
|
||||
import com.nextcloud.client.preferences.DarkMode;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.datamodel.ArbitraryDataProvider;
|
||||
|
|
|
@ -33,7 +33,6 @@ import com.owncloud.android.MainApp;
|
|||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
import com.owncloud.android.datamodel.SyncedFolder;
|
||||
import com.owncloud.android.lib.common.utils.Log_OC;
|
||||
import com.owncloud.android.lib.resources.files.model.RemoteFile;
|
||||
import com.owncloud.android.lib.resources.shares.ShareeUser;
|
||||
|
@ -421,7 +420,13 @@ public final class FileStorageUtils {
|
|||
return false;
|
||||
}
|
||||
|
||||
for (File f : sourceFolder.listFiles()) {
|
||||
File[] listFiles = sourceFolder.listFiles();
|
||||
|
||||
if (listFiles == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (File f : listFiles) {
|
||||
if (f.isDirectory()) {
|
||||
if (!copyDirs(f, new File(targetFolder, f.getName()))) {
|
||||
return false;
|
||||
|
@ -436,7 +441,13 @@ public final class FileStorageUtils {
|
|||
|
||||
public static void deleteRecursively(File file, FileDataStorageManager storageManager) {
|
||||
if (file.isDirectory()) {
|
||||
for (File child : file.listFiles()) {
|
||||
File[] listFiles = file.listFiles();
|
||||
|
||||
if (listFiles == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (File child : listFiles) {
|
||||
deleteRecursively(child, storageManager);
|
||||
}
|
||||
}
|
||||
|
@ -447,11 +458,19 @@ public final class FileStorageUtils {
|
|||
|
||||
public static boolean deleteRecursive(File file) {
|
||||
boolean res = true;
|
||||
|
||||
if (file.isDirectory()) {
|
||||
for (File c : file.listFiles()) {
|
||||
File[] listFiles = file.listFiles();
|
||||
|
||||
if (listFiles == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
for (File c : listFiles) {
|
||||
res = deleteRecursive(c) && res;
|
||||
}
|
||||
}
|
||||
|
||||
return file.delete() && res;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,14 +24,11 @@ import android.content.Context;
|
|||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.LayerDrawable;
|
||||
import android.net.Uri;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import android.webkit.MimeTypeMap;
|
||||
|
||||
import com.nextcloud.android.common.ui.theme.utils.ColorRole;
|
||||
import com.owncloud.android.R;
|
||||
import com.owncloud.android.datamodel.OCFile;
|
||||
import com.owncloud.android.lib.common.network.WebdavEntry;
|
||||
import com.owncloud.android.lib.resources.files.model.ServerFileInterface;
|
||||
import com.owncloud.android.utils.theme.ViewThemeUtils;
|
||||
|
||||
|
@ -45,7 +42,6 @@ import java.util.Locale;
|
|||
import java.util.Map;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.graphics.drawable.DrawableCompat;
|
||||
|
||||
/**
|
||||
* <p>Helper class for detecting the right icon for a file or folder,
|
||||
|
|
|
@ -41,6 +41,7 @@ import androidx.core.content.ContextCompat
|
|||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.nextcloud.client.preferences.AppPreferences
|
||||
import com.nextcloud.client.preferences.AppPreferencesImpl
|
||||
import com.nextcloud.utils.extensions.getParcelableArgument
|
||||
import com.owncloud.android.R
|
||||
import com.owncloud.android.ui.dialog.StoragePermissionDialogFragment
|
||||
import com.owncloud.android.utils.theme.ViewThemeUtils
|
||||
|
@ -231,7 +232,10 @@ object PermissionUtil {
|
|||
) {
|
||||
val listener: (requestKey: String, result: Bundle) -> Unit = { _, resultBundle ->
|
||||
val result: StoragePermissionDialogFragment.Result? =
|
||||
resultBundle.getParcelable(StoragePermissionDialogFragment.RESULT_KEY)
|
||||
resultBundle.getParcelableArgument(
|
||||
StoragePermissionDialogFragment.RESULT_KEY,
|
||||
StoragePermissionDialogFragment.Result::class.java
|
||||
)
|
||||
if (result != null) {
|
||||
preferences.isStoragePermissionRequested = true
|
||||
when (result) {
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
package com.owncloud.android.utils.theme;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
|
@ -34,8 +33,10 @@ import com.owncloud.android.lib.resources.status.OCCapability;
|
|||
*/
|
||||
public final class ThemeUtils {
|
||||
public boolean themingEnabled(Context context) {
|
||||
return CapabilityUtils.getCapability(context).getServerColor() != null
|
||||
&& !CapabilityUtils.getCapability(context).getServerColor().isEmpty();
|
||||
OCCapability capability = CapabilityUtils.getCapability(context);
|
||||
|
||||
return capability.getServerColor() != null
|
||||
&& !capability.getServerColor().isEmpty();
|
||||
}
|
||||
|
||||
public String getDefaultDisplayNameForRootFolder(Context context) {
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
-->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clickable="true"
|
||||
|
|
|
@ -24,7 +24,6 @@ package com.owncloud.android.ui.activity;
|
|||
|
||||
import com.nextcloud.client.preferences.SubFolderRule;
|
||||
import com.owncloud.android.datamodel.MediaFolderType;
|
||||
import com.owncloud.android.datamodel.SyncedFolder;
|
||||
import com.owncloud.android.datamodel.SyncedFolderDisplayItem;
|
||||
import com.owncloud.android.files.services.FileUploader;
|
||||
import com.owncloud.android.files.services.NameCollisionPolicy;
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
DO NOT TOUCH; GENERATED BY DRONE
|
||||
<span class="mdl-layout-title">Lint Report: 3 errors and 70 warnings</span>
|
||||
<span class="mdl-layout-title">Lint Report: 3 errors and 69 warnings</span>
|
||||
|
|
Loading…
Reference in New Issue