Skip to content

Commit 9d0783e

Browse files
committed
show alert dialog instead of snackbar
Signed-off-by: alperozturk <[email protected]>
1 parent 098df10 commit 9d0783e

File tree

3 files changed

+48
-7
lines changed

3 files changed

+48
-7
lines changed

app/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.kt

+17
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ import com.owncloud.android.files.services.NameCollisionPolicy
5353
import com.owncloud.android.lib.common.utils.Log_OC
5454
import com.owncloud.android.ui.adapter.SyncedFolderAdapter
5555
import com.owncloud.android.ui.decoration.MediaGridItemDecoration
56+
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment
5657
import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment
5758
import com.owncloud.android.ui.dialog.SyncedFolderPreferencesDialogFragment.OnSyncedFolderPreferenceListener
5859
import com.owncloud.android.ui.dialog.parcel.SyncedFolderParcelable
@@ -77,6 +78,7 @@ class SyncedFoldersActivity :
7778

7879
companion object {
7980
private const val SYNCED_FOLDER_PREFERENCES_DIALOG_TAG = "SYNCED_FOLDER_PREFERENCES_DIALOG"
81+
private const val SUB_FOLDER_WARNING_DIALOG_TAG = "SUB_FOLDER_WARNING_DIALOG_TAG"
8082

8183
// yes, there is a typo in this value
8284
private const val KEY_SYNCED_FOLDER_INITIATED_PREFIX = "syncedFolderIntitiated_"
@@ -714,6 +716,21 @@ class SyncedFoldersActivity :
714716
}
715717
}
716718

719+
override fun showSubFolderWarningDialog() {
720+
val dialog = ConfirmationDialogFragment.newInstance(
721+
R.string.auto_upload_sub_folder_warning,
722+
null,
723+
0,
724+
R.string.common_ok,
725+
-1,
726+
-1
727+
)
728+
729+
if (isDialogFragmentReady(dialog)) {
730+
dialog.show(supportFragmentManager, SUB_FOLDER_WARNING_DIALOG_TAG)
731+
}
732+
}
733+
717734
private fun saveOrUpdateSyncedFolder(item: SyncedFolderDisplayItem) {
718735
if (item.id == SyncedFolder.UNPERSISTED_ID) {
719736
// newly set up folder sync config

app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java

+29-4
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import android.widget.ArrayAdapter;
2929
import android.widget.TextView;
3030

31-
import com.google.android.material.snackbar.Snackbar;
3231
import com.nextcloud.client.account.User;
3332
import com.nextcloud.client.core.Clock;
3433
import com.nextcloud.client.di.Injectable;
@@ -64,6 +63,7 @@
6463

6564
import androidx.activity.OnBackPressedCallback;
6665
import androidx.annotation.NonNull;
66+
import androidx.annotation.Nullable;
6767
import androidx.appcompat.app.ActionBar;
6868
import androidx.appcompat.widget.SearchView;
6969
import androidx.core.view.MenuItemCompat;
@@ -94,6 +94,7 @@ public class UploadFilesActivity extends DrawerActivity implements LocalFileList
9494
private static final String ENCRYPTED_FOLDER_KEY = "encrypted_folder";
9595

9696
private static final String QUERY_TO_MOVE_DIALOG_TAG = "QUERY_TO_MOVE";
97+
private static final String SUB_FOLDER_WARNING_DIALOG_TAG = "SUB_FOLDER_WARNING_DIALOG";
9798
private static final String TAG = "UploadFilesActivity";
9899
private static final String WAIT_DIALOG_TAG = "WAIT";
99100

@@ -659,9 +660,7 @@ public void onClick(View v) {
659660
setResult(RESULT_OK, data);
660661

661662
if (isGivenLocalPathHasEnabledParent()) {
662-
Snackbar.make(findViewById(android.R.id.content), getString(R.string.auto_upload_sub_folder_warning), Snackbar.LENGTH_LONG)
663-
.setAction(getString(R.string.common_ok), snackBarView -> finish())
664-
.show();
663+
showSubFolderWarningDialog();
665664
} else {
666665
finish();
667666
}
@@ -676,6 +675,32 @@ public void onClick(View v) {
676675
}
677676
}
678677

678+
private void showSubFolderWarningDialog() {
679+
final var dialog = ConfirmationDialogFragment.newInstance(
680+
R.string.auto_upload_sub_folder_warning, null, 0, R.string.common_ok, R.string.common_cancel, -1);
681+
dialog.setOnConfirmationListener(new ConfirmationDialogFragmentListener() {
682+
@Override
683+
public void onConfirmation(@Nullable String callerTag) {
684+
finish();
685+
}
686+
687+
@Override
688+
public void onNeutral(@Nullable String callerTag) {
689+
690+
}
691+
692+
@Override
693+
public void onCancel(@Nullable String callerTag) {
694+
695+
}
696+
});
697+
698+
final var isDialogFragmentReady = ActivityExtensionsKt.isDialogFragmentReady(this, dialog);
699+
if (isDialogFragmentReady) {
700+
dialog.show(getSupportFragmentManager(), SUB_FOLDER_WARNING_DIALOG_TAG);
701+
}
702+
}
703+
679704
@Override
680705
public void onConfirmation(String callerTag) {
681706
Log_OC.d(TAG, "Positive button in dialog was clicked; dialog tag is " + callerTag);

app/src/main/java/com/owncloud/android/ui/adapter/SyncedFolderAdapter.kt

+2-3
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import com.owncloud.android.datamodel.SyncedFolderDisplayItem
3434
import com.owncloud.android.datamodel.ThumbnailsCacheManager
3535
import com.owncloud.android.datamodel.ThumbnailsCacheManager.AsyncMediaThumbnailDrawable
3636
import com.owncloud.android.datamodel.ThumbnailsCacheManager.MediaThumbnailGenerationTask
37-
import com.owncloud.android.utils.DisplayUtils
3837
import com.owncloud.android.utils.theme.ViewThemeUtils
3938
import java.io.File
4039
import java.util.Locale
@@ -302,8 +301,7 @@ class SyncedFolderAdapter(
302301
if (isVisible) {
303302
viewThemeUtils.platform.themeImageButton(this)
304303
setOnClickListener {
305-
val message = context.getString(R.string.auto_upload_sub_folder_warning)
306-
DisplayUtils.showSnackMessage(holder.itemView, message)
304+
clickListener.showSubFolderWarningDialog()
307305
}
308306
}
309307
}
@@ -444,6 +442,7 @@ class SyncedFolderAdapter(
444442
fun onSyncStatusToggleClick(section: Int, syncedFolderDisplayItem: SyncedFolderDisplayItem?)
445443
fun onSyncFolderSettingsClick(section: Int, syncedFolderDisplayItem: SyncedFolderDisplayItem?)
446444
fun onVisibilityToggleClick(section: Int, item: SyncedFolderDisplayItem?)
445+
fun showSubFolderWarningDialog()
447446
}
448447

449448
internal class HeaderViewHolder(var binding: SyncedFoldersItemHeaderBinding) : SectionedViewHolder(

0 commit comments

Comments
 (0)