Merge pull request #10 from FossifyOrg/fossify_rebranding

Rename package names
This commit is contained in:
Naveen Singh 2023-12-14 18:45:09 +05:30 committed by GitHub
commit f9522c3d3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
246 changed files with 1521 additions and 1574 deletions

View file

@ -101,7 +101,7 @@ android {
} }
dependencies { dependencies {
implementation(libs.simple.tools.commons) implementation(libs.fossify.commons)
implementation(libs.android.image.cropper) implementation(libs.android.image.cropper)
implementation(libs.exif) implementation(libs.exif)
implementation(libs.android.gif.drawable) implementation(libs.android.gif.drawable)

View file

@ -1,6 +1,6 @@
-keep class com.simplemobiletools.** { *; } -keep class org.fossify.** { *; }
-dontwarn android.graphics.Canvas -dontwarn android.graphics.Canvas
-dontwarn com.simplemobiletools.** -dontwarn org.fossify.**
-dontwarn org.apache.** -dontwarn org.apache.**
# Picasso # Picasso

View file

@ -34,8 +34,8 @@
<uses-sdk tools:overrideLibrary="com.google.vr.widgets.common, com.google.vr.sdk.widgets.pano" /> <uses-sdk tools:overrideLibrary="com.google.vr.widgets.common, com.google.vr.sdk.widgets.pano" />
<queries> <queries>
<package android:name="com.simplemobiletools.gallery.debug" /> <package android:name="org.fossify.gallery.debug" />
<package android:name="com.simplemobiletools.gallery" /> <package android:name="org.fossify.gallery" />
</queries> </queries>
<uses-feature <uses-feature
@ -43,7 +43,7 @@
android:required="false" /> android:required="false" />
<application <application
android:name=".App" android:name="org.fossify.gallery.App"
android:allowBackup="true" android:allowBackup="true"
android:appCategory="image" android:appCategory="image"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
@ -122,14 +122,14 @@
</activity> </activity>
<activity <activity
android:name="com.simplemobiletools.commons.activities.AboutActivity" android:name="org.fossify.commons.activities.AboutActivity"
android:configChanges="orientation" android:configChanges="orientation"
android:exported="false" android:exported="false"
android:label="@string/about" android:label="@string/about"
android:parentActivityName=".activities.MainActivity" /> android:parentActivityName=".activities.MainActivity" />
<activity <activity
android:name="com.simplemobiletools.commons.activities.CustomizationActivity" android:name="org.fossify.commons.activities.CustomizationActivity"
android:configChanges="orientation" android:configChanges="orientation"
android:exported="false" android:exported="false"
android:label="@string/customize_colors" android:label="@string/customize_colors"
@ -223,7 +223,7 @@
</activity> </activity>
<activity <activity
android:name=".activities.EditActivity" android:name="org.fossify.gallery.activities.EditActivity"
android:configChanges="orientation" android:configChanges="orientation"
android:exported="true" android:exported="true"
android:label="@string/basic_editor"> android:label="@string/basic_editor">
@ -294,7 +294,7 @@
android:name=".receivers.RefreshMediaReceiver" android:name=".receivers.RefreshMediaReceiver"
android:exported="true"> android:exported="true">
<intent-filter> <intent-filter>
<action android:name="com.simplemobiletools.REFRESH_MEDIA" /> <action android:name="org.fossify.REFRESH_MEDIA" />
</intent-filter> </intent-filter>
</receiver> </receiver>

View file

@ -1,23 +0,0 @@
package com.simplemobiletools.gallery.pro.dialogs
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.getProperTextColor
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.databinding.DialogGrantAllFilesBinding
import com.simplemobiletools.gallery.pro.extensions.launchGrantAllFilesIntent
class GrantAllFilesDialog(val activity: BaseSimpleActivity) {
init {
val binding = DialogGrantAllFilesBinding.inflate(activity.layoutInflater)
binding.grantAllFilesImage.applyColorFilter(activity.getProperTextColor())
activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { dialog, which -> activity.launchGrantAllFilesIntent() }
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null)
.apply {
activity.setupDialogStuff(binding.root, this) { alertDialog -> }
}
}
}

View file

@ -1,5 +0,0 @@
package com.simplemobiletools.gallery.pro.extensions
import com.simplemobiletools.commons.models.FileDirItem
fun FileDirItem.isDownloadsFolder() = path.isDownloadsFolder()

View file

@ -1,5 +0,0 @@
package com.simplemobiletools.gallery.pro.extensions
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
fun Int.isSortingAscending() = this and SORT_DESCENDING == 0

View file

@ -1,3 +0,0 @@
package com.simplemobiletools.gallery.pro.models
open class ThumbnailItem

View file

@ -1,12 +1,12 @@
package com.simplemobiletools.gallery.pro package org.fossify.gallery
import android.app.Application import android.app.Application
import com.github.ajalt.reprint.core.Reprint import com.github.ajalt.reprint.core.Reprint
import com.simplemobiletools.commons.extensions.checkUseEnglish
import com.squareup.picasso.Downloader import com.squareup.picasso.Downloader
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso
import okhttp3.Request import okhttp3.Request
import okhttp3.Response import okhttp3.Response
import org.fossify.commons.extensions.checkUseEnglish
class App : Application() { class App : Application() {
override fun onCreate() { override fun onCreate() {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.annotation.TargetApi import android.annotation.TargetApi
import android.app.Activity import android.app.Activity
@ -25,29 +25,29 @@ import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target import com.bumptech.glide.request.target.Target
import com.canhub.cropper.CropImageView import com.canhub.cropper.CropImageView
import com.simplemobiletools.commons.dialogs.ColorPickerDialog
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.helpers.REAL_FILE_PATH
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isNougatPlus
import com.simplemobiletools.commons.models.FileDirItem
import com.simplemobiletools.gallery.pro.BuildConfig
import com.simplemobiletools.gallery.pro.R
import com.simplemobiletools.gallery.pro.adapters.FiltersAdapter
import com.simplemobiletools.gallery.pro.databinding.ActivityEditBinding
import com.simplemobiletools.gallery.pro.dialogs.OtherAspectRatioDialog
import com.simplemobiletools.gallery.pro.dialogs.ResizeDialog
import com.simplemobiletools.gallery.pro.dialogs.SaveAsDialog
import com.simplemobiletools.gallery.pro.extensions.config
import com.simplemobiletools.gallery.pro.extensions.copyNonDimensionAttributesTo
import com.simplemobiletools.gallery.pro.extensions.fixDateTaken
import com.simplemobiletools.gallery.pro.extensions.openEditor
import com.simplemobiletools.gallery.pro.helpers.*
import com.simplemobiletools.gallery.pro.models.FilterItem
import com.zomato.photofilters.FilterPack import com.zomato.photofilters.FilterPack
import com.zomato.photofilters.imageprocessors.Filter import com.zomato.photofilters.imageprocessors.Filter
import org.fossify.commons.dialogs.ColorPickerDialog
import org.fossify.commons.dialogs.ConfirmationDialog
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.NavigationIcon
import org.fossify.commons.helpers.REAL_FILE_PATH
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.helpers.isNougatPlus
import org.fossify.commons.models.FileDirItem
import org.fossify.gallery.BuildConfig
import org.fossify.gallery.R
import org.fossify.gallery.adapters.FiltersAdapter
import org.fossify.gallery.databinding.ActivityEditBinding
import org.fossify.gallery.dialogs.OtherAspectRatioDialog
import org.fossify.gallery.dialogs.ResizeDialog
import org.fossify.gallery.dialogs.SaveAsDialog
import org.fossify.gallery.extensions.config
import org.fossify.gallery.extensions.copyNonDimensionAttributesTo
import org.fossify.gallery.extensions.fixDateTaken
import org.fossify.gallery.extensions.openEditor
import org.fossify.gallery.helpers.*
import org.fossify.gallery.models.FilterItem
import java.io.* import java.io.*
import kotlin.math.max import kotlin.math.max
@ -79,8 +79,10 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
private var resizeHeight = 0 private var resizeHeight = 0
private var drawColor = 0 private var drawColor = 0
private var lastOtherAspectRatio: Pair<Float, Float>? = null private var lastOtherAspectRatio: Pair<Float, Float>? = null
private var currPrimaryAction = PRIMARY_ACTION_NONE private var currPrimaryAction =
private var currCropRotateAction = CROP_ROTATE_ASPECT_RATIO PRIMARY_ACTION_NONE
private var currCropRotateAction =
CROP_ROTATE_ASPECT_RATIO
private var currAspectRatio = ASPECT_RATIO_FREE private var currAspectRatio = ASPECT_RATIO_FREE
private var isCropIntent = false private var isCropIntent = false
private var isEditingWithThirdParty = false private var isEditingWithThirdParty = false
@ -102,7 +104,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
setupOptionsMenu() setupOptionsMenu()
handlePermission(getPermissionToRequest()) { handlePermission(getPermissionToRequest()) {
if (!it) { if (!it) {
toast(com.simplemobiletools.commons.R.string.no_storage_permissions) toast(org.fossify.commons.R.string.no_storage_permissions)
finish() finish()
} }
initEditActivity() initEditActivity()
@ -230,7 +232,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
bottomCropRotateClicked() bottomCropRotateClicked()
} }
if (filterInitialBitmap != null && currentFilter != null && currentFilter.filter.name != getString(com.simplemobiletools.commons.R.string.none)) { if (filterInitialBitmap != null && currentFilter != null && currentFilter.filter.name != getString(org.fossify.commons.R.string.none)) {
binding.defaultImageView.onGlobalLayout { binding.defaultImageView.onGlobalLayout {
applyFilter(currentFilter) applyFilter(currentFilter)
} }
@ -333,7 +335,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
val currentFilter = getFiltersAdapter()?.getCurrentFilter() ?: return val currentFilter = getFiltersAdapter()?.getCurrentFilter() ?: return
val filePathGetter = getNewFilePath() val filePathGetter = getNewFilePath()
SaveAsDialog(this, filePathGetter.first, filePathGetter.second) { SaveAsDialog(this, filePathGetter.first, filePathGetter.second) {
toast(com.simplemobiletools.commons.R.string.saving) toast(org.fossify.commons.R.string.saving)
// clean up everything to free as much memory as possible // clean up everything to free as much memory as possible
binding.defaultImageView.setImageResource(0) binding.defaultImageView.setImageResource(0)
@ -347,7 +349,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
currentFilter.filter.processFilter(originalBitmap) currentFilter.filter.processFilter(originalBitmap)
saveBitmapToFile(originalBitmap, it, false) saveBitmapToFile(originalBitmap, it, false)
} catch (e: OutOfMemoryError) { } catch (e: OutOfMemoryError) {
toast(com.simplemobiletools.commons.R.string.out_of_memory_error) toast(org.fossify.commons.R.string.out_of_memory_error)
} }
} }
} }
@ -374,7 +376,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
binding.defaultImageView.isVisible() -> { binding.defaultImageView.isVisible() -> {
val currentFilter = getFiltersAdapter()?.getCurrentFilter() val currentFilter = getFiltersAdapter()?.getCurrentFilter()
if (currentFilter == null) { if (currentFilter == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return@ensureBackgroundThread return@ensureBackgroundThread
} }
@ -399,7 +401,10 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
val bytes = ByteArrayOutputStream() val bytes = ByteArrayOutputStream()
bitmap.compress(CompressFormat.PNG, 0, bytes) bitmap.compress(CompressFormat.PNG, 0, bytes)
val folder = File(cacheDir, TEMP_FOLDER_NAME) val folder = File(
cacheDir,
TEMP_FOLDER_NAME
)
if (!folder.exists()) { if (!folder.exists()) {
if (!folder.mkdir()) { if (!folder.mkdir()) {
callback(null) callback(null)
@ -430,7 +435,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
if (it != null) { if (it != null) {
sharePathIntent(it, BuildConfig.APPLICATION_ID) sharePathIntent(it, BuildConfig.APPLICATION_ID)
} else { } else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
} }
} }
} }
@ -655,7 +660,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
val filterThumbnailsManager = FilterThumbnailsManager() val filterThumbnailsManager = FilterThumbnailsManager()
filterThumbnailsManager.clearThumbs() filterThumbnailsManager.clearThumbs()
val noFilter = Filter(getString(com.simplemobiletools.commons.R.string.none)) val noFilter = Filter(getString(org.fossify.commons.R.string.none))
filterThumbnailsManager.addThumb(FilterItem(bitmap, noFilter)) filterThumbnailsManager.addThumb(FilterItem(bitmap, noFilter))
FilterPack.getFilterPack(this).forEach { FilterPack.getFilterPack(this).forEach {
@ -683,7 +688,8 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
if (currPrimaryAction != PRIMARY_ACTION_CROP_ROTATE) { if (currPrimaryAction != PRIMARY_ACTION_CROP_ROTATE) {
binding.bottomAspectRatios.root.beGone() binding.bottomAspectRatios.root.beGone()
currCropRotateAction = CROP_ROTATE_NONE currCropRotateAction =
CROP_ROTATE_NONE
} }
updateCropRotateActionButtons() updateCropRotateActionButtons()
} }
@ -759,7 +765,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
private fun resizeImage() { private fun resizeImage() {
val point = getAreaSize() val point = getAreaSize()
if (point == null) { if (point == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return return
} }
@ -772,8 +778,13 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
private fun shouldCropSquare(): Boolean { private fun shouldCropSquare(): Boolean {
val extras = intent.extras val extras = intent.extras
return if (extras != null && extras.containsKey(ASPECT_X) && extras.containsKey(ASPECT_Y)) { return if (extras != null && extras.containsKey(ASPECT_X) && extras.containsKey(
extras.getInt(ASPECT_X) == extras.getInt(ASPECT_Y) ASPECT_Y
)
) {
extras.getInt(ASPECT_X) == extras.getInt(
ASPECT_Y
)
} else { } else {
false false
} }
@ -875,7 +886,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
val label = val label =
"sknahT .moc.slootelibomelpmis.www morf eno lanigiro eht daolnwod ytefas nwo ruoy roF .ppa eht fo noisrev ekaf a gnisu era uoY".reversed() "sknahT .moc.slootelibomelpmis.www morf eno lanigiro eht daolnwod ytefas nwo ruoy roF .ppa eht fo noisrev ekaf a gnisu era uoY".reversed()
runOnUiThread { runOnUiThread {
ConfirmationDialog(this, label, positive = com.simplemobiletools.commons.R.string.ok, negative = 0) { ConfirmationDialog(this, label, positive = org.fossify.commons.R.string.ok, negative = 0) {
launchViewIntent("6629852208836920709=di?ved/sppa/erots/moc.elgoog.yalp//:sptth".reversed()) launchViewIntent("6629852208836920709=di?ved/sppa/erots/moc.elgoog.yalp//:sptth".reversed())
} }
} }
@ -903,14 +914,14 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
} catch (e: OutOfMemoryError) { } catch (e: OutOfMemoryError) {
toast(com.simplemobiletools.commons.R.string.out_of_memory_error) toast(org.fossify.commons.R.string.out_of_memory_error)
} }
} }
@TargetApi(Build.VERSION_CODES.N) @TargetApi(Build.VERSION_CODES.N)
private fun saveBitmap(file: File, bitmap: Bitmap, out: OutputStream, showSavingToast: Boolean) { private fun saveBitmap(file: File, bitmap: Bitmap, out: OutputStream, showSavingToast: Boolean) {
if (showSavingToast) { if (showSavingToast) {
toast(com.simplemobiletools.commons.R.string.saving) toast(org.fossify.commons.R.string.saving)
} }
if (resizeWidth > 0 && resizeHeight > 0) { if (resizeWidth > 0 && resizeHeight > 0) {
@ -943,7 +954,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
rescanPaths(paths) { rescanPaths(paths) {
fixDateTaken(paths, false) fixDateTaken(paths, false)
setResult(Activity.RESULT_OK, intent) setResult(Activity.RESULT_OK, intent)
toast(com.simplemobiletools.commons.R.string.file_saved) toast(org.fossify.commons.R.string.file_saved)
finish() finish()
} }
} }

View file

@ -1,15 +1,15 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.os.Bundle import android.os.Bundle
import com.simplemobiletools.commons.dialogs.FilePickerDialog import org.fossify.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.NavigationIcon import org.fossify.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.helpers.isRPlus import org.fossify.commons.helpers.isRPlus
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.adapters.ManageFoldersAdapter import org.fossify.gallery.adapters.ManageFoldersAdapter
import com.simplemobiletools.gallery.pro.databinding.ActivityManageFoldersBinding import org.fossify.gallery.databinding.ActivityManageFoldersBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
class ExcludedFoldersActivity : SimpleActivity(), RefreshRecyclerViewListener { class ExcludedFoldersActivity : SimpleActivity(), RefreshRecyclerViewListener {
@ -21,7 +21,7 @@ class ExcludedFoldersActivity : SimpleActivity(), RefreshRecyclerViewListener {
setContentView(binding.root) setContentView(binding.root)
updateFolders() updateFolders()
setupOptionsMenu() setupOptionsMenu()
binding.manageFoldersToolbar.title = getString(com.simplemobiletools.commons.R.string.excluded_folders) binding.manageFoldersToolbar.title = getString(org.fossify.commons.R.string.excluded_folders)
updateMaterialActivityViews(binding.manageFoldersCoordinator, binding.manageFoldersList, useTransparentNavigation = true, useTopSearchMenu = false) updateMaterialActivityViews(binding.manageFoldersCoordinator, binding.manageFoldersList, useTransparentNavigation = true, useTopSearchMenu = false)
setupMaterialScrollListener(binding.manageFoldersList, binding.manageFoldersToolbar) setupMaterialScrollListener(binding.manageFoldersList, binding.manageFoldersToolbar)

View file

@ -1,19 +1,19 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.os.Bundle import android.os.Bundle
import com.simplemobiletools.commons.dialogs.FilePickerDialog import org.fossify.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.beVisibleIf import org.fossify.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.getProperTextColor import org.fossify.commons.extensions.getProperTextColor
import com.simplemobiletools.commons.extensions.viewBinding import org.fossify.commons.extensions.viewBinding
import com.simplemobiletools.commons.helpers.NavigationIcon import org.fossify.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.adapters.ManageHiddenFoldersAdapter import org.fossify.gallery.adapters.ManageHiddenFoldersAdapter
import com.simplemobiletools.gallery.pro.databinding.ActivityManageFoldersBinding import org.fossify.gallery.databinding.ActivityManageFoldersBinding
import com.simplemobiletools.gallery.pro.extensions.addNoMedia import org.fossify.gallery.extensions.addNoMedia
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.extensions.getNoMediaFolders import org.fossify.gallery.extensions.getNoMediaFolders
class HiddenFoldersActivity : SimpleActivity(), RefreshRecyclerViewListener { class HiddenFoldersActivity : SimpleActivity(), RefreshRecyclerViewListener {

View file

@ -1,15 +1,15 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.os.Bundle import android.os.Bundle
import com.simplemobiletools.commons.extensions.beVisibleIf import org.fossify.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.getProperTextColor import org.fossify.commons.extensions.getProperTextColor
import com.simplemobiletools.commons.extensions.viewBinding import org.fossify.commons.extensions.viewBinding
import com.simplemobiletools.commons.helpers.NavigationIcon import org.fossify.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.adapters.ManageFoldersAdapter import org.fossify.gallery.adapters.ManageFoldersAdapter
import com.simplemobiletools.gallery.pro.databinding.ActivityManageFoldersBinding import org.fossify.gallery.databinding.ActivityManageFoldersBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
class IncludedFoldersActivity : SimpleActivity(), RefreshRecyclerViewListener { class IncludedFoldersActivity : SimpleActivity(), RefreshRecyclerViewListener {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.app.Activity import android.app.Activity
import android.content.ClipData import android.content.ClipData
@ -13,32 +13,31 @@ import android.view.ViewGroup
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.widget.Toast import android.widget.Toast
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.CreateNewFolderDialog
import com.simplemobiletools.commons.dialogs.CreateNewFolderDialog import org.fossify.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.dialogs.FilePickerDialog import org.fossify.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.helpers.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.models.FileDirItem
import com.simplemobiletools.commons.models.FileDirItem import org.fossify.commons.models.RadioItem
import com.simplemobiletools.commons.models.RadioItem import org.fossify.commons.models.Release
import com.simplemobiletools.commons.models.Release import org.fossify.commons.views.MyGridLayoutManager
import com.simplemobiletools.commons.views.MyGridLayoutManager import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.gallery.BuildConfig
import com.simplemobiletools.gallery.pro.BuildConfig import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.adapters.DirectoryAdapter
import com.simplemobiletools.gallery.pro.adapters.DirectoryAdapter import org.fossify.gallery.databases.GalleryDatabase
import com.simplemobiletools.gallery.pro.databases.GalleryDatabase import org.fossify.gallery.databinding.ActivityMainBinding
import com.simplemobiletools.gallery.pro.databinding.ActivityMainBinding import org.fossify.gallery.dialogs.ChangeSortingDialog
import com.simplemobiletools.gallery.pro.dialogs.ChangeSortingDialog import org.fossify.gallery.dialogs.ChangeViewTypeDialog
import com.simplemobiletools.gallery.pro.dialogs.ChangeViewTypeDialog import org.fossify.gallery.dialogs.FilterMediaDialog
import com.simplemobiletools.gallery.pro.dialogs.FilterMediaDialog import org.fossify.gallery.dialogs.GrantAllFilesDialog
import com.simplemobiletools.gallery.pro.dialogs.GrantAllFilesDialog import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.interfaces.DirectoryOperationsListener
import com.simplemobiletools.gallery.pro.interfaces.DirectoryOperationsListener import org.fossify.gallery.jobs.NewPhotoFetcher
import com.simplemobiletools.gallery.pro.jobs.NewPhotoFetcher import org.fossify.gallery.models.Directory
import com.simplemobiletools.gallery.pro.models.Directory import org.fossify.gallery.models.Medium
import com.simplemobiletools.gallery.pro.models.Medium
import java.io.* import java.io.*
class MainActivity : SimpleActivity(), DirectoryOperationsListener { class MainActivity : SimpleActivity(), DirectoryOperationsListener {
@ -161,7 +160,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
// just request the permission, tryLoadGallery will then trigger in onResume // just request the permission, tryLoadGallery will then trigger in onResume
handleMediaPermissions { success -> handleMediaPermissions { success ->
if (!success) { if (!success) {
toast(com.simplemobiletools.commons.R.string.no_storage_permissions) toast(org.fossify.commons.R.string.no_storage_permissions)
finish() finish()
} }
} }
@ -257,9 +256,9 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
} }
if (config.searchAllFilesByDefault) { if (config.searchAllFilesByDefault) {
binding.mainMenu.updateHintText(getString(com.simplemobiletools.commons.R.string.search_files)) binding.mainMenu.updateHintText(getString(org.fossify.commons.R.string.search_files))
} else { } else {
binding.mainMenu.updateHintText(getString(com.simplemobiletools.commons.R.string.search_folders)) binding.mainMenu.updateHintText(getString(org.fossify.commons.R.string.search_folders))
} }
} }
@ -357,7 +356,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
findItem(R.id.column_count).isVisible = config.viewTypeFolders == VIEW_TYPE_GRID findItem(R.id.column_count).isVisible = config.viewTypeFolders == VIEW_TYPE_GRID
findItem(R.id.set_as_default_folder).isVisible = !config.defaultFolder.isEmpty() findItem(R.id.set_as_default_folder).isVisible = !config.defaultFolder.isEmpty()
findItem(R.id.open_recycle_bin).isVisible = config.useRecycleBin && !config.showRecycleBinAtFolders findItem(R.id.open_recycle_bin).isVisible = config.useRecycleBin && !config.showRecycleBinAtFolders
findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(com.simplemobiletools.commons.R.bool.hide_google_relations) findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations)
} }
} }
@ -459,7 +458,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
val newFolder = File(config.tempFolderPath) val newFolder = File(config.tempFolderPath)
if (getDoesFilePathExist(newFolder.absolutePath) && newFolder.isDirectory) { if (getDoesFilePathExist(newFolder.absolutePath) && newFolder.isDirectory) {
if (newFolder.getProperSize(true) == 0L && newFolder.getFileCount(true) == 0 && newFolder.list()?.isEmpty() == true) { if (newFolder.getProperSize(true) == 0L && newFolder.getFileCount(true) == 0 && newFolder.list()?.isEmpty() == true) {
toast(String.format(getString(com.simplemobiletools.commons.R.string.deleting_folder), config.tempFolderPath), Toast.LENGTH_LONG) toast(String.format(getString(org.fossify.commons.R.string.deleting_folder), config.tempFolderPath), Toast.LENGTH_LONG)
tryDeleteFileDirItem(newFolder.toFileDirItem(applicationContext), true, true) tryDeleteFileDirItem(newFolder.toFileDirItem(applicationContext), true, true)
} }
} }
@ -510,17 +509,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
mWasDefaultFolderChecked = true mWasDefaultFolderChecked = true
} }
if (isPackageInstalled("com.simplemobiletools.gallery")) {
ConfirmationDialog(
this,
"",
com.simplemobiletools.commons.R.string.upgraded_from_free_gallery,
com.simplemobiletools.commons.R.string.ok,
0,
false
) {}
}
checkOTGPath() checkOTGPath()
checkDefaultSpamFolders() checkDefaultSpamFolders()
@ -532,7 +520,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
setupLayoutManager() setupLayoutManager()
} else { } else {
toast(com.simplemobiletools.commons.R.string.no_storage_permissions) toast(org.fossify.commons.R.string.no_storage_permissions)
finish() finish()
} }
} }
@ -659,7 +647,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
fileDirItems.isEmpty() -> return fileDirItems.isEmpty() -> return
fileDirItems.size == 1 -> { fileDirItems.size == 1 -> {
try { try {
toast(String.format(getString(com.simplemobiletools.commons.R.string.deleting_folder), fileDirItems.first().name)) toast(String.format(getString(org.fossify.commons.R.string.deleting_folder), fileDirItems.first().name))
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
} }
@ -667,7 +655,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
else -> { else -> {
val baseString = val baseString =
if (config.useRecycleBin && !config.tempSkipRecycleBin) com.simplemobiletools.commons.R.plurals.moving_items_into_bin else com.simplemobiletools.commons.R.plurals.delete_items if (config.useRecycleBin && !config.tempSkipRecycleBin) org.fossify.commons.R.plurals.moving_items_into_bin else org.fossify.commons.R.plurals.delete_items
val deletingItems = resources.getQuantityString(baseString, fileDirItems.size, fileDirItems.size) val deletingItems = resources.getQuantityString(baseString, fileDirItems.size, fileDirItems.size)
toast(deletingItems) toast(deletingItems)
} }
@ -696,7 +684,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
if (it) { if (it) {
deleteFilteredFileDirItems(itemsToDelete, folders) deleteFilteredFileDirItems(itemsToDelete, folders)
} else { } else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
} }
} }
} else { } else {
@ -796,7 +784,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
private fun changeColumnCount() { private fun changeColumnCount() {
val items = ArrayList<RadioItem>() val items = ArrayList<RadioItem>()
for (i in 1..MAX_COLUMN_COUNT) { for (i in 1..MAX_COLUMN_COUNT) {
items.add(RadioItem(i, resources.getQuantityString(com.simplemobiletools.commons.R.plurals.column_counts, i, i))) items.add(RadioItem(i, resources.getQuantityString(org.fossify.commons.R.plurals.column_counts, i, i)))
} }
val currentColumnCount = (binding.directoriesGrid.layoutManager as MyGridLayoutManager).spanCount val currentColumnCount = (binding.directoriesGrid.layoutManager as MyGridLayoutManager).spanCount
@ -971,7 +959,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
if (mediaDB.getDeletedMediaCount() > 0) { if (mediaDB.getDeletedMediaCount() > 0) {
val recycleBin = Directory().apply { val recycleBin = Directory().apply {
path = RECYCLE_BIN path = RECYCLE_BIN
name = getString(com.simplemobiletools.commons.R.string.recycle_bin) name = getString(org.fossify.commons.R.string.recycle_bin)
location = LOCATION_INTERNAL location = LOCATION_INTERNAL
} }
@ -985,7 +973,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
if (mediaDB.getFavoritesCount() > 0) { if (mediaDB.getFavoritesCount() > 0) {
val favorites = Directory().apply { val favorites = Directory().apply {
path = FAVORITES path = FAVORITES
name = getString(com.simplemobiletools.commons.R.string.favorites) name = getString(org.fossify.commons.R.string.favorites)
location = LOCATION_INTERNAL location = LOCATION_INTERNAL
} }
@ -1174,10 +1162,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
// do not add excluded folders and their subfolders at everShownFolders // do not add excluded folders and their subfolders at everShownFolders
dirs.filter { dir -> dirs.filter { dir ->
if (excludedFolders.any { dir.path.startsWith(it) }) { return@filter !excludedFolders.any { dir.path.startsWith(it) }
return@filter false
}
return@filter true
}.mapTo(everShownFolders) { it.path } }.mapTo(everShownFolders) { it.path }
try { try {
@ -1223,11 +1208,11 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
binding.directoriesEmptyPlaceholder2.beVisibleIf(dirs.isEmpty() && mLoadedInitialPhotos) binding.directoriesEmptyPlaceholder2.beVisibleIf(dirs.isEmpty() && mLoadedInitialPhotos)
if (binding.mainMenu.isSearchOpen) { if (binding.mainMenu.isSearchOpen) {
binding.directoriesEmptyPlaceholder.text = getString(com.simplemobiletools.commons.R.string.no_items_found) binding.directoriesEmptyPlaceholder.text = getString(org.fossify.commons.R.string.no_items_found)
binding.directoriesEmptyPlaceholder2.beGone() binding.directoriesEmptyPlaceholder2.beGone()
} else if (dirs.isEmpty() && config.filterMedia == getDefaultFileFilter()) { } else if (dirs.isEmpty() && config.filterMedia == getDefaultFileFilter()) {
if (isRPlus() && !isExternalStorageManager()) { if (isRPlus() && !isExternalStorageManager()) {
binding.directoriesEmptyPlaceholder.text = getString(com.simplemobiletools.commons.R.string.no_items_found) binding.directoriesEmptyPlaceholder.text = getString(org.fossify.commons.R.string.no_items_found)
binding.directoriesEmptyPlaceholder2.beGone() binding.directoriesEmptyPlaceholder2.beGone()
} else { } else {
binding.directoriesEmptyPlaceholder.text = getString(R.string.no_media_add_included) binding.directoriesEmptyPlaceholder.text = getString(R.string.no_media_add_included)
@ -1505,16 +1490,6 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
private fun checkWhatsNewDialog() { private fun checkWhatsNewDialog() {
arrayListOf<Release>().apply { arrayListOf<Release>().apply {
add(Release(213, R.string.release_213))
add(Release(217, R.string.release_217))
add(Release(220, R.string.release_220))
add(Release(221, R.string.release_221))
add(Release(225, R.string.release_225))
add(Release(258, R.string.release_258))
add(Release(277, R.string.release_277))
add(Release(295, R.string.release_295))
add(Release(327, R.string.release_327))
add(Release(369, R.string.release_369))
checkWhatsNew(this, BuildConfig.VERSION_CODE) checkWhatsNew(this, BuildConfig.VERSION_CODE)
} }
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.app.Activity import android.app.Activity
import android.app.WallpaperManager import android.app.WallpaperManager
@ -15,27 +15,27 @@ import com.bumptech.glide.Glide
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.SimpleTarget import com.bumptech.glide.request.target.SimpleTarget
import com.bumptech.glide.request.transition.Transition import com.bumptech.glide.request.transition.Transition
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.CreateNewFolderDialog import org.fossify.commons.dialogs.CreateNewFolderDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import org.fossify.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.commons.models.FileDirItem import org.fossify.commons.models.FileDirItem
import com.simplemobiletools.commons.models.RadioItem import org.fossify.commons.models.RadioItem
import com.simplemobiletools.commons.views.MyGridLayoutManager import org.fossify.commons.views.MyGridLayoutManager
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.adapters.MediaAdapter import org.fossify.gallery.adapters.MediaAdapter
import com.simplemobiletools.gallery.pro.asynctasks.GetMediaAsynctask import org.fossify.gallery.asynctasks.GetMediaAsynctask
import com.simplemobiletools.gallery.pro.databases.GalleryDatabase import org.fossify.gallery.databases.GalleryDatabase
import com.simplemobiletools.gallery.pro.databinding.ActivityMediaBinding import org.fossify.gallery.databinding.ActivityMediaBinding
import com.simplemobiletools.gallery.pro.dialogs.* import org.fossify.gallery.dialogs.*
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.interfaces.MediaOperationsListener import org.fossify.gallery.interfaces.MediaOperationsListener
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import com.simplemobiletools.gallery.pro.models.ThumbnailItem import org.fossify.gallery.models.ThumbnailItem
import com.simplemobiletools.gallery.pro.models.ThumbnailSection import org.fossify.gallery.models.ThumbnailSection
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException
@ -104,17 +104,6 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
if (mShowAll) { if (mShowAll) {
registerFileUpdateListener() registerFileUpdateListener()
if (isPackageInstalled("com.simplemobiletools.gallery")) {
ConfirmationDialog(
this,
"",
com.simplemobiletools.commons.R.string.upgraded_from_free_gallery,
com.simplemobiletools.commons.R.string.ok,
0,
false
) {}
}
} }
binding.mediaEmptyTextPlaceholder2.setOnClickListener { binding.mediaEmptyTextPlaceholder2.setOnClickListener {
@ -364,7 +353,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
val grouped = MediaFetcher(applicationContext).groupMedia(filtered as ArrayList<Medium>, mPath) val grouped = MediaFetcher(applicationContext).groupMedia(filtered as ArrayList<Medium>, mPath)
runOnUiThread { runOnUiThread {
if (grouped.isEmpty()) { if (grouped.isEmpty()) {
binding.mediaEmptyTextPlaceholder.text = getString(com.simplemobiletools.commons.R.string.no_items_found) binding.mediaEmptyTextPlaceholder.text = getString(org.fossify.commons.R.string.no_items_found)
binding.mediaEmptyTextPlaceholder.beVisible() binding.mediaEmptyTextPlaceholder.beVisible()
binding.mediaFastscroller.beGone() binding.mediaFastscroller.beGone()
} else { } else {
@ -384,16 +373,16 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
handlePermission(getPermissionToRequest()) { handlePermission(getPermissionToRequest()) {
if (it) { if (it) {
val dirName = when { val dirName = when {
mPath == FAVORITES -> getString(com.simplemobiletools.commons.R.string.favorites) mPath == FAVORITES -> getString(org.fossify.commons.R.string.favorites)
mPath == RECYCLE_BIN -> getString(com.simplemobiletools.commons.R.string.recycle_bin) mPath == RECYCLE_BIN -> getString(org.fossify.commons.R.string.recycle_bin)
mPath == config.OTGPath -> getString(com.simplemobiletools.commons.R.string.usb) mPath == config.OTGPath -> getString(org.fossify.commons.R.string.usb)
else -> getHumanizedFilename(mPath) else -> getHumanizedFilename(mPath)
} }
val searchHint = if (mShowAll) { val searchHint = if (mShowAll) {
getString(com.simplemobiletools.commons.R.string.search_files) getString(org.fossify.commons.R.string.search_files)
} else { } else {
getString(com.simplemobiletools.commons.R.string.search_in_placeholder, dirName) getString(org.fossify.commons.R.string.search_in_placeholder, dirName)
} }
binding.mediaMenu.updateHintText(searchHint) binding.mediaMenu.updateHintText(searchHint)
@ -407,7 +396,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
getMedia() getMedia()
setupLayoutManager() setupLayoutManager()
} else { } else {
toast(com.simplemobiletools.commons.R.string.no_storage_permissions) toast(org.fossify.commons.R.string.no_storage_permissions)
finish() finish()
} }
} }
@ -631,7 +620,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
} }
if (mPath == RECYCLE_BIN) { if (mPath == RECYCLE_BIN) {
binding.mediaEmptyTextPlaceholder.setText(com.simplemobiletools.commons.R.string.no_items_found) binding.mediaEmptyTextPlaceholder.setText(org.fossify.commons.R.string.no_items_found)
binding.mediaEmptyTextPlaceholder.beVisible() binding.mediaEmptyTextPlaceholder.beVisible()
binding.mediaEmptyTextPlaceholder2.beGone() binding.mediaEmptyTextPlaceholder2.beGone()
} else { } else {
@ -770,7 +759,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
private fun changeColumnCount() { private fun changeColumnCount() {
val items = ArrayList<RadioItem>() val items = ArrayList<RadioItem>()
for (i in 1..MAX_COLUMN_COUNT) { for (i in 1..MAX_COLUMN_COUNT) {
items.add(RadioItem(i, resources.getQuantityString(com.simplemobiletools.commons.R.plurals.column_counts, i, i))) items.add(RadioItem(i, resources.getQuantityString(org.fossify.commons.R.plurals.column_counts, i, i)))
} }
val currentColumnCount = (binding.mediaGrid.layoutManager as MyGridLayoutManager).spanCount val currentColumnCount = (binding.mediaGrid.layoutManager as MyGridLayoutManager).spanCount
@ -903,18 +892,18 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
} }
if (config.useRecycleBin && !skipRecycleBin && !filtered.first().path.startsWith(recycleBinPath)) { if (config.useRecycleBin && !skipRecycleBin && !filtered.first().path.startsWith(recycleBinPath)) {
val movingItems = resources.getQuantityString(com.simplemobiletools.commons.R.plurals.moving_items_into_bin, filtered.size, filtered.size) val movingItems = resources.getQuantityString(org.fossify.commons.R.plurals.moving_items_into_bin, filtered.size, filtered.size)
toast(movingItems) toast(movingItems)
movePathsInRecycleBin(filtered.map { it.path } as ArrayList<String>) { movePathsInRecycleBin(filtered.map { it.path } as ArrayList<String>) {
if (it) { if (it) {
deleteFilteredFiles(filtered) deleteFilteredFiles(filtered)
} else { } else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
} }
} }
} else { } else {
val deletingItems = resources.getQuantityString(com.simplemobiletools.commons.R.plurals.deleting_items, filtered.size, filtered.size) val deletingItems = resources.getQuantityString(org.fossify.commons.R.plurals.deleting_items, filtered.size, filtered.size)
toast(deletingItems) toast(deletingItems)
deleteFilteredFiles(filtered) deleteFilteredFiles(filtered)
} }
@ -925,7 +914,7 @@ class MediaActivity : SimpleActivity(), MediaOperationsListener {
private fun deleteFilteredFiles(filtered: ArrayList<FileDirItem>) { private fun deleteFilteredFiles(filtered: ArrayList<FileDirItem>) {
deleteFiles(filtered) { deleteFiles(filtered) {
if (!it) { if (!it) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return@deleteFiles return@deleteFiles
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.content.res.Configuration import android.content.res.Configuration
import android.graphics.Bitmap import android.graphics.Bitmap
@ -12,15 +12,15 @@ import android.view.WindowInsetsController
import android.widget.RelativeLayout import android.widget.RelativeLayout
import com.google.vr.sdk.widgets.pano.VrPanoramaEventListener import com.google.vr.sdk.widgets.pano.VrPanoramaEventListener
import com.google.vr.sdk.widgets.pano.VrPanoramaView import com.google.vr.sdk.widgets.pano.VrPanoramaView
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isRPlus import org.fossify.commons.helpers.isRPlus
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.ActivityPanoramaPhotoBinding import org.fossify.gallery.databinding.ActivityPanoramaPhotoBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.extensions.hideSystemUI import org.fossify.gallery.extensions.hideSystemUI
import com.simplemobiletools.gallery.pro.extensions.showSystemUI import org.fossify.gallery.extensions.showSystemUI
import com.simplemobiletools.gallery.pro.helpers.PATH import org.fossify.gallery.helpers.PATH
open class PanoramaPhotoActivity : SimpleActivity() { open class PanoramaPhotoActivity : SimpleActivity() {
private val CARDBOARD_DISPLAY_MODE = 3 private val CARDBOARD_DISPLAY_MODE = 3

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.content.res.Configuration import android.content.res.Configuration
import android.graphics.Color import android.graphics.Color
@ -13,16 +13,16 @@ import android.widget.RelativeLayout
import android.widget.SeekBar import android.widget.SeekBar
import com.google.vr.sdk.widgets.video.VrVideoEventListener import com.google.vr.sdk.widgets.video.VrVideoEventListener
import com.google.vr.sdk.widgets.video.VrVideoView import com.google.vr.sdk.widgets.video.VrVideoView
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.isRPlus import org.fossify.commons.helpers.isRPlus
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.ActivityPanoramaVideoBinding import org.fossify.gallery.databinding.ActivityPanoramaVideoBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.extensions.hasNavBar import org.fossify.gallery.extensions.hasNavBar
import com.simplemobiletools.gallery.pro.extensions.hideSystemUI import org.fossify.gallery.extensions.hideSystemUI
import com.simplemobiletools.gallery.pro.extensions.showSystemUI import org.fossify.gallery.extensions.showSystemUI
import com.simplemobiletools.gallery.pro.helpers.MIN_SKIP_LENGTH import org.fossify.gallery.helpers.MIN_SKIP_LENGTH
import com.simplemobiletools.gallery.pro.helpers.PATH import org.fossify.gallery.helpers.PATH
import java.io.File import java.io.File
open class PanoramaVideoActivity : SimpleActivity(), SeekBar.OnSeekBarChangeListener { open class PanoramaVideoActivity : SimpleActivity(), SeekBar.OnSeekBarChangeListener {
@ -149,7 +149,7 @@ open class PanoramaVideoActivity : SimpleActivity(), SeekBar.OnSeekBarChangeList
mIsPlaying = true mIsPlaying = true
resumeVideo() resumeVideo()
} else { } else {
binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(com.simplemobiletools.commons.R.drawable.ic_play_outline_vector) binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_play_outline_vector)
} }
binding.bottomVideoTimeHolder.videoTogglePlayPause.beVisible() binding.bottomVideoTimeHolder.videoTogglePlayPause.beVisible()
} }
@ -204,7 +204,7 @@ open class PanoramaVideoActivity : SimpleActivity(), SeekBar.OnSeekBarChangeList
} }
private fun resumeVideo() { private fun resumeVideo() {
binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(com.simplemobiletools.commons.R.drawable.ic_pause_outline_vector) binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_pause_outline_vector)
if (mCurrTime == mDuration) { if (mCurrTime == mDuration) {
setVideoProgress(0) setVideoProgress(0)
mPlayOnReady = true mPlayOnReady = true
@ -217,7 +217,7 @@ open class PanoramaVideoActivity : SimpleActivity(), SeekBar.OnSeekBarChangeList
private fun pauseVideo() { private fun pauseVideo() {
binding.vrVideoView.pauseVideo() binding.vrVideoView.pauseVideo()
binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(com.simplemobiletools.commons.R.drawable.ic_play_outline_vector) binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_play_outline_vector)
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
} }
@ -253,7 +253,7 @@ open class PanoramaVideoActivity : SimpleActivity(), SeekBar.OnSeekBarChangeList
binding.bottomVideoTimeHolder.root.background = resources.getDrawable(R.drawable.gradient_background) binding.bottomVideoTimeHolder.root.background = resources.getDrawable(R.drawable.gradient_background)
binding.bottomVideoTimeHolder.root.onGlobalLayout { binding.bottomVideoTimeHolder.root.onGlobalLayout {
val newBottomMargin = binding.bottomVideoTimeHolder.root.height - resources.getDimension(R.dimen.video_player_play_pause_size) val newBottomMargin = binding.bottomVideoTimeHolder.root.height - resources.getDimension(R.dimen.video_player_play_pause_size)
.toInt() - resources.getDimension(com.simplemobiletools.commons.R.dimen.activity_margin).toInt() .toInt() - resources.getDimension(org.fossify.commons.R.dimen.activity_margin).toInt()
(binding.explore.layoutParams as RelativeLayout.LayoutParams).bottomMargin = newBottomMargin (binding.explore.layoutParams as RelativeLayout.LayoutParams).bottomMargin = newBottomMargin
(binding.cardboard.layoutParams as RelativeLayout.LayoutParams).apply { (binding.cardboard.layoutParams as RelativeLayout.LayoutParams).apply {
@ -262,7 +262,7 @@ open class PanoramaVideoActivity : SimpleActivity(), SeekBar.OnSeekBarChangeList
} }
binding.explore.requestLayout() binding.explore.requestLayout()
} }
binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(com.simplemobiletools.commons.R.drawable.ic_play_outline_vector) binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_play_outline_vector)
binding.cardboard.setOnClickListener { binding.cardboard.setOnClickListener {
binding.vrVideoView.displayMode = CARDBOARD_DISPLAY_MODE binding.vrVideoView.displayMode = CARDBOARD_DISPLAY_MODE

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.os.Bundle import android.os.Bundle

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.content.Intent import android.content.Intent
import android.content.res.Configuration import android.content.res.Configuration
@ -10,18 +10,18 @@ import android.provider.MediaStore
import android.text.Html import android.text.Html
import android.view.View import android.view.View
import android.widget.RelativeLayout import android.widget.RelativeLayout
import com.simplemobiletools.commons.dialogs.PropertiesDialog import org.fossify.commons.dialogs.PropertiesDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.gallery.pro.BuildConfig import org.fossify.gallery.BuildConfig
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.FragmentHolderBinding import org.fossify.gallery.databinding.FragmentHolderBinding
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.fragments.PhotoFragment import org.fossify.gallery.fragments.PhotoFragment
import com.simplemobiletools.gallery.pro.fragments.VideoFragment import org.fossify.gallery.fragments.VideoFragment
import com.simplemobiletools.gallery.pro.fragments.ViewPagerFragment import org.fossify.gallery.fragments.ViewPagerFragment
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import java.io.File import java.io.File
import java.io.FileInputStream import java.io.FileInputStream
@ -51,7 +51,7 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList
if (it) { if (it) {
checkIntent(savedInstanceState) checkIntent(savedInstanceState)
} else { } else {
toast(com.simplemobiletools.commons.R.string.no_storage_permissions) toast(org.fossify.commons.R.string.no_storage_permissions)
finish() finish()
} }
} }
@ -100,8 +100,8 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList
(binding.fragmentViewerAppbar.layoutParams as RelativeLayout.LayoutParams).topMargin = statusBarHeight (binding.fragmentViewerAppbar.layoutParams as RelativeLayout.LayoutParams).topMargin = statusBarHeight
binding.fragmentViewerToolbar.apply { binding.fragmentViewerToolbar.apply {
setTitleTextColor(Color.WHITE) setTitleTextColor(Color.WHITE)
overflowIcon = resources.getColoredDrawableWithColor(com.simplemobiletools.commons.R.drawable.ic_three_dots_vector, Color.WHITE) overflowIcon = resources.getColoredDrawableWithColor(org.fossify.commons.R.drawable.ic_three_dots_vector, Color.WHITE)
navigationIcon = resources.getColoredDrawableWithColor(com.simplemobiletools.commons.R.drawable.ic_arrow_left_vector, Color.WHITE) navigationIcon = resources.getColoredDrawableWithColor(org.fossify.commons.R.drawable.ic_arrow_left_vector, Color.WHITE)
} }
updateMenuItemColors(binding.fragmentViewerToolbar.menu, forceWhiteIcons = true) updateMenuItemColors(binding.fragmentViewerToolbar.menu, forceWhiteIcons = true)
@ -254,7 +254,7 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList
private fun launchVideoPlayer() { private fun launchVideoPlayer() {
val newUri = getFinalUriFromPath(mUri.toString(), BuildConfig.APPLICATION_ID) val newUri = getFinalUriFromPath(mUri.toString(), BuildConfig.APPLICATION_ID)
if (newUri == null) { if (newUri == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return return
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
@ -6,23 +6,23 @@ import android.view.ViewGroup
import android.widget.RelativeLayout import android.widget.RelativeLayout
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID import org.fossify.commons.helpers.VIEW_TYPE_GRID
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.models.FileDirItem import org.fossify.commons.models.FileDirItem
import com.simplemobiletools.commons.views.MyGridLayoutManager import org.fossify.commons.views.MyGridLayoutManager
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.adapters.MediaAdapter import org.fossify.gallery.adapters.MediaAdapter
import com.simplemobiletools.gallery.pro.asynctasks.GetMediaAsynctask import org.fossify.gallery.asynctasks.GetMediaAsynctask
import com.simplemobiletools.gallery.pro.databinding.ActivitySearchBinding import org.fossify.gallery.databinding.ActivitySearchBinding
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.helpers.GridSpacingItemDecoration import org.fossify.gallery.helpers.GridSpacingItemDecoration
import com.simplemobiletools.gallery.pro.helpers.MediaFetcher import org.fossify.gallery.helpers.MediaFetcher
import com.simplemobiletools.gallery.pro.helpers.PATH import org.fossify.gallery.helpers.PATH
import com.simplemobiletools.gallery.pro.helpers.SHOW_ALL import org.fossify.gallery.helpers.SHOW_ALL
import com.simplemobiletools.gallery.pro.interfaces.MediaOperationsListener import org.fossify.gallery.interfaces.MediaOperationsListener
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import com.simplemobiletools.gallery.pro.models.ThumbnailItem import org.fossify.gallery.models.ThumbnailItem
import java.io.File import java.io.File
class SearchActivity : SimpleActivity(), MediaOperationsListener { class SearchActivity : SimpleActivity(), MediaOperationsListener {
@ -60,7 +60,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
binding.searchMenu.setupMenu() binding.searchMenu.setupMenu()
binding.searchMenu.toggleForceArrowBackIcon(true) binding.searchMenu.toggleForceArrowBackIcon(true)
binding.searchMenu.focusView() binding.searchMenu.focusView()
binding.searchMenu.updateHintText(getString(com.simplemobiletools.commons.R.string.search_files)) binding.searchMenu.updateHintText(getString(org.fossify.commons.R.string.search_files))
binding.searchMenu.onNavigateBackClickListener = { binding.searchMenu.onNavigateBackClickListener = {
if (binding.searchMenu.getCurrentQuery().isEmpty()) { if (binding.searchMenu.getCurrentQuery().isEmpty()) {
@ -97,7 +97,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
val grouped = MediaFetcher(applicationContext).groupMedia(filtered as ArrayList<Medium>, "") val grouped = MediaFetcher(applicationContext).groupMedia(filtered as ArrayList<Medium>, "")
runOnUiThread { runOnUiThread {
if (grouped.isEmpty()) { if (grouped.isEmpty()) {
binding.searchEmptyTextPlaceholder.text = getString(com.simplemobiletools.commons.R.string.no_items_found) binding.searchEmptyTextPlaceholder.text = getString(org.fossify.commons.R.string.no_items_found)
binding.searchEmptyTextPlaceholder.beVisible() binding.searchEmptyTextPlaceholder.beVisible()
} else { } else {
binding.searchEmptyTextPlaceholder.beGone() binding.searchEmptyTextPlaceholder.beGone()
@ -246,18 +246,18 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
} }
if (config.useRecycleBin && !skipRecycleBin && !filtered.first().path.startsWith(recycleBinPath)) { if (config.useRecycleBin && !skipRecycleBin && !filtered.first().path.startsWith(recycleBinPath)) {
val movingItems = resources.getQuantityString(com.simplemobiletools.commons.R.plurals.moving_items_into_bin, filtered.size, filtered.size) val movingItems = resources.getQuantityString(org.fossify.commons.R.plurals.moving_items_into_bin, filtered.size, filtered.size)
toast(movingItems) toast(movingItems)
movePathsInRecycleBin(filtered.map { it.path } as ArrayList<String>) { movePathsInRecycleBin(filtered.map { it.path } as ArrayList<String>) {
if (it) { if (it) {
deleteFilteredFiles(filtered) deleteFilteredFiles(filtered)
} else { } else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
} }
} }
} else { } else {
val deletingItems = resources.getQuantityString(com.simplemobiletools.commons.R.plurals.deleting_items, filtered.size, filtered.size) val deletingItems = resources.getQuantityString(org.fossify.commons.R.plurals.deleting_items, filtered.size, filtered.size)
toast(deletingItems) toast(deletingItems)
deleteFilteredFiles(filtered) deleteFilteredFiles(filtered)
} }
@ -266,7 +266,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
private fun deleteFilteredFiles(filtered: ArrayList<FileDirItem>) { private fun deleteFilteredFiles(filtered: ArrayList<FileDirItem>) {
deleteFiles(filtered) { deleteFiles(filtered) {
if (!it) { if (!it) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return@deleteFiles return@deleteFiles
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.app.Activity import android.app.Activity
import android.app.WallpaperManager import android.app.WallpaperManager
@ -7,16 +7,16 @@ import android.graphics.Bitmap
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import com.canhub.cropper.CropImageView import com.canhub.cropper.CropImageView
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import org.fossify.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.checkAppSideloading import org.fossify.commons.extensions.checkAppSideloading
import com.simplemobiletools.commons.extensions.toast import org.fossify.commons.extensions.toast
import com.simplemobiletools.commons.extensions.viewBinding import org.fossify.commons.extensions.viewBinding
import com.simplemobiletools.commons.helpers.NavigationIcon import org.fossify.commons.helpers.NavigationIcon
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isNougatPlus import org.fossify.commons.helpers.isNougatPlus
import com.simplemobiletools.commons.models.RadioItem import org.fossify.commons.models.RadioItem
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.ActivitySetWallpaperBinding import org.fossify.gallery.databinding.ActivitySetWallpaperBinding
class SetWallpaperActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener { class SetWallpaperActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener {
private val RATIO_PORTRAIT = 0 private val RATIO_PORTRAIT = 0
@ -163,7 +163,7 @@ class SetWallpaperActivity : SimpleActivity(), CropImageView.OnCropImageComplete
} }
setResult(Activity.RESULT_OK) setResult(Activity.RESULT_OK)
} catch (e: OutOfMemoryError) { } catch (e: OutOfMemoryError) {
toast(com.simplemobiletools.commons.R.string.out_of_memory_error) toast(org.fossify.commons.R.string.out_of_memory_error)
setResult(Activity.RESULT_CANCELED) setResult(Activity.RESULT_CANCELED)
} }
finish() finish()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.app.Activity import android.app.Activity
import android.content.ActivityNotFoundException import android.content.ActivityNotFoundException
@ -8,16 +8,16 @@ import android.text.TextUtils
import android.widget.Toast import android.widget.Toast
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import com.simplemobiletools.commons.dialogs.* import org.fossify.commons.dialogs.*
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.commons.models.RadioItem import org.fossify.commons.models.RadioItem
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.ActivitySettingsBinding import org.fossify.gallery.databinding.ActivitySettingsBinding
import com.simplemobiletools.gallery.pro.dialogs.* import org.fossify.gallery.dialogs.*
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.models.AlbumCover import org.fossify.gallery.models.AlbumCover
import java.io.File import java.io.File
import java.io.InputStream import java.io.InputStream
import java.io.OutputStream import java.io.OutputStream
@ -197,7 +197,7 @@ class SettingsActivity : SimpleActivity() {
private fun setupManageIncludedFolders() { private fun setupManageIncludedFolders() {
if (isRPlus() && !isExternalStorageManager()) { if (isRPlus() && !isExternalStorageManager()) {
binding.settingsManageIncludedFolders.text = binding.settingsManageIncludedFolders.text =
"${getString(R.string.manage_included_folders)} (${getString(com.simplemobiletools.commons.R.string.no_permission)})" "${getString(R.string.manage_included_folders)} (${getString(org.fossify.commons.R.string.no_permission)})"
} else { } else {
binding.settingsManageIncludedFolders.setText(R.string.manage_included_folders) binding.settingsManageIncludedFolders.setText(R.string.manage_included_folders)
} }
@ -231,9 +231,9 @@ class SettingsActivity : SimpleActivity() {
private fun setupShowHiddenItems() { private fun setupShowHiddenItems() {
if (isRPlus() && !isExternalStorageManager()) { if (isRPlus() && !isExternalStorageManager()) {
binding.settingsShowHiddenItems.text = binding.settingsShowHiddenItems.text =
"${getString(com.simplemobiletools.commons.R.string.show_hidden_items)} (${getString(com.simplemobiletools.commons.R.string.no_permission)})" "${getString(org.fossify.commons.R.string.show_hidden_items)} (${getString(org.fossify.commons.R.string.no_permission)})"
} else { } else {
binding.settingsShowHiddenItems.setText(com.simplemobiletools.commons.R.string.show_hidden_items) binding.settingsShowHiddenItems.setText(org.fossify.commons.R.string.show_hidden_items)
} }
binding.settingsShowHiddenItems.isChecked = config.showHiddenMedia binding.settingsShowHiddenItems.isChecked = config.showHiddenMedia
@ -363,8 +363,8 @@ class SettingsActivity : SimpleActivity() {
if (config.isHiddenPasswordProtectionOn) { if (config.isHiddenPasswordProtectionOn) {
val confirmationTextId = if (config.hiddenProtectionType == PROTECTION_FINGERPRINT) val confirmationTextId = if (config.hiddenProtectionType == PROTECTION_FINGERPRINT)
com.simplemobiletools.commons.R.string.fingerprint_setup_successfully else com.simplemobiletools.commons.R.string.protection_setup_successfully org.fossify.commons.R.string.fingerprint_setup_successfully else org.fossify.commons.R.string.protection_setup_successfully
ConfirmationDialog(this, "", confirmationTextId, com.simplemobiletools.commons.R.string.ok, 0) { } ConfirmationDialog(this, "", confirmationTextId, org.fossify.commons.R.string.ok, 0) { }
} }
} }
} }
@ -386,8 +386,8 @@ class SettingsActivity : SimpleActivity() {
if (config.isExcludedPasswordProtectionOn) { if (config.isExcludedPasswordProtectionOn) {
val confirmationTextId = if (config.excludedProtectionType == PROTECTION_FINGERPRINT) val confirmationTextId = if (config.excludedProtectionType == PROTECTION_FINGERPRINT)
com.simplemobiletools.commons.R.string.fingerprint_setup_successfully else com.simplemobiletools.commons.R.string.protection_setup_successfully org.fossify.commons.R.string.fingerprint_setup_successfully else org.fossify.commons.R.string.protection_setup_successfully
ConfirmationDialog(this, "", confirmationTextId, com.simplemobiletools.commons.R.string.ok, 0) { } ConfirmationDialog(this, "", confirmationTextId, org.fossify.commons.R.string.ok, 0) { }
} }
} }
} }
@ -408,8 +408,8 @@ class SettingsActivity : SimpleActivity() {
if (config.isAppPasswordProtectionOn) { if (config.isAppPasswordProtectionOn) {
val confirmationTextId = if (config.appProtectionType == PROTECTION_FINGERPRINT) val confirmationTextId = if (config.appProtectionType == PROTECTION_FINGERPRINT)
com.simplemobiletools.commons.R.string.fingerprint_setup_successfully else com.simplemobiletools.commons.R.string.protection_setup_successfully org.fossify.commons.R.string.fingerprint_setup_successfully else org.fossify.commons.R.string.protection_setup_successfully
ConfirmationDialog(this, "", confirmationTextId, com.simplemobiletools.commons.R.string.ok, 0) { } ConfirmationDialog(this, "", confirmationTextId, org.fossify.commons.R.string.ok, 0) { }
} }
} }
} }
@ -430,8 +430,8 @@ class SettingsActivity : SimpleActivity() {
if (config.isDeletePasswordProtectionOn) { if (config.isDeletePasswordProtectionOn) {
val confirmationTextId = if (config.deleteProtectionType == PROTECTION_FINGERPRINT) val confirmationTextId = if (config.deleteProtectionType == PROTECTION_FINGERPRINT)
com.simplemobiletools.commons.R.string.fingerprint_setup_successfully else com.simplemobiletools.commons.R.string.protection_setup_successfully org.fossify.commons.R.string.fingerprint_setup_successfully else org.fossify.commons.R.string.protection_setup_successfully
ConfirmationDialog(this, "", confirmationTextId, com.simplemobiletools.commons.R.string.ok, 0) { } ConfirmationDialog(this, "", confirmationTextId, org.fossify.commons.R.string.ok, 0) { }
} }
} }
} }
@ -712,7 +712,7 @@ class SettingsActivity : SimpleActivity() {
binding.settingsEmptyRecycleBinHolder.setOnClickListener { binding.settingsEmptyRecycleBinHolder.setOnClickListener {
if (mRecycleBinContentSize == 0L) { if (mRecycleBinContentSize == 0L) {
toast(com.simplemobiletools.commons.R.string.recycle_bin_empty) toast(org.fossify.commons.R.string.recycle_bin_empty)
} else { } else {
showRecycleBinEmptyingDialog { showRecycleBinEmptyingDialog {
emptyTheRecycleBin() emptyTheRecycleBin()
@ -753,7 +753,7 @@ class SettingsActivity : SimpleActivity() {
try { try {
startActivityForResult(this, SELECT_EXPORT_FAVORITES_FILE_INTENT) startActivityForResult(this, SELECT_EXPORT_FAVORITES_FILE_INTENT)
} catch (e: ActivityNotFoundException) { } catch (e: ActivityNotFoundException) {
toast(com.simplemobiletools.commons.R.string.system_service_disabled, Toast.LENGTH_LONG) toast(org.fossify.commons.R.string.system_service_disabled, Toast.LENGTH_LONG)
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
} }
@ -776,7 +776,7 @@ class SettingsActivity : SimpleActivity() {
private fun exportFavoritesTo(outputStream: OutputStream?) { private fun exportFavoritesTo(outputStream: OutputStream?) {
if (outputStream == null) { if (outputStream == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return return
} }
@ -789,15 +789,15 @@ class SettingsActivity : SimpleActivity() {
} }
} }
toast(com.simplemobiletools.commons.R.string.exporting_successful) toast(org.fossify.commons.R.string.exporting_successful)
} else { } else {
toast(com.simplemobiletools.commons.R.string.no_items_found) toast(org.fossify.commons.R.string.no_items_found)
} }
} }
} }
private fun getExportFavoritesFilename(): String { private fun getExportFavoritesFilename(): String {
val appName = baseConfig.appId.removeSuffix(".debug").removeSuffix(".pro").removePrefix("com.simplemobiletools.") val appName = baseConfig.appId.removeSuffix(".debug").removeSuffix(".pro").removePrefix("org.fossify.")
return "$appName-favorites_${getCurrentFormattedDateTime()}" return "$appName-favorites_${getCurrentFormattedDateTime()}"
} }
@ -825,7 +825,7 @@ class SettingsActivity : SimpleActivity() {
private fun importFavorites(inputStream: InputStream?) { private fun importFavorites(inputStream: InputStream?) {
if (inputStream == null) { if (inputStream == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return return
} }
@ -846,7 +846,7 @@ class SettingsActivity : SimpleActivity() {
} }
} }
toast(if (importedItems > 0) com.simplemobiletools.commons.R.string.importing_successful else com.simplemobiletools.commons.R.string.no_entries_for_importing) toast(if (importedItems > 0) org.fossify.commons.R.string.importing_successful else org.fossify.commons.R.string.no_entries_for_importing)
} }
} }
@ -968,7 +968,7 @@ class SettingsActivity : SimpleActivity() {
private fun parseFile(inputStream: InputStream?) { private fun parseFile(inputStream: InputStream?) {
if (inputStream == null) { if (inputStream == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return return
} }
@ -1096,7 +1096,7 @@ class SettingsActivity : SimpleActivity() {
} }
} }
toast(if (configValues.size > 0) com.simplemobiletools.commons.R.string.settings_imported_successfully else com.simplemobiletools.commons.R.string.no_entries_for_importing) toast(if (configValues.size > 0) org.fossify.commons.R.string.settings_imported_successfully else org.fossify.commons.R.string.no_entries_for_importing)
runOnUiThread { runOnUiThread {
setupSettingItems() setupSettingItems()
} }

View file

@ -1,21 +1,21 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.database.ContentObserver import android.database.ContentObserver
import android.net.Uri import android.net.Uri
import android.provider.MediaStore.Images import android.provider.MediaStore.Images
import android.provider.MediaStore.Video import android.provider.MediaStore.Video
import android.view.WindowManager import android.view.WindowManager
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.FilePickerDialog import org.fossify.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.getParentPath import org.fossify.commons.extensions.getParentPath
import com.simplemobiletools.commons.extensions.getRealPathFromURI import org.fossify.commons.extensions.getRealPathFromURI
import com.simplemobiletools.commons.extensions.scanPathRecursively import org.fossify.commons.extensions.scanPathRecursively
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isPiePlus import org.fossify.commons.helpers.isPiePlus
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.extensions.addPathToDB import org.fossify.gallery.extensions.addPathToDB
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.extensions.updateDirectoryPath import org.fossify.gallery.extensions.updateDirectoryPath
open class SimpleActivity : BaseSimpleActivity() { open class SimpleActivity : BaseSimpleActivity() {
val observer = object : ContentObserver(null) { val observer = object : ContentObserver(null) {

View file

@ -1,13 +1,13 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.content.Intent import android.content.Intent
import com.simplemobiletools.commons.activities.BaseSplashActivity import org.fossify.commons.activities.BaseSplashActivity
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.extensions.favoritesDB import org.fossify.gallery.extensions.favoritesDB
import com.simplemobiletools.gallery.pro.extensions.getFavoriteFromPath import org.fossify.gallery.extensions.getFavoriteFromPath
import com.simplemobiletools.gallery.pro.extensions.mediaDB import org.fossify.gallery.extensions.mediaDB
import com.simplemobiletools.gallery.pro.models.Favorite import org.fossify.gallery.models.Favorite
class SplashActivity : BaseSplashActivity() { class SplashActivity : BaseSplashActivity() {
override fun initActivity() { override fun initActivity() {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.os.Bundle import android.os.Bundle

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
@ -25,11 +25,11 @@ import androidx.media3.exoplayer.SeekParameters
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory import androidx.media3.exoplayer.source.DefaultMediaSourceFactory
import androidx.media3.exoplayer.source.MediaSource import androidx.media3.exoplayer.source.MediaSource
import androidx.media3.exoplayer.source.ProgressiveMediaSource import androidx.media3.exoplayer.source.ProgressiveMediaSource
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.ActivityVideoPlayerBinding import org.fossify.gallery.databinding.ActivityVideoPlayerBinding
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
@UnstableApi @UnstableApi
open class VideoPlayerActivity : SimpleActivity(), SeekBar.OnSeekBarChangeListener, TextureView.SurfaceTextureListener { open class VideoPlayerActivity : SimpleActivity(), SeekBar.OnSeekBarChangeListener, TextureView.SurfaceTextureListener {
@ -119,8 +119,8 @@ open class VideoPlayerActivity : SimpleActivity(), SeekBar.OnSeekBarChangeListen
(binding.videoAppbar.layoutParams as RelativeLayout.LayoutParams).topMargin = statusBarHeight (binding.videoAppbar.layoutParams as RelativeLayout.LayoutParams).topMargin = statusBarHeight
binding.videoToolbar.apply { binding.videoToolbar.apply {
setTitleTextColor(Color.WHITE) setTitleTextColor(Color.WHITE)
overflowIcon = resources.getColoredDrawableWithColor(com.simplemobiletools.commons.R.drawable.ic_three_dots_vector, Color.WHITE) overflowIcon = resources.getColoredDrawableWithColor(org.fossify.commons.R.drawable.ic_three_dots_vector, Color.WHITE)
navigationIcon = resources.getColoredDrawableWithColor(com.simplemobiletools.commons.R.drawable.ic_arrow_left_vector, Color.WHITE) navigationIcon = resources.getColoredDrawableWithColor(org.fossify.commons.R.drawable.ic_arrow_left_vector, Color.WHITE)
} }
updateMenuItemColors(binding.videoToolbar.menu, forceWhiteIcons = true) updateMenuItemColors(binding.videoToolbar.menu, forceWhiteIcons = true)
@ -304,7 +304,7 @@ open class VideoPlayerActivity : SimpleActivity(), SeekBar.OnSeekBarChangeListen
if (config.autoplayVideos) { if (config.autoplayVideos) {
resumeVideo() resumeVideo()
} else { } else {
binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(com.simplemobiletools.commons.R.drawable.ic_play_outline_vector) binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_play_outline_vector)
} }
} }
} }
@ -319,7 +319,7 @@ open class VideoPlayerActivity : SimpleActivity(), SeekBar.OnSeekBarChangeListen
} }
private fun resumeVideo() { private fun resumeVideo() {
binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(com.simplemobiletools.commons.R.drawable.ic_pause_outline_vector) binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_pause_outline_vector)
if (mExoPlayer == null) { if (mExoPlayer == null) {
return return
} }
@ -336,7 +336,7 @@ open class VideoPlayerActivity : SimpleActivity(), SeekBar.OnSeekBarChangeListen
} }
private fun pauseVideo() { private fun pauseVideo() {
binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(com.simplemobiletools.commons.R.drawable.ic_play_outline_vector) binding.bottomVideoTimeHolder.videoTogglePlayPause.setImageResource(org.fossify.commons.R.drawable.ic_play_outline_vector)
if (mExoPlayer == null) { if (mExoPlayer == null) {
return return
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.animation.Animator import android.animation.Animator
import android.animation.ValueAnimator import android.animation.ValueAnimator
@ -34,26 +34,26 @@ import com.bumptech.glide.load.engine.GlideException
import com.bumptech.glide.request.RequestListener import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target import com.bumptech.glide.request.target.Target
import com.simplemobiletools.commons.dialogs.PropertiesDialog import org.fossify.commons.dialogs.PropertiesDialog
import com.simplemobiletools.commons.dialogs.RenameItemDialog import org.fossify.commons.dialogs.RenameItemDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.commons.models.FileDirItem import org.fossify.commons.models.FileDirItem
import com.simplemobiletools.gallery.pro.BuildConfig import org.fossify.gallery.BuildConfig
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.adapters.MyPagerAdapter import org.fossify.gallery.adapters.MyPagerAdapter
import com.simplemobiletools.gallery.pro.asynctasks.GetMediaAsynctask import org.fossify.gallery.asynctasks.GetMediaAsynctask
import com.simplemobiletools.gallery.pro.databinding.ActivityMediumBinding import org.fossify.gallery.databinding.ActivityMediumBinding
import com.simplemobiletools.gallery.pro.dialogs.DeleteWithRememberDialog import org.fossify.gallery.dialogs.DeleteWithRememberDialog
import com.simplemobiletools.gallery.pro.dialogs.SaveAsDialog import org.fossify.gallery.dialogs.SaveAsDialog
import com.simplemobiletools.gallery.pro.dialogs.SlideshowDialog import org.fossify.gallery.dialogs.SlideshowDialog
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.fragments.PhotoFragment import org.fossify.gallery.fragments.PhotoFragment
import com.simplemobiletools.gallery.pro.fragments.VideoFragment import org.fossify.gallery.fragments.VideoFragment
import com.simplemobiletools.gallery.pro.fragments.ViewPagerFragment import org.fossify.gallery.fragments.ViewPagerFragment
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import com.simplemobiletools.gallery.pro.models.ThumbnailItem import org.fossify.gallery.models.ThumbnailItem
import java.io.File import java.io.File
import kotlin.math.min import kotlin.math.min
@ -100,7 +100,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
if (it) { if (it) {
initViewPager() initViewPager()
} else { } else {
toast(com.simplemobiletools.commons.R.string.no_storage_permissions) toast(org.fossify.commons.R.string.no_storage_permissions)
finish() finish()
} }
} }
@ -213,8 +213,8 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
(binding.mediumViewerAppbar.layoutParams as RelativeLayout.LayoutParams).topMargin = statusBarHeight (binding.mediumViewerAppbar.layoutParams as RelativeLayout.LayoutParams).topMargin = statusBarHeight
binding.mediumViewerToolbar.apply { binding.mediumViewerToolbar.apply {
setTitleTextColor(Color.WHITE) setTitleTextColor(Color.WHITE)
overflowIcon = resources.getColoredDrawableWithColor(com.simplemobiletools.commons.R.drawable.ic_three_dots_vector, Color.WHITE) overflowIcon = resources.getColoredDrawableWithColor(org.fossify.commons.R.drawable.ic_three_dots_vector, Color.WHITE)
navigationIcon = resources.getColoredDrawableWithColor(com.simplemobiletools.commons.R.drawable.ic_arrow_left_vector, Color.WHITE) navigationIcon = resources.getColoredDrawableWithColor(org.fossify.commons.R.drawable.ic_arrow_left_vector, Color.WHITE)
} }
updateMenuItemColors(binding.mediumViewerToolbar.menu, forceWhiteIcons = true) updateMenuItemColors(binding.mediumViewerToolbar.menu, forceWhiteIcons = true)
@ -315,7 +315,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
} }
if (mPath.isEmpty()) { if (mPath.isEmpty()) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
finish() finish()
return return
} }
@ -560,7 +560,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
animator.addUpdateListener(object : ValueAnimator.AnimatorUpdateListener { animator.addUpdateListener(object : ValueAnimator.AnimatorUpdateListener {
var oldDragPosition = 0 var oldDragPosition = 0
override fun onAnimationUpdate(animation: ValueAnimator) { override fun onAnimationUpdate(animation: ValueAnimator) {
if (binding.viewPager?.isFakeDragging == true) { if (binding.viewPager.isFakeDragging == true) {
val dragPosition = animation.animatedValue as Int val dragPosition = animation.animatedValue as Int
val dragOffset = dragPosition - oldDragPosition val dragOffset = dragPosition - oldDragPosition
oldDragPosition = dragPosition oldDragPosition = dragPosition
@ -666,7 +666,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
private fun copyMoveTo(isCopyOperation: Boolean) { private fun copyMoveTo(isCopyOperation: Boolean) {
val currPath = getCurrentPath() val currPath = getCurrentPath()
if (!isCopyOperation && currPath.startsWith(recycleBinPath)) { if (!isCopyOperation && currPath.startsWith(recycleBinPath)) {
toast(com.simplemobiletools.commons.R.string.moving_recycle_bin_items_disabled, Toast.LENGTH_LONG) toast(org.fossify.commons.R.string.moving_recycle_bin_items_disabled, Toast.LENGTH_LONG)
return return
} }
@ -728,12 +728,12 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
private fun getChangeOrientationIcon(): Int { private fun getChangeOrientationIcon(): Int {
return if (mIsOrientationLocked) { return if (mIsOrientationLocked) {
if (requestedOrientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) { if (requestedOrientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
com.simplemobiletools.commons.R.drawable.ic_orientation_portrait_vector org.fossify.commons.R.drawable.ic_orientation_portrait_vector
} else { } else {
com.simplemobiletools.commons.R.drawable.ic_orientation_landscape_vector org.fossify.commons.R.drawable.ic_orientation_landscape_vector
} }
} else { } else {
com.simplemobiletools.commons.R.drawable.ic_orientation_auto_vector org.fossify.commons.R.drawable.ic_orientation_auto_vector
} }
} }
@ -746,11 +746,11 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
return@handleSAFDialog return@handleSAFDialog
} }
toast(com.simplemobiletools.commons.R.string.saving) toast(org.fossify.commons.R.string.saving)
ensureBackgroundThread { ensureBackgroundThread {
val photoFragment = getCurrentPhotoFragment() ?: return@ensureBackgroundThread val photoFragment = getCurrentPhotoFragment() ?: return@ensureBackgroundThread
saveRotatedImageToFile(currPath, newPath, photoFragment.mCurrentRotationDegrees, true) { saveRotatedImageToFile(currPath, newPath, photoFragment.mCurrentRotationDegrees, true) {
toast(com.simplemobiletools.commons.R.string.file_saved) toast(org.fossify.commons.R.string.file_saved)
getCurrentPhotoFragment()?.mCurrentRotationDegrees = 0 getCurrentPhotoFragment()?.mCurrentRotationDegrees = 0
refreshMenuItems() refreshMenuItems()
} }
@ -854,13 +854,13 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
} }
binding.bottomActions.bottomShare.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_SHARE != 0) binding.bottomActions.bottomShare.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_SHARE != 0)
binding.bottomActions.bottomShare.setOnLongClickListener { toast(com.simplemobiletools.commons.R.string.share); true } binding.bottomActions.bottomShare.setOnLongClickListener { toast(org.fossify.commons.R.string.share); true }
binding.bottomActions.bottomShare.setOnClickListener { binding.bottomActions.bottomShare.setOnClickListener {
shareMediumPath(getCurrentPath()) shareMediumPath(getCurrentPath())
} }
binding.bottomActions.bottomDelete.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_DELETE != 0) binding.bottomActions.bottomDelete.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_DELETE != 0)
binding.bottomActions.bottomDelete.setOnLongClickListener { toast(com.simplemobiletools.commons.R.string.delete); true } binding.bottomActions.bottomDelete.setOnLongClickListener { toast(org.fossify.commons.R.string.delete); true }
binding.bottomActions.bottomDelete.setOnClickListener { binding.bottomActions.bottomDelete.setOnClickListener {
checkDeleteConfirmation() checkDeleteConfirmation()
} }
@ -873,7 +873,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
binding.bottomActions.bottomProperties.applyColorFilter(Color.WHITE) binding.bottomActions.bottomProperties.applyColorFilter(Color.WHITE)
binding.bottomActions.bottomProperties.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_PROPERTIES != 0) binding.bottomActions.bottomProperties.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_PROPERTIES != 0)
binding.bottomActions.bottomProperties.setOnLongClickListener { toast(com.simplemobiletools.commons.R.string.properties); true } binding.bottomActions.bottomProperties.setOnLongClickListener { toast(org.fossify.commons.R.string.properties); true }
binding.bottomActions.bottomProperties.setOnClickListener { binding.bottomActions.bottomProperties.setOnClickListener {
showProperties() showProperties()
} }
@ -904,7 +904,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
binding.bottomActions.bottomToggleFileVisibility.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_TOGGLE_VISIBILITY != 0) binding.bottomActions.bottomToggleFileVisibility.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_TOGGLE_VISIBILITY != 0)
binding.bottomActions.bottomToggleFileVisibility.setOnLongClickListener { binding.bottomActions.bottomToggleFileVisibility.setOnLongClickListener {
toast(if (currentMedium?.isHidden() == true) com.simplemobiletools.commons.R.string.unhide else com.simplemobiletools.commons.R.string.hide); true toast(if (currentMedium?.isHidden() == true) org.fossify.commons.R.string.unhide else org.fossify.commons.R.string.hide); true
} }
binding.bottomActions.bottomToggleFileVisibility.setOnClickListener { binding.bottomActions.bottomToggleFileVisibility.setOnClickListener {
@ -916,31 +916,31 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
} }
binding.bottomActions.bottomRename.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_RENAME != 0 && currentMedium?.getIsInRecycleBin() == false) binding.bottomActions.bottomRename.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_RENAME != 0 && currentMedium?.getIsInRecycleBin() == false)
binding.bottomActions.bottomRename.setOnLongClickListener { toast(com.simplemobiletools.commons.R.string.rename); true } binding.bottomActions.bottomRename.setOnLongClickListener { toast(org.fossify.commons.R.string.rename); true }
binding.bottomActions.bottomRename.setOnClickListener { binding.bottomActions.bottomRename.setOnClickListener {
checkMediaManagementAndRename() checkMediaManagementAndRename()
} }
binding.bottomActions.bottomSetAs.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_SET_AS != 0) binding.bottomActions.bottomSetAs.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_SET_AS != 0)
binding.bottomActions.bottomSetAs.setOnLongClickListener { toast(com.simplemobiletools.commons.R.string.set_as); true } binding.bottomActions.bottomSetAs.setOnLongClickListener { toast(org.fossify.commons.R.string.set_as); true }
binding.bottomActions.bottomSetAs.setOnClickListener { binding.bottomActions.bottomSetAs.setOnClickListener {
setAs(getCurrentPath()) setAs(getCurrentPath())
} }
binding.bottomActions.bottomCopy.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_COPY != 0) binding.bottomActions.bottomCopy.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_COPY != 0)
binding.bottomActions.bottomCopy.setOnLongClickListener { toast(com.simplemobiletools.commons.R.string.copy); true } binding.bottomActions.bottomCopy.setOnLongClickListener { toast(org.fossify.commons.R.string.copy); true }
binding.bottomActions.bottomCopy.setOnClickListener { binding.bottomActions.bottomCopy.setOnClickListener {
checkMediaManagementAndCopy(true) checkMediaManagementAndCopy(true)
} }
binding.bottomActions.bottomMove.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_MOVE != 0) binding.bottomActions.bottomMove.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_MOVE != 0)
binding.bottomActions.bottomMove.setOnLongClickListener { toast(com.simplemobiletools.commons.R.string.move); true } binding.bottomActions.bottomMove.setOnLongClickListener { toast(org.fossify.commons.R.string.move); true }
binding.bottomActions.bottomMove.setOnClickListener { binding.bottomActions.bottomMove.setOnClickListener {
moveFileTo() moveFileTo()
} }
binding.bottomActions.bottomResize.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_RESIZE != 0 && currentMedium?.isImage() == true) binding.bottomActions.bottomResize.beVisibleIf(visibleBottomActions and BOTTOM_ACTION_RESIZE != 0 && currentMedium?.isImage() == true)
binding.bottomActions.bottomResize.setOnLongClickListener { toast(com.simplemobiletools.commons.R.string.resize); true } binding.bottomActions.bottomResize.setOnLongClickListener { toast(org.fossify.commons.R.string.resize); true }
binding.bottomActions.bottomResize.setOnClickListener { binding.bottomActions.bottomResize.setOnClickListener {
resizeImage() resizeImage()
} }
@ -952,11 +952,11 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
} }
val favoriteIcon = val favoriteIcon =
if (medium.isFavorite) com.simplemobiletools.commons.R.drawable.ic_star_vector else com.simplemobiletools.commons.R.drawable.ic_star_outline_vector if (medium.isFavorite) org.fossify.commons.R.drawable.ic_star_vector else org.fossify.commons.R.drawable.ic_star_outline_vector
binding.bottomActions.bottomFavorite.setImageResource(favoriteIcon) binding.bottomActions.bottomFavorite.setImageResource(favoriteIcon)
val hideIcon = val hideIcon =
if (medium.isHidden()) com.simplemobiletools.commons.R.drawable.ic_unhide_vector else com.simplemobiletools.commons.R.drawable.ic_hide_vector if (medium.isHidden()) org.fossify.commons.R.drawable.ic_unhide_vector else org.fossify.commons.R.drawable.ic_hide_vector
binding.bottomActions.bottomToggleFileVisibility.setImageResource(hideIcon) binding.bottomActions.bottomToggleFileVisibility.setImageResource(hideIcon)
binding.bottomActions.bottomRotate.beVisibleIf(config.visibleBottomActions and BOTTOM_ACTION_ROTATE != 0 && getCurrentMedium()?.isImage() == true) binding.bottomActions.bottomRotate.beVisibleIf(config.visibleBottomActions and BOTTOM_ACTION_ROTATE != 0 && getCurrentMedium()?.isImage() == true)
@ -992,7 +992,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
try { try {
val resolution = path.getImageResolution(this) val resolution = path.getImageResolution(this)
if (resolution == null) { if (resolution == null) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return return
} }
@ -1073,9 +1073,9 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
val isInRecycleBin = getCurrentMedium()!!.getIsInRecycleBin() val isInRecycleBin = getCurrentMedium()!!.getIsInRecycleBin()
val baseString = if (config.useRecycleBin && !config.tempSkipRecycleBin && !isInRecycleBin) { val baseString = if (config.useRecycleBin && !config.tempSkipRecycleBin && !isInRecycleBin) {
com.simplemobiletools.commons.R.string.move_to_recycle_bin_confirmation org.fossify.commons.R.string.move_to_recycle_bin_confirmation
} else { } else {
com.simplemobiletools.commons.R.string.deletion_confirmation org.fossify.commons.R.string.deletion_confirmation
} }
val message = String.format(resources.getString(baseString), filenameAndSize) val message = String.format(resources.getString(baseString), filenameAndSize)
@ -1128,7 +1128,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
} }
} }
} else { } else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
} }
} }
} }
@ -1186,7 +1186,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
val isSDOrOtgRootFolder = isAStorageRootFolder(oldPath.getParentPath()) && !oldPath.startsWith(internalStoragePath) val isSDOrOtgRootFolder = isAStorageRootFolder(oldPath.getParentPath()) && !oldPath.startsWith(internalStoragePath)
if (isRPlus() && isSDOrOtgRootFolder && !isExternalStorageManager()) { if (isRPlus() && isSDOrOtgRootFolder && !isExternalStorageManager()) {
toast(com.simplemobiletools.commons.R.string.rename_in_sd_card_system_restriction, Toast.LENGTH_LONG) toast(org.fossify.commons.R.string.rename_in_sd_card_system_restriction, Toast.LENGTH_LONG)
return return
} }
@ -1347,7 +1347,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
startActivityForResult(this, REQUEST_VIEW_VIDEO) startActivityForResult(this, REQUEST_VIEW_VIDEO)
} catch (e: ActivityNotFoundException) { } catch (e: ActivityNotFoundException) {
if (!tryGenericMimeType(this, mimeType, newUri)) { if (!tryGenericMimeType(this, mimeType, newUri)) {
toast(com.simplemobiletools.commons.R.string.no_app_found) toast(org.fossify.commons.R.string.no_app_found)
} }
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.activities package org.fossify.gallery.activities
import android.app.Activity import android.app.Activity
import android.appwidget.AppWidgetManager import android.appwidget.AppWidgetManager
@ -9,17 +9,17 @@ import android.graphics.drawable.ColorDrawable
import android.os.Bundle import android.os.Bundle
import android.widget.RemoteViews import android.widget.RemoteViews
import com.bumptech.glide.signature.ObjectKey import com.bumptech.glide.signature.ObjectKey
import com.simplemobiletools.commons.dialogs.ColorPickerDialog import org.fossify.commons.dialogs.ColorPickerDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.ActivityWidgetConfigBinding import org.fossify.gallery.databinding.ActivityWidgetConfigBinding
import com.simplemobiletools.gallery.pro.dialogs.PickDirectoryDialog import org.fossify.gallery.dialogs.PickDirectoryDialog
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.helpers.MyWidgetProvider import org.fossify.gallery.helpers.MyWidgetProvider
import com.simplemobiletools.gallery.pro.helpers.ROUNDED_CORNERS_NONE import org.fossify.gallery.helpers.ROUNDED_CORNERS_NONE
import com.simplemobiletools.gallery.pro.models.Directory import org.fossify.gallery.models.Directory
import com.simplemobiletools.gallery.pro.models.Widget import org.fossify.gallery.models.Widget
class WidgetConfigureActivity : SimpleActivity() { class WidgetConfigureActivity : SimpleActivity() {
private var mBgAlpha = 0f private var mBgAlpha = 0f
@ -88,8 +88,8 @@ class WidgetConfigureActivity : SimpleActivity() {
updateBackgroundColor() updateBackgroundColor()
mTextColor = config.widgetTextColor mTextColor = config.widgetTextColor
if (mTextColor == resources.getColor(com.simplemobiletools.commons.R.color.default_widget_text_color) && config.isUsingSystemTheme) { if (mTextColor == resources.getColor(org.fossify.commons.R.color.default_widget_text_color) && config.isUsingSystemTheme) {
mTextColor = resources.getColor(com.simplemobiletools.commons.R.color.you_primary_color, theme) mTextColor = resources.getColor(org.fossify.commons.R.color.you_primary_color, theme)
} }
updateTextColor() updateTextColor()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.adapters package org.fossify.gallery.adapters
import android.content.Intent import android.content.Intent
import android.content.pm.ShortcutInfo import android.content.pm.ShortcutInfo
@ -19,31 +19,31 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.google.gson.Gson import com.google.gson.Gson
import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import org.fossify.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.dialogs.* import org.fossify.commons.dialogs.*
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.commons.interfaces.ItemMoveCallback import org.fossify.commons.interfaces.ItemMoveCallback
import com.simplemobiletools.commons.interfaces.ItemTouchHelperContract import org.fossify.commons.interfaces.ItemTouchHelperContract
import com.simplemobiletools.commons.interfaces.StartReorderDragListener import org.fossify.commons.interfaces.StartReorderDragListener
import com.simplemobiletools.commons.models.FileDirItem import org.fossify.commons.models.FileDirItem
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.activities.MediaActivity import org.fossify.gallery.activities.MediaActivity
import com.simplemobiletools.gallery.pro.databinding.DirectoryItemGridRoundedCornersBinding import org.fossify.gallery.databinding.DirectoryItemGridRoundedCornersBinding
import com.simplemobiletools.gallery.pro.databinding.DirectoryItemGridSquareBinding import org.fossify.gallery.databinding.DirectoryItemGridSquareBinding
import com.simplemobiletools.gallery.pro.databinding.DirectoryItemListBinding import org.fossify.gallery.databinding.DirectoryItemListBinding
import com.simplemobiletools.gallery.pro.dialogs.ConfirmDeleteFolderDialog import org.fossify.gallery.dialogs.ConfirmDeleteFolderDialog
import com.simplemobiletools.gallery.pro.dialogs.ExcludeFolderDialog import org.fossify.gallery.dialogs.ExcludeFolderDialog
import com.simplemobiletools.gallery.pro.dialogs.PickMediumDialog import org.fossify.gallery.dialogs.PickMediumDialog
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.interfaces.DirectoryOperationsListener import org.fossify.gallery.interfaces.DirectoryOperationsListener
import com.simplemobiletools.gallery.pro.models.AlbumCover import org.fossify.gallery.models.AlbumCover
import com.simplemobiletools.gallery.pro.models.Directory import org.fossify.gallery.models.Directory
import java.io.File import java.io.File
import java.util.* import java.util.Collections
class DirectoryAdapter( class DirectoryAdapter(
activity: BaseSimpleActivity, var dirs: ArrayList<Directory>, val listener: DirectoryOperationsListener?, recyclerView: MyRecyclerView, activity: BaseSimpleActivity, var dirs: ArrayList<Directory>, val listener: DirectoryOperationsListener?, recyclerView: MyRecyclerView,
@ -242,7 +242,7 @@ class DirectoryAdapter(
val sourcePath = firstDir.path val sourcePath = firstDir.path
val dir = File(sourcePath) val dir = File(sourcePath)
if (activity.isAStorageRootFolder(dir.absolutePath)) { if (activity.isAStorageRootFolder(dir.absolutePath)) {
activity.toast(com.simplemobiletools.commons.R.string.rename_folder_root) activity.toast(org.fossify.commons.R.string.rename_folder_root)
return return
} }
@ -297,7 +297,7 @@ class DirectoryAdapter(
} }
} else { } else {
if (selectedPaths.any { it.isThisOrParentFolderHidden() }) { if (selectedPaths.any { it.isThisOrParentFolderHidden() }) {
ConfirmationDialog(activity, "", R.string.cant_unhide_folder, com.simplemobiletools.commons.R.string.ok, 0) {} ConfirmationDialog(activity, "", R.string.cant_unhide_folder, org.fossify.commons.R.string.ok, 0) {}
return return
} }
@ -596,9 +596,9 @@ class DirectoryAdapter(
ConfirmationDialog( ConfirmationDialog(
activity, activity,
"", "",
com.simplemobiletools.commons.R.string.empty_recycle_bin_confirmation, org.fossify.commons.R.string.empty_recycle_bin_confirmation,
com.simplemobiletools.commons.R.string.yes, org.fossify.commons.R.string.yes,
com.simplemobiletools.commons.R.string.no org.fossify.commons.R.string.no
) { ) {
deleteFolders() deleteFolders()
} }
@ -609,18 +609,18 @@ class DirectoryAdapter(
val folder = getSelectedPaths().first().getFilenameFromPath() val folder = getSelectedPaths().first().getFilenameFromPath()
"\"$folder\"" "\"$folder\""
} else { } else {
resources.getQuantityString(com.simplemobiletools.commons.R.plurals.delete_items, itemsCnt, itemsCnt) resources.getQuantityString(org.fossify.commons.R.plurals.delete_items, itemsCnt, itemsCnt)
} }
val fileDirItem = getFirstSelectedItem() ?: return val fileDirItem = getFirstSelectedItem() ?: return
val baseString = if (!config.useRecycleBin || config.tempSkipRecycleBin || (isOneItemSelected() && fileDirItem.areFavorites())) { val baseString = if (!config.useRecycleBin || config.tempSkipRecycleBin || (isOneItemSelected() && fileDirItem.areFavorites())) {
com.simplemobiletools.commons.R.string.deletion_confirmation org.fossify.commons.R.string.deletion_confirmation
} else { } else {
com.simplemobiletools.commons.R.string.move_to_recycle_bin_confirmation org.fossify.commons.R.string.move_to_recycle_bin_confirmation
} }
val question = String.format(resources.getString(baseString), items) val question = String.format(resources.getString(baseString), items)
val warning = resources.getQuantityString(com.simplemobiletools.commons.R.plurals.delete_warning, itemsCnt, itemsCnt) val warning = resources.getQuantityString(org.fossify.commons.R.plurals.delete_warning, itemsCnt, itemsCnt)
ConfirmDeleteFolderDialog(activity, question, warning) { ConfirmDeleteFolderDialog(activity, question, warning) {
deleteFolders() deleteFolders()
} }
@ -834,7 +834,7 @@ class DirectoryAdapter(
dirPin.beVisibleIf(pinnedFolders.contains(directory.path)) dirPin.beVisibleIf(pinnedFolders.contains(directory.path))
dirLocation.beVisibleIf(directory.location != LOCATION_INTERNAL) dirLocation.beVisibleIf(directory.location != LOCATION_INTERNAL)
if (dirLocation.isVisible()) { if (dirLocation.isVisible()) {
dirLocation.setImageResource(if (directory.location == LOCATION_SD) com.simplemobiletools.commons.R.drawable.ic_sd_card_vector else com.simplemobiletools.commons.R.drawable.ic_usb_vector) dirLocation.setImageResource(if (directory.location == LOCATION_SD) org.fossify.commons.R.drawable.ic_sd_card_vector else org.fossify.commons.R.drawable.ic_usb_vector)
} }
photoCnt.text = directory.subfoldersMediaCount.toString() photoCnt.text = directory.subfoldersMediaCount.toString()

View file

@ -1,12 +1,12 @@
package com.simplemobiletools.gallery.pro.adapters package org.fossify.gallery.adapters
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import android.widget.TextView import android.widget.TextView
import com.simplemobiletools.commons.views.MySquareImageView import org.fossify.commons.views.MySquareImageView
import com.simplemobiletools.gallery.pro.databinding.DirectoryItemGridRoundedCornersBinding import org.fossify.gallery.databinding.DirectoryItemGridRoundedCornersBinding
import com.simplemobiletools.gallery.pro.databinding.DirectoryItemGridSquareBinding import org.fossify.gallery.databinding.DirectoryItemGridSquareBinding
import com.simplemobiletools.gallery.pro.databinding.DirectoryItemListBinding import org.fossify.gallery.databinding.DirectoryItemListBinding
interface DirectoryItemBinding { interface DirectoryItemBinding {
val root: ViewGroup val root: ViewGroup

View file

@ -1,13 +1,13 @@
package com.simplemobiletools.gallery.pro.adapters package org.fossify.gallery.adapters
import android.content.Context import android.content.Context
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.EditorFilterItemBinding import org.fossify.gallery.databinding.EditorFilterItemBinding
import com.simplemobiletools.gallery.pro.models.FilterItem import org.fossify.gallery.models.FilterItem
class FiltersAdapter(val context: Context, val filterItems: ArrayList<FilterItem>, val itemClick: (Int) -> Unit) : class FiltersAdapter(val context: Context, val filterItems: ArrayList<FilterItem>, val itemClick: (Int) -> Unit) :
RecyclerView.Adapter<FiltersAdapter.ViewHolder>() { RecyclerView.Adapter<FiltersAdapter.ViewHolder>() {

View file

@ -1,16 +1,16 @@
package com.simplemobiletools.gallery.pro.adapters package org.fossify.gallery.adapters
import android.view.* import android.view.*
import android.widget.PopupMenu import android.widget.PopupMenu
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import org.fossify.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.extensions.getPopupMenuTheme import org.fossify.commons.extensions.getPopupMenuTheme
import com.simplemobiletools.commons.extensions.getProperTextColor import org.fossify.commons.extensions.getProperTextColor
import com.simplemobiletools.commons.extensions.setupViewBackground import org.fossify.commons.extensions.setupViewBackground
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.gallery.pro.databinding.ItemManageFolderBinding import org.fossify.gallery.databinding.ItemManageFolderBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
class ManageFoldersAdapter( class ManageFoldersAdapter(
activity: BaseSimpleActivity, var folders: ArrayList<String>, val isShowingExcludedFolders: Boolean, val listener: RefreshRecyclerViewListener?, activity: BaseSimpleActivity, var folders: ArrayList<String>, val isShowingExcludedFolders: Boolean, val listener: RefreshRecyclerViewListener?,
@ -23,13 +23,13 @@ class ManageFoldersAdapter(
setupDragListener(true) setupDragListener(true)
} }
override fun getActionMenuId() = com.simplemobiletools.commons.R.menu.cab_remove_only override fun getActionMenuId() = org.fossify.commons.R.menu.cab_remove_only
override fun prepareActionMode(menu: Menu) {} override fun prepareActionMode(menu: Menu) {}
override fun actionItemPressed(id: Int) { override fun actionItemPressed(id: Int) {
when (id) { when (id) {
com.simplemobiletools.commons.R.id.cab_remove -> removeSelection() org.fossify.commons.R.id.cab_remove -> removeSelection()
} }
} }
@ -91,7 +91,7 @@ class ManageFoldersAdapter(
setOnMenuItemClickListener { item -> setOnMenuItemClickListener { item ->
val eventTypeId = folder.hashCode() val eventTypeId = folder.hashCode()
when (item.itemId) { when (item.itemId) {
com.simplemobiletools.commons.R.id.cab_remove -> { org.fossify.commons.R.id.cab_remove -> {
executeItemMenuOperation(eventTypeId) { executeItemMenuOperation(eventTypeId) {
removeSelection() removeSelection()
} }

View file

@ -1,18 +1,18 @@
package com.simplemobiletools.gallery.pro.adapters package org.fossify.gallery.adapters
import android.view.Menu import android.view.Menu
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import org.fossify.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.extensions.getProperTextColor import org.fossify.commons.extensions.getProperTextColor
import com.simplemobiletools.commons.extensions.isPathOnSD import org.fossify.commons.extensions.isPathOnSD
import com.simplemobiletools.commons.extensions.setupViewBackground import org.fossify.commons.extensions.setupViewBackground
import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import org.fossify.commons.interfaces.RefreshRecyclerViewListener
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.ItemManageFolderBinding import org.fossify.gallery.databinding.ItemManageFolderBinding
import com.simplemobiletools.gallery.pro.extensions.removeNoMedia import org.fossify.gallery.extensions.removeNoMedia
class ManageHiddenFoldersAdapter( class ManageHiddenFoldersAdapter(
activity: BaseSimpleActivity, var folders: ArrayList<String>, val listener: RefreshRecyclerViewListener?, activity: BaseSimpleActivity, var folders: ArrayList<String>, val listener: RefreshRecyclerViewListener?,

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.adapters package org.fossify.gallery.adapters
import android.content.Intent import android.content.Intent
import android.content.pm.ShortcutInfo import android.content.pm.ShortcutInfo
@ -13,25 +13,25 @@ import android.widget.Toast
import androidx.core.view.allViews import androidx.core.view.allViews
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import org.fossify.commons.adapters.MyRecyclerViewAdapter
import com.simplemobiletools.commons.dialogs.PropertiesDialog import org.fossify.commons.dialogs.PropertiesDialog
import com.simplemobiletools.commons.dialogs.RenameDialog import org.fossify.commons.dialogs.RenameDialog
import com.simplemobiletools.commons.dialogs.RenameItemDialog import org.fossify.commons.dialogs.RenameItemDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.commons.models.FileDirItem import org.fossify.commons.models.FileDirItem
import com.simplemobiletools.commons.views.MyRecyclerView import org.fossify.commons.views.MyRecyclerView
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.activities.ViewPagerActivity import org.fossify.gallery.activities.ViewPagerActivity
import com.simplemobiletools.gallery.pro.databinding.* import org.fossify.gallery.databinding.*
import com.simplemobiletools.gallery.pro.dialogs.DeleteWithRememberDialog import org.fossify.gallery.dialogs.DeleteWithRememberDialog
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.interfaces.MediaOperationsListener import org.fossify.gallery.interfaces.MediaOperationsListener
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import com.simplemobiletools.gallery.pro.models.ThumbnailItem import org.fossify.gallery.models.ThumbnailItem
import com.simplemobiletools.gallery.pro.models.ThumbnailSection import org.fossify.gallery.models.ThumbnailSection
class MediaAdapter( class MediaAdapter(
activity: BaseSimpleActivity, var media: ArrayList<ThumbnailItem>, val listener: MediaOperationsListener?, val isAGetIntent: Boolean, activity: BaseSimpleActivity, var media: ArrayList<ThumbnailItem>, val listener: MediaOperationsListener?, val isAGetIntent: Boolean,
@ -241,7 +241,7 @@ class MediaAdapter(
val isSDOrOtgRootFolder = activity.isAStorageRootFolder(firstPath.getParentPath()) && !firstPath.startsWith(activity.internalStoragePath) val isSDOrOtgRootFolder = activity.isAStorageRootFolder(firstPath.getParentPath()) && !firstPath.startsWith(activity.internalStoragePath)
if (isRPlus() && isSDOrOtgRootFolder && !isExternalStorageManager()) { if (isRPlus() && isSDOrOtgRootFolder && !isExternalStorageManager()) {
activity.toast(com.simplemobiletools.commons.R.string.rename_in_sd_card_system_restriction, Toast.LENGTH_LONG) activity.toast(org.fossify.commons.R.string.rename_in_sd_card_system_restriction, Toast.LENGTH_LONG)
finishActMode() finishActMode()
return return
} }
@ -353,7 +353,7 @@ class MediaAdapter(
private fun handleRotate(paths: List<String>, degrees: Int) { private fun handleRotate(paths: List<String>, degrees: Int) {
var fileCnt = paths.size var fileCnt = paths.size
rotatedImagePaths.clear() rotatedImagePaths.clear()
activity.toast(com.simplemobiletools.commons.R.string.saving) activity.toast(org.fossify.commons.R.string.saving)
ensureBackgroundThread { ensureBackgroundThread {
paths.forEach { paths.forEach {
rotatedImagePaths.add(it) rotatedImagePaths.add(it)
@ -405,7 +405,7 @@ class MediaAdapter(
}.toMutableList() as ArrayList }.toMutableList() as ArrayList
if (!isCopyOperation && paths.any { it.startsWith(recycleBinPath) }) { if (!isCopyOperation && paths.any { it.startsWith(recycleBinPath) }) {
activity.toast(com.simplemobiletools.commons.R.string.moving_recycle_bin_items_disabled, Toast.LENGTH_LONG) activity.toast(org.fossify.commons.R.string.moving_recycle_bin_items_disabled, Toast.LENGTH_LONG)
} }
if (fileDirItems.isEmpty()) { if (fileDirItems.isEmpty()) {
@ -499,13 +499,13 @@ class MediaAdapter(
fileDirItems.add(curFileDirItem) fileDirItems.add(curFileDirItem)
} }
val fileSize = fileDirItems.sumByLong { it.getProperSize(activity, countHidden = true) }.formatSize() val fileSize = fileDirItems.sumByLong { it.getProperSize(activity, countHidden = true) }.formatSize()
val deleteItemsString = resources.getQuantityString(com.simplemobiletools.commons.R.plurals.delete_items, itemsCnt, itemsCnt) val deleteItemsString = resources.getQuantityString(org.fossify.commons.R.plurals.delete_items, itemsCnt, itemsCnt)
"$deleteItemsString ($fileSize)" "$deleteItemsString ($fileSize)"
} }
val isRecycleBin = firstPath.startsWith(activity.recycleBinPath) val isRecycleBin = firstPath.startsWith(activity.recycleBinPath)
val baseString = val baseString =
if (config.useRecycleBin && !config.tempSkipRecycleBin && !isRecycleBin) com.simplemobiletools.commons.R.string.move_to_recycle_bin_confirmation else com.simplemobiletools.commons.R.string.deletion_confirmation if (config.useRecycleBin && !config.tempSkipRecycleBin && !isRecycleBin) org.fossify.commons.R.string.move_to_recycle_bin_confirmation else org.fossify.commons.R.string.deletion_confirmation
val question = String.format(resources.getString(baseString), itemsAndSize) val question = String.format(resources.getString(baseString), itemsAndSize)
val showSkipRecycleBinOption = config.useRecycleBin && !isRecycleBin val showSkipRecycleBinOption = config.useRecycleBin && !isRecycleBin
@ -619,7 +619,7 @@ class MediaAdapter(
playPortraitOutline?.beVisibleIf(medium.isVideo() || medium.isPortrait()) playPortraitOutline?.beVisibleIf(medium.isVideo() || medium.isPortrait())
if (medium.isVideo()) { if (medium.isVideo()) {
playPortraitOutline?.setImageResource(com.simplemobiletools.commons.R.drawable.ic_play_outline_vector) playPortraitOutline?.setImageResource(org.fossify.commons.R.drawable.ic_play_outline_vector)
playPortraitOutline?.beVisible() playPortraitOutline?.beVisible()
} else if (medium.isPortrait()) { } else if (medium.isPortrait()) {
playPortraitOutline?.setImageResource(R.drawable.ic_portrait_photo_vector) playPortraitOutline?.setImageResource(R.drawable.ic_portrait_photo_vector)

View file

@ -1,13 +1,13 @@
package com.simplemobiletools.gallery.pro.adapters package org.fossify.gallery.adapters
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import android.widget.TextView import android.widget.TextView
import com.simplemobiletools.commons.views.MySquareImageView import org.fossify.commons.views.MySquareImageView
import com.simplemobiletools.gallery.pro.databinding.PhotoItemGridBinding import org.fossify.gallery.databinding.PhotoItemGridBinding
import com.simplemobiletools.gallery.pro.databinding.PhotoItemListBinding import org.fossify.gallery.databinding.PhotoItemListBinding
import com.simplemobiletools.gallery.pro.databinding.VideoItemGridBinding import org.fossify.gallery.databinding.VideoItemGridBinding
import com.simplemobiletools.gallery.pro.databinding.VideoItemListBinding import org.fossify.gallery.databinding.VideoItemListBinding
interface MediaItemBinding { interface MediaItemBinding {
val root: ViewGroup val root: ViewGroup
@ -53,7 +53,7 @@ class VideoListMediaItemBinding(val binding: VideoItemListBinding) : MediaItemBi
override val root: ViewGroup = binding.root override val root: ViewGroup = binding.root
override val mediaItemHolder: ViewGroup = binding.mediaItemHolder override val mediaItemHolder: ViewGroup = binding.mediaItemHolder
override val favorite: ImageView = binding.favorite override val favorite: ImageView = binding.favorite
override val playPortraitOutline: ImageView? = binding.playPortraitOutline override val playPortraitOutline: ImageView = binding.playPortraitOutline
override val fileType: TextView? = null override val fileType: TextView? = null
override val mediumName: TextView = binding.mediumName override val mediumName: TextView = binding.mediumName
override val videoDuration: TextView = binding.videoDuration override val videoDuration: TextView = binding.videoDuration

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.adapters package org.fossify.gallery.adapters
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable import android.os.Parcelable
@ -7,13 +7,13 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter import androidx.fragment.app.FragmentStatePagerAdapter
import androidx.viewpager.widget.PagerAdapter import androidx.viewpager.widget.PagerAdapter
import com.simplemobiletools.gallery.pro.activities.ViewPagerActivity import org.fossify.gallery.activities.ViewPagerActivity
import com.simplemobiletools.gallery.pro.fragments.PhotoFragment import org.fossify.gallery.fragments.PhotoFragment
import com.simplemobiletools.gallery.pro.fragments.VideoFragment import org.fossify.gallery.fragments.VideoFragment
import com.simplemobiletools.gallery.pro.fragments.ViewPagerFragment import org.fossify.gallery.fragments.ViewPagerFragment
import com.simplemobiletools.gallery.pro.helpers.MEDIUM import org.fossify.gallery.helpers.MEDIUM
import com.simplemobiletools.gallery.pro.helpers.SHOULD_INIT_FRAGMENT import org.fossify.gallery.helpers.SHOULD_INIT_FRAGMENT
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
class MyPagerAdapter(val activity: ViewPagerActivity, fm: FragmentManager, val media: MutableList<Medium>) : FragmentStatePagerAdapter(fm) { class MyPagerAdapter(val activity: ViewPagerActivity, fm: FragmentManager, val media: MutableList<Medium>) : FragmentStatePagerAdapter(fm) {
private val fragments = HashMap<Int, ViewPagerFragment>() private val fragments = HashMap<Int, ViewPagerFragment>()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.adapters package org.fossify.gallery.adapters
import android.content.Context import android.content.Context
import android.view.LayoutInflater import android.view.LayoutInflater
@ -10,9 +10,9 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.signature.ObjectKey import com.bumptech.glide.signature.ObjectKey
import com.simplemobiletools.commons.extensions.getFileKey import org.fossify.commons.extensions.getFileKey
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.PortraitPhotoItemBinding import org.fossify.gallery.databinding.PortraitPhotoItemBinding
class PortraitPhotosAdapter(val context: Context, val photos: ArrayList<String>, val sideElementWidth: Int, val itemClick: (Int, Int) -> Unit) : class PortraitPhotosAdapter(val context: Context, val photos: ArrayList<String>, val sideElementWidth: Int, val itemClick: (Int, Int) -> Unit) :
RecyclerView.Adapter<PortraitPhotosAdapter.ViewHolder>() { RecyclerView.Adapter<PortraitPhotosAdapter.ViewHolder>() {

View file

@ -1,16 +1,16 @@
package com.simplemobiletools.gallery.pro.asynctasks package org.fossify.gallery.asynctasks
import android.content.Context import android.content.Context
import android.os.AsyncTask import android.os.AsyncTask
import com.simplemobiletools.commons.helpers.FAVORITES import org.fossify.commons.helpers.FAVORITES
import com.simplemobiletools.commons.helpers.SORT_BY_DATE_MODIFIED import org.fossify.commons.helpers.SORT_BY_DATE_MODIFIED
import com.simplemobiletools.commons.helpers.SORT_BY_DATE_TAKEN import org.fossify.commons.helpers.SORT_BY_DATE_TAKEN
import com.simplemobiletools.commons.helpers.SORT_BY_SIZE import org.fossify.commons.helpers.SORT_BY_SIZE
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.extensions.getFavoritePaths import org.fossify.gallery.extensions.getFavoritePaths
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import com.simplemobiletools.gallery.pro.models.ThumbnailItem import org.fossify.gallery.models.ThumbnailItem
class GetMediaAsynctask( class GetMediaAsynctask(
val context: Context, val mPath: String, val isPickImage: Boolean = false, val isPickVideo: Boolean = false, val context: Context, val mPath: String, val isPickImage: Boolean = false, val isPickVideo: Boolean = false,

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.databases package org.fossify.gallery.databases
import android.content.Context import android.content.Context
import androidx.room.Database import androidx.room.Database
@ -6,8 +6,8 @@ import androidx.room.Room
import androidx.room.RoomDatabase import androidx.room.RoomDatabase
import androidx.room.migration.Migration import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase import androidx.sqlite.db.SupportSQLiteDatabase
import com.simplemobiletools.gallery.pro.interfaces.* import org.fossify.gallery.interfaces.*
import com.simplemobiletools.gallery.pro.models.* import org.fossify.gallery.models.*
@Database(entities = [Directory::class, Medium::class, Widget::class, DateTaken::class, Favorite::class], version = 10) @Database(entities = [Directory::class, Medium::class, Widget::class, DateTaken::class, Favorite::class], version = 10)
abstract class GalleryDatabase : RoomDatabase() { abstract class GalleryDatabase : RoomDatabase() {

View file

@ -1,11 +1,11 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.widget.TextView import android.widget.TextView
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
class AllFilesPermissionDialog( class AllFilesPermissionDialog(
val activity: BaseSimpleActivity, message: String = "", val callback: (result: Boolean) -> Unit, val neutralPressed: () -> Unit val activity: BaseSimpleActivity, message: String = "", val callback: (result: Boolean) -> Unit, val neutralPressed: () -> Unit
@ -13,7 +13,7 @@ class AllFilesPermissionDialog(
private var dialog: AlertDialog? = null private var dialog: AlertDialog? = null
init { init {
val view = activity.layoutInflater.inflate(com.simplemobiletools.commons.R.layout.dialog_message, null) val view = activity.layoutInflater.inflate(org.fossify.commons.R.layout.dialog_message, null)
view.findViewById<TextView>(R.id.message).text = message view.findViewById<TextView>(R.id.message).text = message
activity.getAlertDialogBuilder().setPositiveButton(R.string.all_files) { dialog, which -> positivePressed() } activity.getAlertDialogBuilder().setPositiveButton(R.string.all_files) { dialog, which -> positivePressed() }

View file

@ -1,13 +1,13 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.content.DialogInterface import android.content.DialogInterface
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import org.fossify.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.models.RadioItem import org.fossify.commons.models.RadioItem
import com.simplemobiletools.gallery.pro.databinding.DialogChangeFileThumbnailStyleBinding import org.fossify.gallery.databinding.DialogChangeFileThumbnailStyleBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
class ChangeFileThumbnailStyleDialog(val activity: BaseSimpleActivity) : DialogInterface.OnClickListener { class ChangeFileThumbnailStyleDialog(val activity: BaseSimpleActivity) : DialogInterface.OnClickListener {
private var config = activity.config private var config = activity.config
@ -48,8 +48,8 @@ class ChangeFileThumbnailStyleDialog(val activity: BaseSimpleActivity) : DialogI
updateThumbnailSpacingText() updateThumbnailSpacingText()
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, this) .setPositiveButton(org.fossify.commons.R.string.ok, this)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) activity.setupDialogStuff(binding.root, this)
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.content.DialogInterface import android.content.DialogInterface
import android.widget.RelativeLayout import android.widget.RelativeLayout
@ -6,15 +6,15 @@ import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CenterCrop import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.adapters.toItemBinding import org.fossify.gallery.adapters.toItemBinding
import com.simplemobiletools.gallery.pro.databinding.DialogChangeFolderThumbnailStyleBinding import org.fossify.gallery.databinding.DialogChangeFolderThumbnailStyleBinding
import com.simplemobiletools.gallery.pro.databinding.DirectoryItemGridRoundedCornersBinding import org.fossify.gallery.databinding.DirectoryItemGridRoundedCornersBinding
import com.simplemobiletools.gallery.pro.databinding.DirectoryItemGridSquareBinding import org.fossify.gallery.databinding.DirectoryItemGridSquareBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
class ChangeFolderThumbnailStyleDialog(val activity: BaseSimpleActivity, val callback: () -> Unit) : DialogInterface.OnClickListener { class ChangeFolderThumbnailStyleDialog(val activity: BaseSimpleActivity, val callback: () -> Unit) : DialogInterface.OnClickListener {
private var config = activity.config private var config = activity.config
@ -24,8 +24,8 @@ class ChangeFolderThumbnailStyleDialog(val activity: BaseSimpleActivity, val cal
init { init {
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, this) .setPositiveButton(org.fossify.commons.R.string.ok, this)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) { activity.setupDialogStuff(binding.root, this) {
setupStyle() setupStyle()
@ -106,7 +106,7 @@ class ChangeFolderThumbnailStyleDialog(val activity: BaseSimpleActivity, val cal
.apply(options) .apply(options)
if (useRoundedCornersLayout) { if (useRoundedCornersLayout) {
val cornerRadius = root.resources.getDimension(com.simplemobiletools.commons.R.dimen.rounded_corner_radius_big).toInt() val cornerRadius = root.resources.getDimension(org.fossify.commons.R.dimen.rounded_corner_radius_big).toInt()
builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius)) builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius))
sampleBinding.dirName.setTextColor(activity.getProperTextColor()) sampleBinding.dirName.setTextColor(activity.getProperTextColor())
sampleBinding.photoCnt.setTextColor(activity.getProperTextColor()) sampleBinding.photoCnt.setTextColor(activity.getProperTextColor())

View file

@ -1,14 +1,14 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.content.DialogInterface import android.content.DialogInterface
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.beVisibleIf import org.fossify.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.DialogChangeGroupingBinding import org.fossify.gallery.databinding.DialogChangeGroupingBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
class ChangeGroupingDialog(val activity: BaseSimpleActivity, val path: String = "", val callback: () -> Unit) : class ChangeGroupingDialog(val activity: BaseSimpleActivity, val path: String = "", val callback: () -> Unit) :
DialogInterface.OnClickListener { DialogInterface.OnClickListener {
@ -25,8 +25,8 @@ class ChangeGroupingDialog(val activity: BaseSimpleActivity, val path: String =
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, this) .setPositiveButton(org.fossify.commons.R.string.ok, this)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this, R.string.group_by) activity.setupDialogStuff(binding.root, this, R.string.group_by)
} }

View file

@ -1,13 +1,13 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.content.DialogInterface import android.content.DialogInterface
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.DialogChangeSortingBinding import org.fossify.gallery.databinding.DialogChangeSortingBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.helpers.SHOW_ALL import org.fossify.gallery.helpers.SHOW_ALL
class ChangeSortingDialog( class ChangeSortingDialog(
val activity: BaseSimpleActivity, val isDirectorySorting: Boolean, val showFolderCheckbox: Boolean, val activity: BaseSimpleActivity, val isDirectorySorting: Boolean, val showFolderCheckbox: Boolean,
@ -34,10 +34,10 @@ class ChangeSortingDialog(
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, this) .setPositiveButton(org.fossify.commons.R.string.ok, this)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this, com.simplemobiletools.commons.R.string.sort_by) activity.setupDialogStuff(binding.root, this, org.fossify.commons.R.string.sort_by)
} }
setupSortRadio() setupSortRadio()

View file

@ -1,14 +1,14 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.beVisibleIf import org.fossify.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID import org.fossify.commons.helpers.VIEW_TYPE_GRID
import com.simplemobiletools.commons.helpers.VIEW_TYPE_LIST import org.fossify.commons.helpers.VIEW_TYPE_LIST
import com.simplemobiletools.gallery.pro.databinding.DialogChangeViewTypeBinding import org.fossify.gallery.databinding.DialogChangeViewTypeBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.helpers.SHOW_ALL import org.fossify.gallery.helpers.SHOW_ALL
class ChangeViewTypeDialog(val activity: BaseSimpleActivity, val fromFoldersView: Boolean, val path: String = "", val callback: () -> Unit) { class ChangeViewTypeDialog(val activity: BaseSimpleActivity, val fromFoldersView: Boolean, val path: String = "", val callback: () -> Unit) {
private val binding = DialogChangeViewTypeBinding.inflate(activity.layoutInflater) private val binding = DialogChangeViewTypeBinding.inflate(activity.layoutInflater)
@ -45,8 +45,8 @@ class ChangeViewTypeDialog(val activity: BaseSimpleActivity, val fromFoldersView
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { dialog, which -> dialogConfirmed() } .setPositiveButton(org.fossify.commons.R.string.ok) { dialog, which -> dialogConfirmed() }
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) activity.setupDialogStuff(binding.root, this)
} }

View file

@ -1,10 +1,10 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.app.Activity import android.app.Activity
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.databinding.DialogConfirmDeleteFolderBinding import org.fossify.gallery.databinding.DialogConfirmDeleteFolderBinding
class ConfirmDeleteFolderDialog(activity: Activity, message: String, warningMessage: String, val callback: () -> Unit) { class ConfirmDeleteFolderDialog(activity: Activity, message: String, warningMessage: String, val callback: () -> Unit) {
private var dialog: AlertDialog? = null private var dialog: AlertDialog? = null
@ -15,8 +15,8 @@ class ConfirmDeleteFolderDialog(activity: Activity, message: String, warningMess
binding.messageWarning.text = warningMessage binding.messageWarning.text = warningMessage
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.yes) { dialog, which -> dialogConfirmed() } .setPositiveButton(org.fossify.commons.R.string.yes) { dialog, which -> dialogConfirmed() }
.setNegativeButton(com.simplemobiletools.commons.R.string.no, null) .setNegativeButton(org.fossify.commons.R.string.no, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) { alertDialog -> activity.setupDialogStuff(binding.root, this) { alertDialog ->
dialog = alertDialog dialog = alertDialog

View file

@ -1,13 +1,13 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.widget.EditText import android.widget.EditText
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.showKeyboard import org.fossify.commons.extensions.showKeyboard
import com.simplemobiletools.commons.extensions.value import org.fossify.commons.extensions.value
import com.simplemobiletools.gallery.pro.databinding.DialogCustomAspectRatioBinding import org.fossify.gallery.databinding.DialogCustomAspectRatioBinding
class CustomAspectRatioDialog( class CustomAspectRatioDialog(
val activity: BaseSimpleActivity, val defaultCustomAspectRatio: Pair<Float, Float>?, val callback: (aspectRatio: Pair<Float, Float>) -> Unit val activity: BaseSimpleActivity, val defaultCustomAspectRatio: Pair<Float, Float>?, val callback: (aspectRatio: Pair<Float, Float>) -> Unit
@ -19,8 +19,8 @@ class CustomAspectRatioDialog(
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) { alertDialog -> activity.setupDialogStuff(binding.root, this) { alertDialog ->
alertDialog.showKeyboard(binding.aspectRatioWidth) alertDialog.showKeyboard(binding.aspectRatioWidth)

View file

@ -1,11 +1,11 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.app.Activity import android.app.Activity
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.extensions.beGoneIf import org.fossify.commons.extensions.beGoneIf
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.databinding.DialogDeleteWithRememberBinding import org.fossify.gallery.databinding.DialogDeleteWithRememberBinding
class DeleteWithRememberDialog( class DeleteWithRememberDialog(
private val activity: Activity, private val activity: Activity,
@ -21,8 +21,8 @@ class DeleteWithRememberDialog(
binding.deleteRememberTitle.text = message binding.deleteRememberTitle.text = message
binding.skipTheRecycleBinCheckbox.beGoneIf(!showSkipRecycleBinOption) binding.skipTheRecycleBinCheckbox.beGoneIf(!showSkipRecycleBinOption)
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.yes) { dialog, which -> dialogConfirmed() } .setPositiveButton(org.fossify.commons.R.string.yes) { dialog, which -> dialogConfirmed() }
.setNegativeButton(com.simplemobiletools.commons.R.string.no, null) .setNegativeButton(org.fossify.commons.R.string.no, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) { alertDialog -> activity.setupDialogStuff(binding.root, this) { alertDialog ->
dialog = alertDialog dialog = alertDialog

View file

@ -1,15 +1,15 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.RadioGroup import android.widget.RadioGroup
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.databinding.RadioButtonBinding import org.fossify.commons.databinding.RadioButtonBinding
import com.simplemobiletools.commons.extensions.beVisibleIf import org.fossify.commons.extensions.beVisibleIf
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.getBasePath import org.fossify.commons.extensions.getBasePath
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.databinding.DialogExcludeFolderBinding import org.fossify.gallery.databinding.DialogExcludeFolderBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
class ExcludeFolderDialog(val activity: BaseSimpleActivity, val selectedPaths: List<String>, val callback: () -> Unit) { class ExcludeFolderDialog(val activity: BaseSimpleActivity, val selectedPaths: List<String>, val callback: () -> Unit) {
private val alternativePaths = getAlternativePathsList() private val alternativePaths = getAlternativePathsList()
@ -33,8 +33,8 @@ class ExcludeFolderDialog(val activity: BaseSimpleActivity, val selectedPaths: L
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { dialog, which -> dialogConfirmed() } .setPositiveButton(org.fossify.commons.R.string.ok) { dialog, which -> dialogConfirmed() }
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) activity.setupDialogStuff(binding.root, this)
} }

View file

@ -1,13 +1,13 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.FilePickerDialog import org.fossify.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.DialogExportFavoritesBinding import org.fossify.gallery.databinding.DialogExportFavoritesBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
class ExportFavoritesDialog( class ExportFavoritesDialog(
val activity: BaseSimpleActivity, val defaultFilename: String, val hidePath: Boolean, val activity: BaseSimpleActivity, val defaultFilename: String, val hidePath: Boolean,
@ -39,28 +39,28 @@ class ExportFavoritesDialog(
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this, R.string.export_favorite_paths) { alertDialog -> activity.setupDialogStuff(binding.root, this, R.string.export_favorite_paths) { alertDialog ->
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
var filename = binding.exportFavoritesFilename.value var filename = binding.exportFavoritesFilename.value
if (filename.isEmpty()) { if (filename.isEmpty()) {
activity.toast(com.simplemobiletools.commons.R.string.filename_cannot_be_empty) activity.toast(org.fossify.commons.R.string.filename_cannot_be_empty)
return@setOnClickListener return@setOnClickListener
} }
filename += ".txt" filename += ".txt"
val newPath = "${folder.trimEnd('/')}/$filename" val newPath = "${folder.trimEnd('/')}/$filename"
if (!newPath.getFilenameFromPath().isAValidFilename()) { if (!newPath.getFilenameFromPath().isAValidFilename()) {
activity.toast(com.simplemobiletools.commons.R.string.filename_invalid_characters) activity.toast(org.fossify.commons.R.string.filename_invalid_characters)
return@setOnClickListener return@setOnClickListener
} }
activity.config.lastExportedFavoritesFolder = folder activity.config.lastExportedFavoritesFolder = folder
if (!hidePath && activity.getDoesFilePathExist(newPath)) { if (!hidePath && activity.getDoesFilePathExist(newPath)) {
val title = String.format( val title = String.format(
activity.getString(com.simplemobiletools.commons.R.string.file_already_exists_overwrite), activity.getString(org.fossify.commons.R.string.file_already_exists_overwrite),
newPath.getFilenameFromPath() newPath.getFilenameFromPath()
) )
ConfirmationDialog(activity, title) { ConfirmationDialog(activity, title) {

View file

@ -1,12 +1,12 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.DialogFilterMediaBinding import org.fossify.gallery.databinding.DialogFilterMediaBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
class FilterMediaDialog(val activity: BaseSimpleActivity, val callback: (result: Int) -> Unit) { class FilterMediaDialog(val activity: BaseSimpleActivity, val callback: (result: Int) -> Unit) {
private val binding = DialogFilterMediaBinding.inflate(activity.layoutInflater) private val binding = DialogFilterMediaBinding.inflate(activity.layoutInflater)
@ -23,8 +23,8 @@ class FilterMediaDialog(val activity: BaseSimpleActivity, val callback: (result:
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { dialog, which -> dialogConfirmed() } .setPositiveButton(org.fossify.commons.R.string.ok) { dialog, which -> dialogConfirmed() }
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this, R.string.filter_media) activity.setupDialogStuff(binding.root, this, R.string.filter_media)
} }

View file

@ -0,0 +1,23 @@
package org.fossify.gallery.dialogs
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.extensions.applyColorFilter
import org.fossify.commons.extensions.getAlertDialogBuilder
import org.fossify.commons.extensions.getProperTextColor
import org.fossify.commons.extensions.setupDialogStuff
import org.fossify.gallery.databinding.DialogGrantAllFilesBinding
import org.fossify.gallery.extensions.launchGrantAllFilesIntent
class GrantAllFilesDialog(val activity: BaseSimpleActivity) {
init {
val binding = DialogGrantAllFilesBinding.inflate(activity.layoutInflater)
binding.grantAllFilesImage.applyColorFilter(activity.getProperTextColor())
activity.getAlertDialogBuilder()
.setPositiveButton(org.fossify.commons.R.string.ok) { dialog, which -> activity.launchGrantAllFilesIntent() }
.setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply {
activity.setupDialogStuff(binding.root, this) { alertDialog -> }
}
}
}

View file

@ -1,11 +1,11 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.databinding.DialogManageBottomActionsBinding import org.fossify.gallery.databinding.DialogManageBottomActionsBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
class ManageBottomActionsDialog(val activity: BaseSimpleActivity, val callback: (result: Int) -> Unit) { class ManageBottomActionsDialog(val activity: BaseSimpleActivity, val callback: (result: Int) -> Unit) {
private val binding = DialogManageBottomActionsBinding.inflate(activity.layoutInflater) private val binding = DialogManageBottomActionsBinding.inflate(activity.layoutInflater)
@ -31,8 +31,8 @@ class ManageBottomActionsDialog(val activity: BaseSimpleActivity, val callback:
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { dialog, which -> dialogConfirmed() } .setPositiveButton(org.fossify.commons.R.string.ok) { dialog, which -> dialogConfirmed() }
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) activity.setupDialogStuff(binding.root, this)
} }

View file

@ -1,11 +1,11 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.databinding.DialogManageExtendedDetailsBinding import org.fossify.gallery.databinding.DialogManageExtendedDetailsBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
class ManageExtendedDetailsDialog(val activity: BaseSimpleActivity, val callback: (result: Int) -> Unit) { class ManageExtendedDetailsDialog(val activity: BaseSimpleActivity, val callback: (result: Int) -> Unit) {
private val binding = DialogManageExtendedDetailsBinding.inflate(activity.layoutInflater) private val binding = DialogManageExtendedDetailsBinding.inflate(activity.layoutInflater)
@ -25,8 +25,8 @@ class ManageExtendedDetailsDialog(val activity: BaseSimpleActivity, val callback
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok) { dialog, which -> dialogConfirmed() } .setPositiveButton(org.fossify.commons.R.string.ok) { dialog, which -> dialogConfirmed() }
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) activity.setupDialogStuff(binding.root, this)
} }

View file

@ -1,10 +1,10 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.gallery.pro.databinding.DialogOtherAspectRatioBinding import org.fossify.gallery.databinding.DialogOtherAspectRatioBinding
class OtherAspectRatioDialog( class OtherAspectRatioDialog(
val activity: BaseSimpleActivity, val activity: BaseSimpleActivity,
@ -58,7 +58,7 @@ class OtherAspectRatioDialog(
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) { alertDialog -> activity.setupDialogStuff(binding.root, this) { alertDialog ->
dialog = alertDialog dialog = alertDialog

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.graphics.Color import android.graphics.Color
import android.view.KeyEvent import android.view.KeyEvent
@ -6,17 +6,17 @@ import android.view.inputmethod.EditorInfo
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.FilePickerDialog import org.fossify.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID import org.fossify.commons.helpers.VIEW_TYPE_GRID
import com.simplemobiletools.commons.views.MyGridLayoutManager import org.fossify.commons.views.MyGridLayoutManager
import com.simplemobiletools.commons.views.MySearchMenu import org.fossify.commons.views.MySearchMenu
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.adapters.DirectoryAdapter import org.fossify.gallery.adapters.DirectoryAdapter
import com.simplemobiletools.gallery.pro.databinding.DialogDirectoryPickerBinding import org.fossify.gallery.databinding.DialogDirectoryPickerBinding
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.models.Directory import org.fossify.gallery.models.Directory
class PickDirectoryDialog( class PickDirectoryDialog(
val activity: BaseSimpleActivity, val activity: BaseSimpleActivity,
@ -51,8 +51,8 @@ class PickDirectoryDialog(
configureSearchView() configureSearchView()
val builder = activity.getAlertDialogBuilder() val builder = activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.setOnKeyListener { dialogInterface, i, keyEvent -> .setOnKeyListener { dialogInterface, i, keyEvent ->
if (keyEvent.action == KeyEvent.ACTION_UP && i == KeyEvent.KEYCODE_BACK) { if (keyEvent.action == KeyEvent.ACTION_UP && i == KeyEvent.KEYCODE_BACK) {
backPressed() backPressed()
@ -65,7 +65,7 @@ class PickDirectoryDialog(
} }
builder.apply { builder.apply {
activity.setupDialogStuff(binding.root, this, com.simplemobiletools.commons.R.string.select_destination) { alertDialog -> activity.setupDialogStuff(binding.root, this, org.fossify.commons.R.string.select_destination) { alertDialog ->
dialog = alertDialog dialog = alertDialog
binding.directoriesShowHidden.beVisibleIf(!context.config.shouldShowHidden) binding.directoriesShowHidden.beVisibleIf(!context.config.shouldShowHidden)
binding.directoriesShowHidden.setOnClickListener { binding.directoriesShowHidden.setOnClickListener {
@ -82,7 +82,7 @@ class PickDirectoryDialog(
} }
private fun configureSearchView() = with(searchView) { private fun configureSearchView() = with(searchView) {
updateHintText(context.getString(com.simplemobiletools.commons.R.string.search_folders)) updateHintText(context.getString(org.fossify.commons.R.string.search_folders))
searchEditText.imeOptions = EditorInfo.IME_ACTION_DONE searchEditText.imeOptions = EditorInfo.IME_ACTION_DONE
toggleHideOnScroll(!config.scrollHorizontally) toggleHideOnScroll(!config.scrollHorizontally)
@ -100,13 +100,13 @@ class PickDirectoryDialog(
private fun MySearchMenu.setSearchViewListeners() { private fun MySearchMenu.setSearchViewListeners() {
onSearchOpenListener = { onSearchOpenListener = {
updateSearchViewLeftIcon(com.simplemobiletools.commons.R.drawable.ic_cross_vector) updateSearchViewLeftIcon(org.fossify.commons.R.drawable.ic_cross_vector)
} }
onSearchClosedListener = { onSearchClosedListener = {
searchEditText.clearFocus() searchEditText.clearFocus()
activity.hideKeyboard(searchEditText) activity.hideKeyboard(searchEditText)
updateSearchViewLeftIcon(com.simplemobiletools.commons.R.drawable.ic_search_vector) updateSearchViewLeftIcon(org.fossify.commons.R.drawable.ic_search_vector)
} }
onSearchTextChangedListener = { text -> onSearchTextChangedListener = { text ->
@ -145,7 +145,7 @@ class PickDirectoryDialog(
directoriesEmptyPlaceholder.beVisibleIf(dirs.isEmpty()) directoriesEmptyPlaceholder.beVisibleIf(dirs.isEmpty())
if (folderSearchView.isSearchOpen) { if (folderSearchView.isSearchOpen) {
directoriesEmptyPlaceholder.text = root.context.getString(com.simplemobiletools.commons.R.string.no_items_found) directoriesEmptyPlaceholder.text = root.context.getString(org.fossify.commons.R.string.no_items_found)
} }
directoriesFastscroller.beVisibleIf(directoriesEmptyPlaceholder.isGone()) directoriesFastscroller.beVisibleIf(directoriesEmptyPlaceholder.isGone())
@ -203,10 +203,10 @@ class PickDirectoryDialog(
val path = clickedDir.path val path = clickedDir.path
if (clickedDir.subfoldersCount == 1 || !activity.config.groupDirectSubfolders) { if (clickedDir.subfoldersCount == 1 || !activity.config.groupDirectSubfolders) {
if (isPickingCopyMoveDestination && path.trimEnd('/') == sourcePath) { if (isPickingCopyMoveDestination && path.trimEnd('/') == sourcePath) {
activity.toast(com.simplemobiletools.commons.R.string.source_and_destination_same) activity.toast(org.fossify.commons.R.string.source_and_destination_same)
return@DirectoryAdapter return@DirectoryAdapter
} else if (isPickingCopyMoveDestination && activity.isRestrictedWithSAFSdk30(path) && !activity.isInDownloadDir(path)) { } else if (isPickingCopyMoveDestination && activity.isRestrictedWithSAFSdk30(path) && !activity.isInDownloadDir(path)) {
activity.toast(com.simplemobiletools.commons.R.string.system_folder_copy_restriction, Toast.LENGTH_LONG) activity.toast(org.fossify.commons.R.string.system_folder_copy_restriction, Toast.LENGTH_LONG)
return@DirectoryAdapter return@DirectoryAdapter
} else { } else {
activity.handleLockedFolderOpening(path) { success -> activity.handleLockedFolderOpening(path) { success ->

View file

@ -1,24 +1,24 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.getProperPrimaryColor import org.fossify.commons.extensions.getProperPrimaryColor
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID import org.fossify.commons.helpers.VIEW_TYPE_GRID
import com.simplemobiletools.commons.views.MyGridLayoutManager import org.fossify.commons.views.MyGridLayoutManager
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.adapters.MediaAdapter import org.fossify.gallery.adapters.MediaAdapter
import com.simplemobiletools.gallery.pro.asynctasks.GetMediaAsynctask import org.fossify.gallery.asynctasks.GetMediaAsynctask
import com.simplemobiletools.gallery.pro.databinding.DialogMediumPickerBinding import org.fossify.gallery.databinding.DialogMediumPickerBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.extensions.getCachedMedia import org.fossify.gallery.extensions.getCachedMedia
import com.simplemobiletools.gallery.pro.helpers.GridSpacingItemDecoration import org.fossify.gallery.helpers.GridSpacingItemDecoration
import com.simplemobiletools.gallery.pro.helpers.SHOW_ALL import org.fossify.gallery.helpers.SHOW_ALL
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import com.simplemobiletools.gallery.pro.models.ThumbnailItem import org.fossify.gallery.models.ThumbnailItem
import com.simplemobiletools.gallery.pro.models.ThumbnailSection import org.fossify.gallery.models.ThumbnailSection
class PickMediumDialog(val activity: BaseSimpleActivity, val path: String, val callback: (path: String) -> Unit) { class PickMediumDialog(val activity: BaseSimpleActivity, val path: String, val callback: (path: String) -> Unit) {
private var dialog: AlertDialog? = null private var dialog: AlertDialog? = null
@ -37,11 +37,11 @@ class PickMediumDialog(val activity: BaseSimpleActivity, val path: String, val c
binding.mediaFastscroller.updateColors(activity.getProperPrimaryColor()) binding.mediaFastscroller.updateColors(activity.getProperPrimaryColor())
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.setNeutralButton(R.string.other_folder) { dialogInterface, i -> showOtherFolder() } .setNeutralButton(R.string.other_folder) { dialogInterface, i -> showOtherFolder() }
.apply { .apply {
activity.setupDialogStuff(binding.root, this, com.simplemobiletools.commons.R.string.select_photo) { alertDialog -> activity.setupDialogStuff(binding.root, this, org.fossify.commons.R.string.select_photo) { alertDialog ->
dialog = alertDialog dialog = alertDialog
} }
} }

View file

@ -1,12 +1,12 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.graphics.Point import android.graphics.Point
import android.widget.EditText import android.widget.EditText
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.DialogResizeImageBinding import org.fossify.gallery.databinding.DialogResizeImageBinding
class ResizeDialog(val activity: BaseSimpleActivity, val size: Point, val callback: (newSize: Point) -> Unit) { class ResizeDialog(val activity: BaseSimpleActivity, val size: Point, val callback: (newSize: Point) -> Unit) {
init { init {
@ -48,8 +48,8 @@ class ResizeDialog(val activity: BaseSimpleActivity, val size: Point, val callba
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this, R.string.resize_and_save) { alertDialog -> activity.setupDialogStuff(binding.root, this, R.string.resize_and_save) { alertDialog ->
alertDialog.showKeyboard(binding.resizeImageWidth) alertDialog.showKeyboard(binding.resizeImageWidth)

View file

@ -1,15 +1,15 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.graphics.Point import android.graphics.Point
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.DialogResizeMultipleImagesBinding import org.fossify.gallery.databinding.DialogResizeMultipleImagesBinding
import com.simplemobiletools.gallery.pro.extensions.ensureWriteAccess import org.fossify.gallery.extensions.ensureWriteAccess
import com.simplemobiletools.gallery.pro.extensions.rescanPathsAndUpdateLastModified import org.fossify.gallery.extensions.rescanPathsAndUpdateLastModified
import com.simplemobiletools.gallery.pro.extensions.resizeImage import org.fossify.gallery.extensions.resizeImage
import java.io.File import java.io.File
import kotlin.math.roundToInt import kotlin.math.roundToInt
@ -35,8 +35,8 @@ class ResizeMultipleImagesDialog(
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this, R.string.resize_multiple_images) { alertDialog -> activity.setupDialogStuff(binding.root, this, R.string.resize_multiple_images) { alertDialog ->
dialog = alertDialog dialog = alertDialog
@ -95,7 +95,7 @@ class ResizeMultipleImagesDialog(
} }
} }
} catch (e: OutOfMemoryError) { } catch (e: OutOfMemoryError) {
toast(com.simplemobiletools.commons.R.string.out_of_memory_error) toast(org.fossify.commons.R.string.out_of_memory_error)
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
} }

View file

@ -1,15 +1,15 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import android.graphics.Point import android.graphics.Point
import android.widget.EditText import android.widget.EditText
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.FilePickerDialog import org.fossify.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.DialogResizeImageWithPathBinding import org.fossify.gallery.databinding.DialogResizeImageWithPathBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
class ResizeWithPathDialog(val activity: BaseSimpleActivity, val size: Point, val path: String, val callback: (newSize: Point, newPath: String) -> Unit) { class ResizeWithPathDialog(val activity: BaseSimpleActivity, val size: Point, val path: String, val callback: (newSize: Point, newPath: String) -> Unit) {
init { init {
@ -69,8 +69,8 @@ class ResizeWithPathDialog(val activity: BaseSimpleActivity, val size: Point, va
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) { alertDialog -> activity.setupDialogStuff(binding.root, this) { alertDialog ->
alertDialog.showKeyboard(binding.resizeImageWidth) alertDialog.showKeyboard(binding.resizeImageWidth)
@ -87,24 +87,24 @@ class ResizeWithPathDialog(val activity: BaseSimpleActivity, val size: Point, va
val filename = binding.filenameValue.value val filename = binding.filenameValue.value
val extension = binding.extensionValue.value val extension = binding.extensionValue.value
if (filename.isEmpty()) { if (filename.isEmpty()) {
activity.toast(com.simplemobiletools.commons.R.string.filename_cannot_be_empty) activity.toast(org.fossify.commons.R.string.filename_cannot_be_empty)
return@setOnClickListener return@setOnClickListener
} }
if (extension.isEmpty()) { if (extension.isEmpty()) {
activity.toast(com.simplemobiletools.commons.R.string.extension_cannot_be_empty) activity.toast(org.fossify.commons.R.string.extension_cannot_be_empty)
return@setOnClickListener return@setOnClickListener
} }
val newFilename = "$filename.$extension" val newFilename = "$filename.$extension"
val newPath = "${realPath.trimEnd('/')}/$newFilename" val newPath = "${realPath.trimEnd('/')}/$newFilename"
if (!newFilename.isAValidFilename()) { if (!newFilename.isAValidFilename()) {
activity.toast(com.simplemobiletools.commons.R.string.filename_invalid_characters) activity.toast(org.fossify.commons.R.string.filename_invalid_characters)
return@setOnClickListener return@setOnClickListener
} }
if (activity.getDoesFilePathExist(newPath)) { if (activity.getDoesFilePathExist(newPath)) {
val title = String.format(activity.getString(com.simplemobiletools.commons.R.string.file_already_exists_overwrite), newFilename) val title = String.format(activity.getString(org.fossify.commons.R.string.file_already_exists_overwrite), newFilename)
ConfirmationDialog(activity, title) { ConfirmationDialog(activity, title) {
callback(newSize, newPath) callback(newSize, newPath)
alertDialog.dismiss() alertDialog.dismiss()

View file

@ -1,12 +1,12 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import org.fossify.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.FilePickerDialog import org.fossify.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.isRPlus import org.fossify.commons.helpers.isRPlus
import com.simplemobiletools.gallery.pro.databinding.DialogSaveAsBinding import org.fossify.gallery.databinding.DialogSaveAsBinding
import java.io.File import java.io.File
class SaveAsDialog( class SaveAsDialog(
@ -47,35 +47,35 @@ class SaveAsDialog(
} }
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel) { dialog, which -> cancelCallback?.invoke() } .setNegativeButton(org.fossify.commons.R.string.cancel) { dialog, which -> cancelCallback?.invoke() }
.setOnCancelListener { cancelCallback?.invoke() } .setOnCancelListener { cancelCallback?.invoke() }
.apply { .apply {
activity.setupDialogStuff(binding.root, this, com.simplemobiletools.commons.R.string.save_as) { alertDialog -> activity.setupDialogStuff(binding.root, this, org.fossify.commons.R.string.save_as) { alertDialog ->
alertDialog.showKeyboard(binding.filenameValue) alertDialog.showKeyboard(binding.filenameValue)
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
val filename = binding.filenameValue.value val filename = binding.filenameValue.value
val extension = binding.extensionValue.value val extension = binding.extensionValue.value
if (filename.isEmpty()) { if (filename.isEmpty()) {
activity.toast(com.simplemobiletools.commons.R.string.filename_cannot_be_empty) activity.toast(org.fossify.commons.R.string.filename_cannot_be_empty)
return@setOnClickListener return@setOnClickListener
} }
if (extension.isEmpty()) { if (extension.isEmpty()) {
activity.toast(com.simplemobiletools.commons.R.string.extension_cannot_be_empty) activity.toast(org.fossify.commons.R.string.extension_cannot_be_empty)
return@setOnClickListener return@setOnClickListener
} }
val newFilename = "$filename.$extension" val newFilename = "$filename.$extension"
val newPath = "${realPath.trimEnd('/')}/$newFilename" val newPath = "${realPath.trimEnd('/')}/$newFilename"
if (!newFilename.isAValidFilename()) { if (!newFilename.isAValidFilename()) {
activity.toast(com.simplemobiletools.commons.R.string.filename_invalid_characters) activity.toast(org.fossify.commons.R.string.filename_invalid_characters)
return@setOnClickListener return@setOnClickListener
} }
if (activity.getDoesFilePathExist(newPath)) { if (activity.getDoesFilePathExist(newPath)) {
val title = String.format(activity.getString(com.simplemobiletools.commons.R.string.file_already_exists_overwrite), newFilename) val title = String.format(activity.getString(org.fossify.commons.R.string.file_already_exists_overwrite), newFilename)
ConfirmationDialog(activity, title) { ConfirmationDialog(activity, title) {
if ((isRPlus() && !isExternalStorageManager())) { if ((isRPlus() && !isExternalStorageManager())) {
val fileDirItem = arrayListOf(File(newPath).toFileDirItem(activity)) val fileDirItem = arrayListOf(File(newPath).toFileDirItem(activity))

View file

@ -1,27 +1,27 @@
package com.simplemobiletools.gallery.pro.dialogs package org.fossify.gallery.dialogs
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.commons.activities.BaseSimpleActivity import org.fossify.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import org.fossify.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder import org.fossify.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.hideKeyboard import org.fossify.commons.extensions.hideKeyboard
import com.simplemobiletools.commons.extensions.setupDialogStuff import org.fossify.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.value import org.fossify.commons.extensions.value
import com.simplemobiletools.commons.models.RadioItem import org.fossify.commons.models.RadioItem
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.databinding.DialogSlideshowBinding import org.fossify.gallery.databinding.DialogSlideshowBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.helpers.SLIDESHOW_ANIMATION_FADE import org.fossify.gallery.helpers.SLIDESHOW_ANIMATION_FADE
import com.simplemobiletools.gallery.pro.helpers.SLIDESHOW_ANIMATION_NONE import org.fossify.gallery.helpers.SLIDESHOW_ANIMATION_NONE
import com.simplemobiletools.gallery.pro.helpers.SLIDESHOW_ANIMATION_SLIDE import org.fossify.gallery.helpers.SLIDESHOW_ANIMATION_SLIDE
import com.simplemobiletools.gallery.pro.helpers.SLIDESHOW_DEFAULT_INTERVAL import org.fossify.gallery.helpers.SLIDESHOW_DEFAULT_INTERVAL
class SlideshowDialog(val activity: BaseSimpleActivity, val callback: () -> Unit) { class SlideshowDialog(val activity: BaseSimpleActivity, val callback: () -> Unit) {
private val binding: DialogSlideshowBinding private val binding: DialogSlideshowBinding
init { init {
binding = DialogSlideshowBinding.inflate(activity.layoutInflater).apply { binding = DialogSlideshowBinding.inflate(activity.layoutInflater).apply {
intervalHint.hint = activity.getString(com.simplemobiletools.commons.R.string.seconds_raw).replaceFirstChar { it.uppercaseChar() } intervalHint.hint = activity.getString(org.fossify.commons.R.string.seconds_raw).replaceFirstChar { it.uppercaseChar() }
intervalValue.setOnClickListener { intervalValue.setOnClickListener {
intervalValue.selectAll() intervalValue.selectAll()
} }
@ -72,8 +72,8 @@ class SlideshowDialog(val activity: BaseSimpleActivity, val callback: () -> Unit
setupValues() setupValues()
activity.getAlertDialogBuilder() activity.getAlertDialogBuilder()
.setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) .setPositiveButton(org.fossify.commons.R.string.ok, null)
.setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) .setNegativeButton(org.fossify.commons.R.string.cancel, null)
.apply { .apply {
activity.setupDialogStuff(binding.root, this) { alertDialog -> activity.setupDialogStuff(binding.root, this) { alertDialog ->
alertDialog.hideKeyboard() alertDialog.hideKeyboard()

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.extensions package org.fossify.gallery.extensions
import android.annotation.TargetApi import android.annotation.TargetApi
import android.app.Activity import android.app.Activity
@ -26,29 +26,29 @@ import com.bumptech.glide.Glide
import com.bumptech.glide.load.DecodeFormat import com.bumptech.glide.load.DecodeFormat
import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.SecurityDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.FAQItem
import com.simplemobiletools.commons.models.FileDirItem
import com.simplemobiletools.gallery.pro.BuildConfig
import com.simplemobiletools.gallery.pro.R
import com.simplemobiletools.gallery.pro.activities.MediaActivity
import com.simplemobiletools.gallery.pro.activities.SettingsActivity
import com.simplemobiletools.gallery.pro.activities.SimpleActivity
import com.simplemobiletools.gallery.pro.dialogs.AllFilesPermissionDialog
import com.simplemobiletools.gallery.pro.dialogs.PickDirectoryDialog
import com.simplemobiletools.gallery.pro.dialogs.ResizeMultipleImagesDialog
import com.simplemobiletools.gallery.pro.dialogs.ResizeWithPathDialog
import com.simplemobiletools.gallery.pro.helpers.DIRECTORY
import com.simplemobiletools.gallery.pro.helpers.RECYCLE_BIN
import com.simplemobiletools.gallery.pro.models.DateTaken
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.dialogs.ConfirmationDialog
import org.fossify.commons.dialogs.SecurityDialog
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.*
import org.fossify.commons.models.FAQItem
import org.fossify.commons.models.FileDirItem
import org.fossify.gallery.BuildConfig
import org.fossify.gallery.R
import org.fossify.gallery.activities.MediaActivity
import org.fossify.gallery.activities.SettingsActivity
import org.fossify.gallery.activities.SimpleActivity
import org.fossify.gallery.dialogs.AllFilesPermissionDialog
import org.fossify.gallery.dialogs.PickDirectoryDialog
import org.fossify.gallery.dialogs.ResizeMultipleImagesDialog
import org.fossify.gallery.dialogs.ResizeWithPathDialog
import org.fossify.gallery.helpers.DIRECTORY
import org.fossify.gallery.helpers.RECYCLE_BIN
import org.fossify.gallery.models.DateTaken
import java.io.* import java.io.*
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.Locale
fun Activity.sharePath(path: String) { fun Activity.sharePath(path: String) {
sharePathIntent(path, BuildConfig.APPLICATION_ID) sharePathIntent(path, BuildConfig.APPLICATION_ID)
@ -99,7 +99,7 @@ fun SimpleActivity.launchAbout() {
FAQItem(R.string.faq_7_title, R.string.faq_7_text), FAQItem(R.string.faq_7_title, R.string.faq_7_text),
FAQItem(R.string.faq_14_title, R.string.faq_14_text), FAQItem(R.string.faq_14_title, R.string.faq_14_text),
FAQItem(R.string.faq_1_title, R.string.faq_1_text), FAQItem(R.string.faq_1_title, R.string.faq_1_text),
FAQItem(com.simplemobiletools.commons.R.string.faq_5_title_commons, com.simplemobiletools.commons.R.string.faq_5_text_commons), FAQItem(org.fossify.commons.R.string.faq_5_title_commons, org.fossify.commons.R.string.faq_5_text_commons),
FAQItem(R.string.faq_5_title, R.string.faq_5_text), FAQItem(R.string.faq_5_title, R.string.faq_5_text),
FAQItem(R.string.faq_4_title, R.string.faq_4_text), FAQItem(R.string.faq_4_title, R.string.faq_4_text),
FAQItem(R.string.faq_6_title, R.string.faq_6_text), FAQItem(R.string.faq_6_title, R.string.faq_6_text),
@ -110,14 +110,14 @@ fun SimpleActivity.launchAbout() {
FAQItem(R.string.faq_15_title, R.string.faq_15_text), FAQItem(R.string.faq_15_title, R.string.faq_15_text),
FAQItem(R.string.faq_2_title, R.string.faq_2_text), FAQItem(R.string.faq_2_title, R.string.faq_2_text),
FAQItem(R.string.faq_18_title, R.string.faq_18_text), FAQItem(R.string.faq_18_title, R.string.faq_18_text),
FAQItem(com.simplemobiletools.commons.R.string.faq_9_title_commons, com.simplemobiletools.commons.R.string.faq_9_text_commons), FAQItem(org.fossify.commons.R.string.faq_9_title_commons, org.fossify.commons.R.string.faq_9_text_commons),
) )
if (!resources.getBoolean(com.simplemobiletools.commons.R.bool.hide_google_relations)) { if (!resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations)) {
faqItems.add(FAQItem(com.simplemobiletools.commons.R.string.faq_2_title_commons, com.simplemobiletools.commons.R.string.faq_2_text_commons)) faqItems.add(FAQItem(org.fossify.commons.R.string.faq_2_title_commons, org.fossify.commons.R.string.faq_2_text_commons))
faqItems.add(FAQItem(com.simplemobiletools.commons.R.string.faq_6_title_commons, com.simplemobiletools.commons.R.string.faq_6_text_commons)) faqItems.add(FAQItem(org.fossify.commons.R.string.faq_6_title_commons, org.fossify.commons.R.string.faq_6_text_commons))
faqItems.add(FAQItem(com.simplemobiletools.commons.R.string.faq_7_title_commons, com.simplemobiletools.commons.R.string.faq_7_text_commons)) faqItems.add(FAQItem(org.fossify.commons.R.string.faq_7_title_commons, org.fossify.commons.R.string.faq_7_text_commons))
faqItems.add(FAQItem(com.simplemobiletools.commons.R.string.faq_10_title_commons, com.simplemobiletools.commons.R.string.faq_10_text_commons)) faqItems.add(FAQItem(org.fossify.commons.R.string.faq_10_title_commons, org.fossify.commons.R.string.faq_10_text_commons))
} }
if (isRPlus() && !isExternalStorageManager()) { if (isRPlus() && !isExternalStorageManager()) {
@ -138,7 +138,7 @@ fun BaseSimpleActivity.handleMediaManagementPrompt(callback: () -> Unit) {
if (Environment.isExternalStorageManager()) { if (Environment.isExternalStorageManager()) {
callback() callback()
} else { } else {
var messagePrompt = getString(com.simplemobiletools.commons.R.string.access_storage_prompt) var messagePrompt = getString(org.fossify.commons.R.string.access_storage_prompt)
messagePrompt += if (isSPlus()) { messagePrompt += if (isSPlus()) {
"\n\n${getString(R.string.media_management_alternative)}" "\n\n${getString(R.string.media_management_alternative)}"
} else { } else {
@ -214,7 +214,7 @@ fun BaseSimpleActivity.addNoMedia(path: String, callback: () -> Unit) {
addNoMediaIntoMediaStore(file.absolutePath) addNoMediaIntoMediaStore(file.absolutePath)
callback() callback()
} else { } else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
callback() callback()
} }
} }
@ -225,7 +225,7 @@ fun BaseSimpleActivity.addNoMedia(path: String, callback: () -> Unit) {
addNoMediaIntoMediaStore(file.absolutePath) addNoMediaIntoMediaStore(file.absolutePath)
} }
} else { } else {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
} }
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
@ -296,7 +296,7 @@ fun BaseSimpleActivity.toggleFileVisibility(oldPath: String, hide: Boolean, call
fun BaseSimpleActivity.tryCopyMoveFilesTo(fileDirItems: ArrayList<FileDirItem>, isCopyOperation: Boolean, callback: (destinationPath: String) -> Unit) { fun BaseSimpleActivity.tryCopyMoveFilesTo(fileDirItems: ArrayList<FileDirItem>, isCopyOperation: Boolean, callback: (destinationPath: String) -> Unit) {
if (fileDirItems.isEmpty()) { if (fileDirItems.isEmpty()) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
return return
} }
@ -477,10 +477,10 @@ fun BaseSimpleActivity.emptyTheRecycleBin(callback: (() -> Unit)? = null) {
recycleBin.deleteRecursively() recycleBin.deleteRecursively()
mediaDB.clearRecycleBin() mediaDB.clearRecycleBin()
directoryDB.deleteRecycleBin() directoryDB.deleteRecycleBin()
toast(com.simplemobiletools.commons.R.string.recycle_bin_emptied) toast(org.fossify.commons.R.string.recycle_bin_emptied)
callback?.invoke() callback?.invoke()
} catch (e: Exception) { } catch (e: Exception) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
} }
} }
} }
@ -498,9 +498,9 @@ fun BaseSimpleActivity.showRecycleBinEmptyingDialog(callback: () -> Unit) {
ConfirmationDialog( ConfirmationDialog(
this, this,
"", "",
com.simplemobiletools.commons.R.string.empty_recycle_bin_confirmation, org.fossify.commons.R.string.empty_recycle_bin_confirmation,
com.simplemobiletools.commons.R.string.yes, org.fossify.commons.R.string.yes,
com.simplemobiletools.commons.R.string.no org.fossify.commons.R.string.no
) { ) {
callback() callback()
} }
@ -617,7 +617,7 @@ fun AppCompatActivity.fixDateTaken(
runOnUiThread { runOnUiThread {
if (showToasts) { if (showToasts) {
toast(if (didUpdateFile) R.string.dates_fixed_successfully else com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(if (didUpdateFile) R.string.dates_fixed_successfully else org.fossify.commons.R.string.unknown_error_occurred)
} }
callback?.invoke() callback?.invoke()
@ -653,7 +653,7 @@ fun BaseSimpleActivity.saveRotatedImageToFile(oldPath: String, newPath: String,
getFileOutputStream(tmpFileDirItem) { getFileOutputStream(tmpFileDirItem) {
if (it == null) { if (it == null) {
if (showToasts) { if (showToasts) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
} }
return@getFileOutputStream return@getFileOutputStream
} }
@ -678,7 +678,7 @@ fun BaseSimpleActivity.saveRotatedImageToFile(oldPath: String, newPath: String,
} }
} catch (e: OutOfMemoryError) { } catch (e: OutOfMemoryError) {
if (showToasts) { if (showToasts) {
toast(com.simplemobiletools.commons.R.string.out_of_memory_error) toast(org.fossify.commons.R.string.out_of_memory_error)
} }
} catch (e: Exception) { } catch (e: Exception) {
if (showToasts) { if (showToasts) {
@ -698,7 +698,7 @@ fun Activity.tryRotateByExif(path: String, degrees: Int, showToasts: Boolean, ca
fileRotatedSuccessfully(path, oldLastModified) fileRotatedSuccessfully(path, oldLastModified)
callback.invoke() callback.invoke()
if (showToasts) { if (showToasts) {
toast(com.simplemobiletools.commons.R.string.file_saved) toast(org.fossify.commons.R.string.file_saved)
} }
true true
} else { } else {
@ -807,7 +807,7 @@ fun BaseSimpleActivity.launchResizeImageDialog(path: String, callback: (() -> Un
try { try {
resizeImage(path, newPath, newSize) { success -> resizeImage(path, newPath, newSize) { success ->
if (success) { if (success) {
toast(com.simplemobiletools.commons.R.string.file_saved) toast(org.fossify.commons.R.string.file_saved)
val paths = arrayListOf(file.absolutePath) val paths = arrayListOf(file.absolutePath)
rescanPathsAndUpdateLastModified(paths, pathLastModifiedMap) { rescanPathsAndUpdateLastModified(paths, pathLastModifiedMap) {
@ -820,7 +820,7 @@ fun BaseSimpleActivity.launchResizeImageDialog(path: String, callback: (() -> Un
} }
} }
} catch (e: OutOfMemoryError) { } catch (e: OutOfMemoryError) {
toast(com.simplemobiletools.commons.R.string.out_of_memory_error) toast(org.fossify.commons.R.string.out_of_memory_error)
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
} }
@ -888,7 +888,7 @@ fun Activity.getShortcutImage(tmb: String, drawable: Drawable, callback: () -> U
.diskCacheStrategy(DiskCacheStrategy.NONE) .diskCacheStrategy(DiskCacheStrategy.NONE)
.fitCenter() .fitCenter()
val size = resources.getDimension(com.simplemobiletools.commons.R.dimen.shortcut_size).toInt() val size = resources.getDimension(org.fossify.commons.R.dimen.shortcut_size).toInt()
val builder = Glide.with(this) val builder = Glide.with(this)
.asDrawable() .asDrawable()
.load(tmb) .load(tmb)

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.gallery.pro.extensions package org.fossify.gallery.extensions
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
fun ArrayList<Medium>.getDirMediaTypes(): Int { fun ArrayList<Medium>.getDirMediaTypes(): Int {
var types = 0 var types = 0

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.extensions package org.fossify.gallery.extensions
import android.appwidget.AppWidgetManager import android.appwidget.AppWidgetManager
import android.content.ComponentName import android.content.ComponentName
@ -32,21 +32,22 @@ import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.request.target.Target import com.bumptech.glide.request.target.Target
import com.bumptech.glide.signature.ObjectKey import com.bumptech.glide.signature.ObjectKey
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.views.MySquareImageView
import com.simplemobiletools.gallery.pro.R
import com.simplemobiletools.gallery.pro.asynctasks.GetMediaAsynctask
import com.simplemobiletools.gallery.pro.databases.GalleryDatabase
import com.simplemobiletools.gallery.pro.helpers.*
import com.simplemobiletools.gallery.pro.interfaces.*
import com.simplemobiletools.gallery.pro.models.*
import com.simplemobiletools.gallery.pro.svg.SvgSoftwareLayerSetter
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.*
import org.fossify.commons.views.MySquareImageView
import org.fossify.gallery.R
import org.fossify.gallery.asynctasks.GetMediaAsynctask
import org.fossify.gallery.databases.GalleryDatabase
import org.fossify.gallery.helpers.*
import org.fossify.gallery.interfaces.*
import org.fossify.gallery.models.*
import org.fossify.gallery.svg.SvgSoftwareLayerSetter
import java.io.File import java.io.File
import java.io.FileInputStream import java.io.FileInputStream
import java.nio.ByteBuffer import java.nio.ByteBuffer
import java.nio.channels.FileChannel import java.nio.channels.FileChannel
import java.util.Locale
import kotlin.collections.set import kotlin.collections.set
import kotlin.math.max import kotlin.math.max
@ -130,37 +131,44 @@ fun Context.getSortedDirectories(source: ArrayList<Directory>): ArrayList<Direct
var result = when { var result = when {
sorting and SORT_BY_NAME != 0 -> { sorting and SORT_BY_NAME != 0 -> {
if (o1.sortValue.isEmpty()) { if (o1.sortValue.isEmpty()) {
o1.sortValue = o1.name.toLowerCase() o1.sortValue = o1.name.lowercase(Locale.getDefault())
} }
if (o2.sortValue.isEmpty()) { if (o2.sortValue.isEmpty()) {
o2.sortValue = o2.name.toLowerCase() o2.sortValue = o2.name.lowercase(Locale.getDefault())
} }
if (sorting and SORT_USE_NUMERIC_VALUE != 0) { if (sorting and SORT_USE_NUMERIC_VALUE != 0) {
AlphanumericComparator().compare(o1.sortValue.normalizeString().toLowerCase(), o2.sortValue.normalizeString().toLowerCase()) AlphanumericComparator().compare(
o1.sortValue.normalizeString().lowercase(Locale.getDefault()),
o2.sortValue.normalizeString().lowercase(Locale.getDefault())
)
} else { } else {
o1.sortValue.normalizeString().toLowerCase().compareTo(o2.sortValue.normalizeString().toLowerCase()) o1.sortValue.normalizeString().lowercase(Locale.getDefault()).compareTo(o2.sortValue.normalizeString().lowercase(Locale.getDefault()))
} }
} }
sorting and SORT_BY_PATH != 0 -> { sorting and SORT_BY_PATH != 0 -> {
if (o1.sortValue.isEmpty()) { if (o1.sortValue.isEmpty()) {
o1.sortValue = o1.path.toLowerCase() o1.sortValue = o1.path.lowercase(Locale.getDefault())
} }
if (o2.sortValue.isEmpty()) { if (o2.sortValue.isEmpty()) {
o2.sortValue = o2.path.toLowerCase() o2.sortValue = o2.path.lowercase(Locale.getDefault())
} }
if (sorting and SORT_USE_NUMERIC_VALUE != 0) { if (sorting and SORT_USE_NUMERIC_VALUE != 0) {
AlphanumericComparator().compare(o1.sortValue.toLowerCase(), o2.sortValue.toLowerCase()) AlphanumericComparator().compare(o1.sortValue.lowercase(Locale.getDefault()), o2.sortValue.lowercase(Locale.getDefault()))
} else { } else {
o1.sortValue.toLowerCase().compareTo(o2.sortValue.toLowerCase()) o1.sortValue.lowercase(Locale.getDefault()).compareTo(o2.sortValue.lowercase(Locale.getDefault()))
} }
} }
sorting and SORT_BY_PATH != 0 -> AlphanumericComparator().compare(o1.sortValue.toLowerCase(), o2.sortValue.toLowerCase()) sorting and SORT_BY_PATH != 0 -> AlphanumericComparator().compare(
o1.sortValue.lowercase(Locale.getDefault()),
o2.sortValue.lowercase(Locale.getDefault())
)
sorting and SORT_BY_SIZE != 0 -> (o1.sortValue.toLongOrNull() ?: 0).compareTo(o2.sortValue.toLongOrNull() ?: 0) sorting and SORT_BY_SIZE != 0 -> (o1.sortValue.toLongOrNull() ?: 0).compareTo(o2.sortValue.toLongOrNull() ?: 0)
sorting and SORT_BY_DATE_MODIFIED != 0 -> (o1.sortValue.toLongOrNull() ?: 0).compareTo(o2.sortValue.toLongOrNull() ?: 0) sorting and SORT_BY_DATE_MODIFIED != 0 -> (o1.sortValue.toLongOrNull() ?: 0).compareTo(o2.sortValue.toLongOrNull() ?: 0)
else -> (o1.sortValue.toLongOrNull() ?: 0).compareTo(o2.sortValue.toLongOrNull() ?: 0) else -> (o1.sortValue.toLongOrNull() ?: 0).compareTo(o2.sortValue.toLongOrNull() ?: 0)
@ -230,7 +238,7 @@ private fun Context.addParentWithoutMediaFiles(into: ArrayList<Directory>, path:
path, path,
subDirs.first().tmb, subDirs.first().tmb,
getFolderNameFromPath(path), getFolderNameFromPath(path),
subDirs.sumBy { it.mediaCnt }, subDirs.sumOf { it.mediaCnt },
lastModified, lastModified,
dateTaken, dateTaken,
subDirs.sumByLong { it.size }, subDirs.sumByLong { it.size },
@ -454,11 +462,11 @@ fun Context.checkAppendingHidden(path: String, hidden: String, includedFolders:
fun Context.getFolderNameFromPath(path: String): String { fun Context.getFolderNameFromPath(path: String): String {
return when (path) { return when (path) {
internalStoragePath -> getString(com.simplemobiletools.commons.R.string.internal) internalStoragePath -> getString(org.fossify.commons.R.string.internal)
sdCardPath -> getString(com.simplemobiletools.commons.R.string.sd_card) sdCardPath -> getString(org.fossify.commons.R.string.sd_card)
otgPath -> getString(com.simplemobiletools.commons.R.string.usb) otgPath -> getString(org.fossify.commons.R.string.usb)
FAVORITES -> getString(com.simplemobiletools.commons.R.string.favorites) FAVORITES -> getString(org.fossify.commons.R.string.favorites)
RECYCLE_BIN -> getString(com.simplemobiletools.commons.R.string.recycle_bin) RECYCLE_BIN -> getString(org.fossify.commons.R.string.recycle_bin)
else -> path.getFilenameFromPath() else -> path.getFilenameFromPath()
} }
} }
@ -534,11 +542,15 @@ fun Context.loadImageBase(
} }
if (roundCorners != ROUNDED_CORNERS_NONE) { if (roundCorners != ROUNDED_CORNERS_NONE) {
val cornerSize = if (roundCorners == ROUNDED_CORNERS_SMALL) com.simplemobiletools.commons.R.dimen.rounded_corner_radius_small else com.simplemobiletools.commons.R.dimen.rounded_corner_radius_big val cornerSize =
if (roundCorners == ROUNDED_CORNERS_SMALL) org.fossify.commons.R.dimen.rounded_corner_radius_small else org.fossify.commons.R.dimen.rounded_corner_radius_big
val cornerRadius = resources.getDimension(cornerSize).toInt() val cornerRadius = resources.getDimension(cornerSize).toInt()
val roundedCornersTransform = RoundedCorners(cornerRadius) val roundedCornersTransform = RoundedCorners(cornerRadius)
options.optionalTransform(MultiTransformation(CenterCrop(), roundedCornersTransform)) options.optionalTransform(MultiTransformation(CenterCrop(), roundedCornersTransform))
options.optionalTransform(WebpDrawable::class.java, MultiTransformation(WebpDrawableTransformation(CenterCrop()), WebpDrawableTransformation(roundedCornersTransform))) options.optionalTransform(
WebpDrawable::class.java,
MultiTransformation(WebpDrawableTransformation(CenterCrop()), WebpDrawableTransformation(roundedCornersTransform))
)
} }
WebpBitmapFactory.sUseSystemDecoder = false // CVE-2023-4863 WebpBitmapFactory.sUseSystemDecoder = false // CVE-2023-4863
@ -583,7 +595,7 @@ fun Context.loadSVG(path: String, target: MySquareImageView, cropThumbnails: Boo
if (roundCorners != ROUNDED_CORNERS_NONE) { if (roundCorners != ROUNDED_CORNERS_NONE) {
val cornerSize = val cornerSize =
if (roundCorners == ROUNDED_CORNERS_SMALL) com.simplemobiletools.commons.R.dimen.rounded_corner_radius_small else com.simplemobiletools.commons.R.dimen.rounded_corner_radius_big if (roundCorners == ROUNDED_CORNERS_SMALL) org.fossify.commons.R.dimen.rounded_corner_radius_small else org.fossify.commons.R.dimen.rounded_corner_radius_big
val cornerRadius = resources.getDimension(cornerSize).toInt() val cornerRadius = resources.getDimension(cornerSize).toInt()
builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius)) builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius))
} }
@ -609,7 +621,7 @@ fun Context.tryLoadingWithPicasso(path: String, view: MySquareImageView, cropThu
if (roundCorners != ROUNDED_CORNERS_NONE) { if (roundCorners != ROUNDED_CORNERS_NONE) {
val cornerSize = val cornerSize =
if (roundCorners == ROUNDED_CORNERS_SMALL) com.simplemobiletools.commons.R.dimen.rounded_corner_radius_small else com.simplemobiletools.commons.R.dimen.rounded_corner_radius_big if (roundCorners == ROUNDED_CORNERS_SMALL) org.fossify.commons.R.dimen.rounded_corner_radius_small else org.fossify.commons.R.dimen.rounded_corner_radius_big
val cornerRadius = resources.getDimension(cornerSize).toInt() val cornerRadius = resources.getDimension(cornerSize).toInt()
builder = builder.transform(PicassoRoundedCornersTransformation(cornerRadius.toFloat())) builder = builder.transform(PicassoRoundedCornersTransformation(cornerRadius.toFloat()))
} }
@ -848,7 +860,7 @@ fun Context.updateFavorite(path: String, isFavorite: Boolean) {
favoritesDB.deleteFavoritePath(path) favoritesDB.deleteFavoritePath(path)
} }
} catch (e: Exception) { } catch (e: Exception) {
toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) toast(org.fossify.commons.R.string.unknown_error_occurred)
} }
} }
@ -929,7 +941,7 @@ fun Context.parseFileChannel(path: String, fc: FileChannel, level: Int, start: L
} }
} }
val xmlString = sb.toString().toLowerCase() val xmlString = sb.toString().lowercase(Locale.getDefault())
if (xmlString.contains("gspherical:projectiontype>equirectangular") || xmlString.contains("gspherical:projectiontype=\"equirectangular\"")) { if (xmlString.contains("gspherical:projectiontype>equirectangular") || xmlString.contains("gspherical:projectiontype=\"equirectangular\"")) {
callback.invoke() callback.invoke()
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.extensions package org.fossify.gallery.extensions
import androidx.exifinterface.media.ExifInterface import androidx.exifinterface.media.ExifInterface
import java.lang.reflect.Field import java.lang.reflect.Field

View file

@ -0,0 +1,5 @@
package org.fossify.gallery.extensions
import org.fossify.commons.models.FileDirItem
fun FileDirItem.isDownloadsFolder() = path.isDownloadsFolder()

View file

@ -0,0 +1,5 @@
package org.fossify.gallery.extensions
import org.fossify.commons.helpers.SORT_DESCENDING
fun Int.isSortingAscending() = this and SORT_DESCENDING == 0

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.extensions package org.fossify.gallery.extensions
import android.content.Context import android.content.Context
import android.content.res.Resources import android.content.res.Resources

View file

@ -1,11 +1,12 @@
package com.simplemobiletools.gallery.pro.extensions package org.fossify.gallery.extensions
import android.os.Environment import android.os.Environment
import com.simplemobiletools.commons.extensions.isExternalStorageManager import org.fossify.commons.extensions.isExternalStorageManager
import com.simplemobiletools.commons.helpers.NOMEDIA import org.fossify.commons.helpers.NOMEDIA
import com.simplemobiletools.commons.helpers.isRPlus import org.fossify.commons.helpers.isRPlus
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException
import java.util.Locale
fun String.isThisOrParentIncluded(includedPaths: MutableSet<String>) = fun String.isThisOrParentIncluded(includedPaths: MutableSet<String>) =
includedPaths.any { equals(it, true) } || includedPaths.any { "$this/".startsWith("$it/", true) } includedPaths.any { equals(it, true) } || includedPaths.any { "$this/".startsWith("$it/", true) }
@ -84,9 +85,9 @@ fun String.shouldFolderBeVisible(
// recognize /sdcard/DCIM as the same folder as /storage/emulated/0/DCIM // recognize /sdcard/DCIM as the same folder as /storage/emulated/0/DCIM
fun String.getDistinctPath(): String { fun String.getDistinctPath(): String {
return try { return try {
File(this).canonicalPath.toLowerCase() File(this).canonicalPath.lowercase(Locale.getDefault())
} catch (e: IOException) { } catch (e: IOException) {
toLowerCase() lowercase(Locale.getDefault())
} }
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.extensions package org.fossify.gallery.extensions
import android.os.SystemClock import android.os.SystemClock
import android.view.MotionEvent import android.view.MotionEvent

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.fragments package org.fossify.gallery.fragments
import android.content.Intent import android.content.Intent
import android.content.res.Configuration import android.content.res.Configuration
@ -38,31 +38,32 @@ import com.davemorrissey.labs.subscaleview.ImageRegionDecoder
import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView
import com.github.penfeizhou.animation.apng.APNGDrawable import com.github.penfeizhou.animation.apng.APNGDrawable
import com.github.penfeizhou.animation.webp.WebPDrawable import com.github.penfeizhou.animation.webp.WebPDrawable
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isRPlus
import com.simplemobiletools.gallery.pro.R
import com.simplemobiletools.gallery.pro.activities.PanoramaPhotoActivity
import com.simplemobiletools.gallery.pro.activities.PhotoActivity
import com.simplemobiletools.gallery.pro.activities.PhotoVideoActivity
import com.simplemobiletools.gallery.pro.activities.ViewPagerActivity
import com.simplemobiletools.gallery.pro.adapters.PortraitPhotosAdapter
import com.simplemobiletools.gallery.pro.databinding.PagerPhotoItemBinding
import com.simplemobiletools.gallery.pro.extensions.config
import com.simplemobiletools.gallery.pro.extensions.saveRotatedImageToFile
import com.simplemobiletools.gallery.pro.extensions.sendFakeClick
import com.simplemobiletools.gallery.pro.helpers.*
import com.simplemobiletools.gallery.pro.models.Medium
import com.simplemobiletools.gallery.pro.svg.SvgSoftwareLayerSetter
import com.squareup.picasso.Callback import com.squareup.picasso.Callback
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso
import it.sephiroth.android.library.exif2.ExifInterface import it.sephiroth.android.library.exif2.ExifInterface
import org.apache.sanselan.common.byteSources.ByteSourceInputStream import org.apache.sanselan.common.byteSources.ByteSourceInputStream
import org.apache.sanselan.formats.jpeg.JpegImageParser import org.apache.sanselan.formats.jpeg.JpegImageParser
import org.fossify.commons.activities.BaseSimpleActivity
import org.fossify.commons.extensions.*
import org.fossify.commons.helpers.ensureBackgroundThread
import org.fossify.commons.helpers.isRPlus
import org.fossify.gallery.R
import org.fossify.gallery.activities.PanoramaPhotoActivity
import org.fossify.gallery.activities.PhotoActivity
import org.fossify.gallery.activities.PhotoVideoActivity
import org.fossify.gallery.activities.ViewPagerActivity
import org.fossify.gallery.adapters.PortraitPhotosAdapter
import org.fossify.gallery.databinding.PagerPhotoItemBinding
import org.fossify.gallery.extensions.config
import org.fossify.gallery.extensions.saveRotatedImageToFile
import org.fossify.gallery.extensions.sendFakeClick
import org.fossify.gallery.helpers.*
import org.fossify.gallery.models.Medium
import org.fossify.gallery.svg.SvgSoftwareLayerSetter
import pl.droidsonroids.gif.InputSource import pl.droidsonroids.gif.InputSource
import java.io.File import java.io.File
import java.io.FileOutputStream import java.io.FileOutputStream
import java.util.Locale
import kotlin.math.ceil import kotlin.math.ceil
class PhotoFragment : ViewPagerFragment() { class PhotoFragment : ViewPagerFragment() {
@ -197,7 +198,7 @@ class PhotoFragment : ViewPagerFragment() {
rotated.compress(Bitmap.CompressFormat.JPEG, 100, out) rotated.compress(Bitmap.CompressFormat.JPEG, 100, out)
mMedium.path = file.absolutePath mMedium.path = file.absolutePath
} catch (e: Exception) { } catch (e: Exception) {
requireActivity().toast(com.simplemobiletools.commons.R.string.unknown_error_occurred) requireActivity().toast(org.fossify.commons.R.string.unknown_error_occurred)
return mView return mView
} finally { } finally {
out?.close() out?.close()
@ -529,7 +530,7 @@ class PhotoFragment : ViewPagerFragment() {
if (files != null) { if (files != null) {
val screenWidth = requireContext().realScreenSize.x val screenWidth = requireContext().realScreenSize.x
val itemWidth = val itemWidth =
resources.getDimension(R.dimen.portrait_photos_stripe_height).toInt() + resources.getDimension(com.simplemobiletools.commons.R.dimen.one_dp) resources.getDimension(R.dimen.portrait_photos_stripe_height).toInt() + resources.getDimension(org.fossify.commons.R.dimen.one_dp)
.toInt() .toInt()
val sideWidth = screenWidth / 2 - itemWidth / 2 val sideWidth = screenWidth / 2 - itemWidth / 2
val fakeItemsCnt = ceil(sideWidth / itemWidth.toDouble()).toInt() val fakeItemsCnt = ceil(sideWidth / itemWidth.toDouble()).toInt()
@ -591,7 +592,7 @@ class PhotoFragment : ViewPagerFragment() {
} }
private fun setupStripeBottomMargin() { private fun setupStripeBottomMargin() {
var bottomMargin = requireContext().navigationBarHeight + resources.getDimension(com.simplemobiletools.commons.R.dimen.normal_margin).toInt() var bottomMargin = requireContext().navigationBarHeight + resources.getDimension(org.fossify.commons.R.dimen.normal_margin).toInt()
if (requireContext().config.bottomActions) { if (requireContext().config.bottomActions) {
bottomMargin += resources.getDimension(R.dimen.bottom_actions_height).toInt() bottomMargin += resources.getDimension(R.dimen.bottom_actions_height).toInt()
} }
@ -734,7 +735,7 @@ class PhotoFragment : ViewPagerFragment() {
private fun getMinTileDpi(): Int { private fun getMinTileDpi(): Int {
val metrics = resources.displayMetrics val metrics = resources.displayMetrics
val averageDpi = (metrics.xdpi + metrics.ydpi) / 2 val averageDpi = (metrics.xdpi + metrics.ydpi) / 2
val device = "${Build.BRAND} ${Build.MODEL}".toLowerCase() val device = "${Build.BRAND} ${Build.MODEL}".lowercase(Locale.getDefault())
return when { return when {
WEIRD_DEVICES.contains(device) -> WEIRD_TILE_DPI WEIRD_DEVICES.contains(device) -> WEIRD_TILE_DPI
averageDpi > 400 -> HIGH_TILE_DPI averageDpi > 400 -> HIGH_TILE_DPI
@ -744,7 +745,7 @@ class PhotoFragment : ViewPagerFragment() {
} }
private fun checkIfPanorama() { private fun checkIfPanorama() {
mIsPanorama = try { mIsPanorama = try {
if (mMedium.path.startsWith("content:/")) { if (mMedium.path.startsWith("content:/")) {
requireContext().contentResolver.openInputStream(Uri.parse(mMedium.path)) requireContext().contentResolver.openInputStream(Uri.parse(mMedium.path))
} else { } else {
@ -894,7 +895,7 @@ class PhotoFragment : ViewPagerFragment() {
} }
private fun getExtendedDetailsY(height: Int): Float { private fun getExtendedDetailsY(height: Int): Float {
val smallMargin = context?.resources?.getDimension(com.simplemobiletools.commons.R.dimen.small_margin) ?: return 0f val smallMargin = context?.resources?.getDimension(org.fossify.commons.R.dimen.small_margin) ?: return 0f
val fullscreenOffset = smallMargin + if (mIsFullscreen) 0 else requireContext().navigationBarHeight val fullscreenOffset = smallMargin + if (mIsFullscreen) 0 else requireContext().navigationBarHeight
val actionsHeight = if (requireContext().config.bottomActions && !mIsFullscreen) resources.getDimension(R.dimen.bottom_actions_height) else 0f val actionsHeight = if (requireContext().config.bottomActions && !mIsFullscreen) resources.getDimension(R.dimen.bottom_actions_height) else 0f
return requireContext().realScreenSize.y - height - actionsHeight - fullscreenOffset return requireContext().realScreenSize.y - height - actionsHeight - fullscreenOffset

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.fragments package org.fossify.gallery.fragments
import android.content.Intent import android.content.Intent
import android.content.res.Configuration import android.content.res.Configuration
@ -25,18 +25,18 @@ import androidx.media3.exoplayer.source.DefaultMediaSourceFactory
import androidx.media3.exoplayer.source.MediaSource import androidx.media3.exoplayer.source.MediaSource
import androidx.media3.exoplayer.source.ProgressiveMediaSource import androidx.media3.exoplayer.source.ProgressiveMediaSource
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.activities.PanoramaVideoActivity import org.fossify.gallery.activities.PanoramaVideoActivity
import com.simplemobiletools.gallery.pro.activities.VideoActivity import org.fossify.gallery.activities.VideoActivity
import com.simplemobiletools.gallery.pro.databinding.PagerVideoItemBinding import org.fossify.gallery.databinding.PagerVideoItemBinding
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.extensions.hasNavBar import org.fossify.gallery.extensions.hasNavBar
import com.simplemobiletools.gallery.pro.extensions.parseFileChannel import org.fossify.gallery.extensions.parseFileChannel
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import com.simplemobiletools.gallery.pro.views.MediaSideScroll import org.fossify.gallery.views.MediaSideScroll
import java.io.File import java.io.File
import java.io.FileInputStream import java.io.FileInputStream
@ -537,7 +537,7 @@ class VideoFragment : ViewPagerFragment(), TextureView.SurfaceTextureListener, S
} }
private fun getExtendedDetailsY(height: Int): Float { private fun getExtendedDetailsY(height: Int): Float {
val smallMargin = context?.resources?.getDimension(com.simplemobiletools.commons.R.dimen.small_margin) ?: return 0f val smallMargin = context?.resources?.getDimension(org.fossify.commons.R.dimen.small_margin) ?: return 0f
val fullscreenOffset = smallMargin + if (mIsFullscreen) 0 else requireContext().navigationBarHeight val fullscreenOffset = smallMargin + if (mIsFullscreen) 0 else requireContext().navigationBarHeight
var actionsHeight = 0f var actionsHeight = 0f
if (!mIsFullscreen) { if (!mIsFullscreen) {
@ -654,7 +654,7 @@ class VideoFragment : ViewPagerFragment(), TextureView.SurfaceTextureListener, S
} }
if (!wasEnded || !mConfig.loopVideos) { if (!wasEnded || !mConfig.loopVideos) {
mPlayPauseButton.setImageResource(com.simplemobiletools.commons.R.drawable.ic_pause_outline_vector) mPlayPauseButton.setImageResource(org.fossify.commons.R.drawable.ic_pause_outline_vector)
} }
if (!mWasVideoStarted) { if (!mWasVideoStarted) {
@ -680,7 +680,7 @@ class VideoFragment : ViewPagerFragment(), TextureView.SurfaceTextureListener, S
mExoPlayer?.playWhenReady = false mExoPlayer?.playWhenReady = false
} }
mPlayPauseButton.setImageResource(com.simplemobiletools.commons.R.drawable.ic_play_outline_vector) mPlayPauseButton.setImageResource(org.fossify.commons.R.drawable.ic_play_outline_vector)
activity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) activity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
mPositionAtPause = mExoPlayer?.currentPosition ?: 0L mPositionAtPause = mExoPlayer?.currentPosition ?: 0L
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.fragments package org.fossify.gallery.fragments
import android.provider.MediaStore import android.provider.MediaStore
import android.provider.MediaStore.Files import android.provider.MediaStore.Files
@ -6,10 +6,10 @@ import android.provider.MediaStore.Images
import android.view.MotionEvent import android.view.MotionEvent
import androidx.exifinterface.media.ExifInterface import androidx.exifinterface.media.ExifInterface
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import java.io.File import java.io.File
abstract class ViewPagerFragment : Fragment() { abstract class ViewPagerFragment : Fragment() {
@ -53,39 +53,39 @@ abstract class ViewPagerFragment : Fragment() {
val details = StringBuilder() val details = StringBuilder()
val detailsFlag = context!!.config.extendedDetails val detailsFlag = context!!.config.extendedDetails
if (detailsFlag and EXT_NAME != 0) { if (detailsFlag and EXT_NAME != 0) {
medium.name.let { if (it.isNotEmpty()) details.appendln(it) } medium.name.let { if (it.isNotEmpty()) details.appendLine(it) }
} }
if (detailsFlag and EXT_PATH != 0) { if (detailsFlag and EXT_PATH != 0) {
path.let { if (it.isNotEmpty()) details.appendln(it) } path.let { if (it.isNotEmpty()) details.appendLine(it) }
} }
if (detailsFlag and EXT_SIZE != 0) { if (detailsFlag and EXT_SIZE != 0) {
file.length().formatSize().let { if (it.isNotEmpty()) details.appendln(it) } file.length().formatSize().let { if (it.isNotEmpty()) details.appendLine(it) }
} }
if (detailsFlag and EXT_RESOLUTION != 0) { if (detailsFlag and EXT_RESOLUTION != 0) {
context!!.getResolution(file.absolutePath)?.formatAsResolution().let { if (it?.isNotEmpty() == true) details.appendln(it) } context!!.getResolution(file.absolutePath)?.formatAsResolution().let { if (it?.isNotEmpty() == true) details.appendLine(it) }
} }
if (detailsFlag and EXT_LAST_MODIFIED != 0) { if (detailsFlag and EXT_LAST_MODIFIED != 0) {
getFileLastModified(file).let { if (it.isNotEmpty()) details.appendln(it) } getFileLastModified(file).let { if (it.isNotEmpty()) details.appendLine(it) }
} }
if (detailsFlag and EXT_DATE_TAKEN != 0) { if (detailsFlag and EXT_DATE_TAKEN != 0) {
exif.getExifDateTaken(context!!).let { if (it.isNotEmpty()) details.appendln(it) } exif.getExifDateTaken(context!!).let { if (it.isNotEmpty()) details.appendLine(it) }
} }
if (detailsFlag and EXT_CAMERA_MODEL != 0) { if (detailsFlag and EXT_CAMERA_MODEL != 0) {
exif.getExifCameraModel().let { if (it.isNotEmpty()) details.appendln(it) } exif.getExifCameraModel().let { if (it.isNotEmpty()) details.appendLine(it) }
} }
if (detailsFlag and EXT_EXIF_PROPERTIES != 0) { if (detailsFlag and EXT_EXIF_PROPERTIES != 0) {
exif.getExifProperties().let { if (it.isNotEmpty()) details.appendln(it) } exif.getExifProperties().let { if (it.isNotEmpty()) details.appendLine(it) }
} }
if (detailsFlag and EXT_GPS != 0) { if (detailsFlag and EXT_GPS != 0) {
getLatLonAltitude(medium.path).let { if (it.isNotEmpty()) details.appendln(it) } getLatLonAltitude(medium.path).let { if (it.isNotEmpty()) details.appendLine(it) }
} }
return details.toString().trim() return details.toString().trim()
} }
@ -147,7 +147,7 @@ abstract class ViewPagerFragment : Fragment() {
val downGestureDuration = System.currentTimeMillis() - mTouchDownTime val downGestureDuration = System.currentTimeMillis() - mTouchDownTime
if (!mIgnoreCloseDown && (Math.abs(diffY) > Math.abs(diffX)) && (diffY < -mCloseDownThreshold) && downGestureDuration < MAX_CLOSE_DOWN_GESTURE_DURATION && context?.config?.allowDownGesture == true) { if (!mIgnoreCloseDown && (Math.abs(diffY) > Math.abs(diffX)) && (diffY < -mCloseDownThreshold) && downGestureDuration < MAX_CLOSE_DOWN_GESTURE_DURATION && context?.config?.allowDownGesture == true) {
activity?.finish() activity?.finish()
activity?.overridePendingTransition(0, com.simplemobiletools.commons.R.anim.slide_down) activity?.overridePendingTransition(0, org.fossify.commons.R.anim.slide_down)
} }
mIgnoreCloseDown = false mIgnoreCloseDown = false
} }

View file

@ -1,14 +1,15 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.content.Context import android.content.Context
import android.content.res.Configuration import android.content.res.Configuration
import android.os.Environment import android.os.Environment
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.models.AlbumCover import org.fossify.gallery.models.AlbumCover
import java.util.Arrays import java.util.Arrays
import java.util.Locale
class Config(context: Context) : BaseConfig(context) { class Config(context: Context) : BaseConfig(context) {
companion object { companion object {
@ -23,12 +24,12 @@ class Config(context: Context) : BaseConfig(context) {
if (path.isEmpty()) { if (path.isEmpty()) {
groupBy = value groupBy = value
} else { } else {
prefs.edit().putInt(GROUP_FOLDER_PREFIX + path.toLowerCase(), value).apply() prefs.edit().putInt(GROUP_FOLDER_PREFIX + path.lowercase(Locale.getDefault()), value).apply()
} }
} }
fun getFolderGrouping(path: String): Int { fun getFolderGrouping(path: String): Int {
var groupBy = prefs.getInt(GROUP_FOLDER_PREFIX + path.toLowerCase(), groupBy) var groupBy = prefs.getInt(GROUP_FOLDER_PREFIX + path.lowercase(Locale.getDefault()), groupBy)
if (path != SHOW_ALL && groupBy and GROUP_BY_FOLDER != 0) { if (path != SHOW_ALL && groupBy and GROUP_BY_FOLDER != 0) {
groupBy -= GROUP_BY_FOLDER + 1 groupBy -= GROUP_BY_FOLDER + 1
} }
@ -36,26 +37,26 @@ class Config(context: Context) : BaseConfig(context) {
} }
fun removeFolderGrouping(path: String) { fun removeFolderGrouping(path: String) {
prefs.edit().remove(GROUP_FOLDER_PREFIX + path.toLowerCase()).apply() prefs.edit().remove(GROUP_FOLDER_PREFIX + path.lowercase(Locale.getDefault())).apply()
} }
fun hasCustomGrouping(path: String) = prefs.contains(GROUP_FOLDER_PREFIX + path.toLowerCase()) fun hasCustomGrouping(path: String) = prefs.contains(GROUP_FOLDER_PREFIX + path.lowercase(Locale.getDefault()))
fun saveFolderViewType(path: String, value: Int) { fun saveFolderViewType(path: String, value: Int) {
if (path.isEmpty()) { if (path.isEmpty()) {
viewTypeFiles = value viewTypeFiles = value
} else { } else {
prefs.edit().putInt(VIEW_TYPE_PREFIX + path.toLowerCase(), value).apply() prefs.edit().putInt(VIEW_TYPE_PREFIX + path.lowercase(Locale.getDefault()), value).apply()
} }
} }
fun getFolderViewType(path: String) = prefs.getInt(VIEW_TYPE_PREFIX + path.toLowerCase(), viewTypeFiles) fun getFolderViewType(path: String) = prefs.getInt(VIEW_TYPE_PREFIX + path.lowercase(Locale.getDefault()), viewTypeFiles)
fun removeFolderViewType(path: String) { fun removeFolderViewType(path: String) {
prefs.edit().remove(VIEW_TYPE_PREFIX + path.toLowerCase()).apply() prefs.edit().remove(VIEW_TYPE_PREFIX + path.lowercase(Locale.getDefault())).apply()
} }
fun hasCustomViewType(path: String) = prefs.contains(VIEW_TYPE_PREFIX + path.toLowerCase()) fun hasCustomViewType(path: String) = prefs.contains(VIEW_TYPE_PREFIX + path.lowercase(Locale.getDefault()))
var wasHideFolderTooltipShown: Boolean var wasHideFolderTooltipShown: Boolean
get() = prefs.getBoolean(HIDE_FOLDER_TOOLTIP_SHOWN, false) get() = prefs.getBoolean(HIDE_FOLDER_TOOLTIP_SHOWN, false)
@ -396,16 +397,16 @@ class Config(context: Context) : BaseConfig(context) {
set(bottomActions) = prefs.edit().putBoolean(BOTTOM_ACTIONS, bottomActions).apply() set(bottomActions) = prefs.edit().putBoolean(BOTTOM_ACTIONS, bottomActions).apply()
fun removeLastVideoPosition(path: String) { fun removeLastVideoPosition(path: String) {
prefs.edit().remove("$LAST_VIDEO_POSITION_PREFIX${path.toLowerCase()}").apply() prefs.edit().remove("$LAST_VIDEO_POSITION_PREFIX${path.lowercase(Locale.getDefault())}").apply()
} }
fun saveLastVideoPosition(path: String, value: Int) { fun saveLastVideoPosition(path: String, value: Int) {
if (path.isNotEmpty()) { if (path.isNotEmpty()) {
prefs.edit().putInt("$LAST_VIDEO_POSITION_PREFIX${path.toLowerCase()}", value).apply() prefs.edit().putInt("$LAST_VIDEO_POSITION_PREFIX${path.lowercase(Locale.getDefault())}", value).apply()
} }
} }
fun getLastVideoPosition(path: String) = prefs.getInt("$LAST_VIDEO_POSITION_PREFIX${path.toLowerCase()}", 0) fun getLastVideoPosition(path: String) = prefs.getInt("$LAST_VIDEO_POSITION_PREFIX${path.lowercase(Locale.getDefault())}", 0)
fun getAllLastVideoPositions() = prefs.all.filterKeys { fun getAllLastVideoPositions() = prefs.all.filterKeys {
it.startsWith(LAST_VIDEO_POSITION_PREFIX) it.startsWith(LAST_VIDEO_POSITION_PREFIX)

View file

@ -1,6 +1,6 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
// shared preferences // shared preferences
const val DIRECTORY_SORT_ORDER = "directory_sort_order" const val DIRECTORY_SORT_ORDER = "directory_sort_order"

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.view.View import android.view.View
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.view.View import android.view.View
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.graphics.Bitmap import android.graphics.Bitmap
import com.simplemobiletools.gallery.pro.models.FilterItem import org.fossify.gallery.models.FilterItem
class FilterThumbnailsManager { class FilterThumbnailsManager {
private var filterThumbnails = ArrayList<FilterItem>(10) private var filterThumbnails = ArrayList<FilterItem>(10)

View file

@ -1,10 +1,10 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.graphics.Rect import android.graphics.Rect
import android.view.View import android.view.View
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import com.simplemobiletools.gallery.pro.models.ThumbnailItem import org.fossify.gallery.models.ThumbnailItem
class GridSpacingItemDecoration( class GridSpacingItemDecoration(
val spanCount: Int, val spacing: Int, val isScrollingHorizontally: Boolean, val addSideSpacing: Boolean, val spanCount: Int, val spacing: Int, val isScrollingHorizontally: Boolean, val addSideSpacing: Boolean,

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import java.io.UnsupportedEncodingException import java.io.UnsupportedEncodingException
import java.nio.ByteBuffer import java.nio.ByteBuffer

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.content.ContentResolver import android.content.ContentResolver
import android.content.Context import android.content.Context
@ -11,13 +11,13 @@ import android.provider.MediaStore
import android.provider.MediaStore.Files import android.provider.MediaStore.Files
import android.provider.MediaStore.Images import android.provider.MediaStore.Images
import android.text.format.DateFormat import android.text.format.DateFormat
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.extensions.* import org.fossify.gallery.extensions.*
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
import com.simplemobiletools.gallery.pro.models.ThumbnailItem import org.fossify.gallery.models.ThumbnailItem
import com.simplemobiletools.gallery.pro.models.ThumbnailSection import org.fossify.gallery.models.ThumbnailSection
import java.io.File import java.io.File
import java.util.Calendar import java.util.Calendar
import java.util.Locale import java.util.Locale
@ -44,12 +44,12 @@ class MediaFetcher(val context: Context) {
} }
} else { } else {
if (curPath != FAVORITES && curPath != RECYCLE_BIN && isRPlus() && !isExternalStorageManager()) { if (curPath != FAVORITES && curPath != RECYCLE_BIN && isRPlus() && !isExternalStorageManager()) {
if (android11Files?.containsKey(curPath.toLowerCase()) == true) { if (android11Files?.containsKey(curPath.lowercase(Locale.getDefault())) == true) {
curMedia.addAll(android11Files[curPath.toLowerCase()]!!) curMedia.addAll(android11Files[curPath.lowercase(Locale.getDefault())]!!)
} else if (android11Files == null) { } else if (android11Files == null) {
val files = getAndroid11FolderMedia(isPickImage, isPickVideo, favoritePaths, false, getProperDateTaken, dateTakens) val files = getAndroid11FolderMedia(isPickImage, isPickVideo, favoritePaths, false, getProperDateTaken, dateTakens)
if (files.containsKey(curPath.toLowerCase())) { if (files.containsKey(curPath.lowercase(Locale.getDefault()))) {
curMedia.addAll(files[curPath.toLowerCase()]!!) curMedia.addAll(files[curPath.lowercase(Locale.getDefault())]!!)
} }
} }
} }
@ -773,17 +773,17 @@ class MediaFetcher(val context: Context) {
var result = when { var result = when {
sorting and SORT_BY_NAME != 0 -> { sorting and SORT_BY_NAME != 0 -> {
if (sorting and SORT_USE_NUMERIC_VALUE != 0) { if (sorting and SORT_USE_NUMERIC_VALUE != 0) {
AlphanumericComparator().compare(o1.name.normalizeString().toLowerCase(), o2.name.normalizeString().toLowerCase()) AlphanumericComparator().compare(o1.name.normalizeString().lowercase(Locale.getDefault()), o2.name.normalizeString().lowercase(Locale.getDefault()))
} else { } else {
o1.name.normalizeString().toLowerCase().compareTo(o2.name.normalizeString().toLowerCase()) o1.name.normalizeString().lowercase(Locale.getDefault()).compareTo(o2.name.normalizeString().lowercase(Locale.getDefault()))
} }
} }
sorting and SORT_BY_PATH != 0 -> { sorting and SORT_BY_PATH != 0 -> {
if (sorting and SORT_USE_NUMERIC_VALUE != 0) { if (sorting and SORT_USE_NUMERIC_VALUE != 0) {
AlphanumericComparator().compare(o1.path.toLowerCase(), o2.path.toLowerCase()) AlphanumericComparator().compare(o1.path.lowercase(Locale.getDefault()), o2.path.lowercase(Locale.getDefault()))
} else { } else {
o1.path.toLowerCase().compareTo(o2.path.toLowerCase()) o1.path.lowercase(Locale.getDefault()).compareTo(o2.path.lowercase(Locale.getDefault()))
} }
} }
@ -866,13 +866,13 @@ class MediaFetcher(val context: Context) {
grouping and GROUP_BY_LAST_MODIFIED_MONTHLY != 0 || grouping and GROUP_BY_DATE_TAKEN_MONTHLY != 0 -> formatDate(key, false) grouping and GROUP_BY_LAST_MODIFIED_MONTHLY != 0 || grouping and GROUP_BY_DATE_TAKEN_MONTHLY != 0 -> formatDate(key, false)
grouping and GROUP_BY_FILE_TYPE != 0 -> getFileTypeString(key) grouping and GROUP_BY_FILE_TYPE != 0 -> getFileTypeString(key)
grouping and GROUP_BY_EXTENSION != 0 -> key.toUpperCase() grouping and GROUP_BY_EXTENSION != 0 -> key.uppercase(Locale.getDefault())
grouping and GROUP_BY_FOLDER != 0 -> context.humanizePath(key) grouping and GROUP_BY_FOLDER != 0 -> context.humanizePath(key)
else -> key else -> key
} }
if (result.isEmpty()) { if (result.isEmpty()) {
result = context.getString(com.simplemobiletools.commons.R.string.unknown) result = context.getString(org.fossify.commons.R.string.unknown)
} }
return if (grouping and GROUP_SHOW_FILE_COUNT != 0) { return if (grouping and GROUP_SHOW_FILE_COUNT != 0) {
@ -884,8 +884,8 @@ class MediaFetcher(val context: Context) {
private fun getFinalDate(date: String, today: String, yesterday: String): String { private fun getFinalDate(date: String, today: String, yesterday: String): String {
return when (date) { return when (date) {
today -> context.getString(com.simplemobiletools.commons.R.string.today) today -> context.getString(org.fossify.commons.R.string.today)
yesterday -> context.getString(com.simplemobiletools.commons.R.string.yesterday) yesterday -> context.getString(org.fossify.commons.R.string.yesterday)
else -> date else -> date
} }
} }

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.content.Context import android.content.Context
import android.graphics.Bitmap import android.graphics.Bitmap

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.app.PendingIntent import android.app.PendingIntent
import android.appwidget.AppWidgetManager import android.appwidget.AppWidgetManager
@ -10,18 +10,18 @@ import android.widget.RemoteViews
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
import com.simplemobiletools.commons.extensions.applyColorFilter import org.fossify.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.getFileSignature import org.fossify.commons.extensions.getFileSignature
import com.simplemobiletools.commons.extensions.setText import org.fossify.commons.extensions.setText
import com.simplemobiletools.commons.extensions.setVisibleIf import org.fossify.commons.extensions.setVisibleIf
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.gallery.pro.R import org.fossify.gallery.R
import com.simplemobiletools.gallery.pro.activities.MediaActivity import org.fossify.gallery.activities.MediaActivity
import com.simplemobiletools.gallery.pro.extensions.config import org.fossify.gallery.extensions.config
import com.simplemobiletools.gallery.pro.extensions.directoryDB import org.fossify.gallery.extensions.directoryDB
import com.simplemobiletools.gallery.pro.extensions.getFolderNameFromPath import org.fossify.gallery.extensions.getFolderNameFromPath
import com.simplemobiletools.gallery.pro.extensions.widgetsDB import org.fossify.gallery.extensions.widgetsDB
import com.simplemobiletools.gallery.pro.models.Widget import org.fossify.gallery.models.Widget
class MyWidgetProvider : AppWidgetProvider() { class MyWidgetProvider : AppWidgetProvider() {
private fun setupAppOpenIntent(context: Context, views: RemoteViews, id: Int, widget: Widget) { private fun setupAppOpenIntent(context: Context, views: RemoteViews, id: Int, widget: Widget) {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.content.Context import android.content.Context
import android.graphics.* import android.graphics.*

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.graphics.* import android.graphics.*
import com.squareup.picasso.Transformation import com.squareup.picasso.Transformation

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.helpers package org.fossify.gallery.helpers
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.Matrix import android.graphics.Matrix

View file

@ -1,10 +1,10 @@
package com.simplemobiletools.gallery.pro.interfaces package org.fossify.gallery.interfaces
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Insert import androidx.room.Insert
import androidx.room.OnConflictStrategy import androidx.room.OnConflictStrategy
import androidx.room.Query import androidx.room.Query
import com.simplemobiletools.gallery.pro.models.DateTaken import org.fossify.gallery.models.DateTaken
@Dao @Dao
interface DateTakensDao { interface DateTakensDao {

View file

@ -1,11 +1,11 @@
package com.simplemobiletools.gallery.pro.interfaces package org.fossify.gallery.interfaces
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Insert import androidx.room.Insert
import androidx.room.OnConflictStrategy import androidx.room.OnConflictStrategy
import androidx.room.Query import androidx.room.Query
import com.simplemobiletools.gallery.pro.helpers.RECYCLE_BIN import org.fossify.gallery.helpers.RECYCLE_BIN
import com.simplemobiletools.gallery.pro.models.Directory import org.fossify.gallery.models.Directory
@Dao @Dao
interface DirectoryDao { interface DirectoryDao {

View file

@ -1,6 +1,6 @@
package com.simplemobiletools.gallery.pro.interfaces package org.fossify.gallery.interfaces
import com.simplemobiletools.gallery.pro.models.Directory import org.fossify.gallery.models.Directory
import java.io.File import java.io.File
interface DirectoryOperationsListener { interface DirectoryOperationsListener {

View file

@ -1,10 +1,10 @@
package com.simplemobiletools.gallery.pro.interfaces package org.fossify.gallery.interfaces
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Insert import androidx.room.Insert
import androidx.room.OnConflictStrategy import androidx.room.OnConflictStrategy
import androidx.room.Query import androidx.room.Query
import com.simplemobiletools.gallery.pro.models.Favorite import org.fossify.gallery.models.Favorite
@Dao @Dao
interface FavoritesDao { interface FavoritesDao {

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.gallery.pro.interfaces package org.fossify.gallery.interfaces
import com.simplemobiletools.commons.models.FileDirItem import org.fossify.commons.models.FileDirItem
import com.simplemobiletools.gallery.pro.models.ThumbnailItem import org.fossify.gallery.models.ThumbnailItem
interface MediaOperationsListener { interface MediaOperationsListener {
fun refreshItems() fun refreshItems()

View file

@ -1,7 +1,7 @@
package com.simplemobiletools.gallery.pro.interfaces package org.fossify.gallery.interfaces
import androidx.room.* import androidx.room.*
import com.simplemobiletools.gallery.pro.models.Medium import org.fossify.gallery.models.Medium
@Dao @Dao
interface MediumDao { interface MediumDao {

View file

@ -1,10 +1,10 @@
package com.simplemobiletools.gallery.pro.interfaces package org.fossify.gallery.interfaces
import androidx.room.Dao import androidx.room.Dao
import androidx.room.Insert import androidx.room.Insert
import androidx.room.OnConflictStrategy import androidx.room.OnConflictStrategy
import androidx.room.Query import androidx.room.Query
import com.simplemobiletools.gallery.pro.models.Widget import org.fossify.gallery.models.Widget
@Dao @Dao
interface WidgetsDao { interface WidgetsDao {

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.jobs package org.fossify.gallery.jobs
import android.annotation.TargetApi import android.annotation.TargetApi
import android.app.job.JobInfo import android.app.job.JobInfo
@ -15,11 +15,11 @@ import android.os.Handler
import android.provider.MediaStore import android.provider.MediaStore
import android.provider.MediaStore.Images import android.provider.MediaStore.Images
import android.provider.MediaStore.Video import android.provider.MediaStore.Video
import com.simplemobiletools.commons.extensions.getParentPath import org.fossify.commons.extensions.getParentPath
import com.simplemobiletools.commons.extensions.getStringValue import org.fossify.commons.extensions.getStringValue
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import org.fossify.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.gallery.pro.extensions.addPathToDB import org.fossify.gallery.extensions.addPathToDB
import com.simplemobiletools.gallery.pro.extensions.updateDirectoryPath import org.fossify.gallery.extensions.updateDirectoryPath
// based on https://developer.android.com/reference/android/app/job/JobInfo.Builder.html#addTriggerContentUri(android.app.job.JobInfo.TriggerContentUri) // based on https://developer.android.com/reference/android/app/job/JobInfo.Builder.html#addTriggerContentUri(android.app.job.JobInfo.TriggerContentUri)
@TargetApi(Build.VERSION_CODES.N) @TargetApi(Build.VERSION_CODES.N)

View file

@ -1,3 +1,3 @@
package com.simplemobiletools.gallery.pro.models package org.fossify.gallery.models
data class AlbumCover(val path: String, val tmb: String) data class AlbumCover(val path: String, val tmb: String)

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.models package org.fossify.gallery.models
import androidx.room.ColumnInfo import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity

View file

@ -1,12 +1,12 @@
package com.simplemobiletools.gallery.pro.models package org.fossify.gallery.models
import android.content.Context import android.content.Context
import androidx.room.* import androidx.room.*
import com.bumptech.glide.signature.ObjectKey import com.bumptech.glide.signature.ObjectKey
import com.simplemobiletools.commons.extensions.formatDate import org.fossify.commons.extensions.formatDate
import com.simplemobiletools.commons.extensions.formatSize import org.fossify.commons.extensions.formatSize
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.gallery.pro.helpers.RECYCLE_BIN import org.fossify.gallery.helpers.RECYCLE_BIN
@Entity(tableName = "directories", indices = [Index(value = ["path"], unique = true)]) @Entity(tableName = "directories", indices = [Index(value = ["path"], unique = true)])
data class Directory( data class Directory(

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.models package org.fossify.gallery.models
import androidx.room.ColumnInfo import androidx.room.ColumnInfo
import androidx.room.Entity import androidx.room.Entity

View file

@ -1,4 +1,4 @@
package com.simplemobiletools.gallery.pro.models package org.fossify.gallery.models
import android.graphics.Bitmap import android.graphics.Bitmap
import com.zomato.photofilters.imageprocessors.Filter import com.zomato.photofilters.imageprocessors.Filter

View file

@ -1,12 +1,12 @@
package com.simplemobiletools.gallery.pro.models package org.fossify.gallery.models
import android.content.Context import android.content.Context
import androidx.room.* import androidx.room.*
import com.bumptech.glide.signature.ObjectKey import com.bumptech.glide.signature.ObjectKey
import com.simplemobiletools.commons.extensions.* import org.fossify.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import org.fossify.commons.helpers.*
import com.simplemobiletools.commons.models.FileDirItem import org.fossify.commons.models.FileDirItem
import com.simplemobiletools.gallery.pro.helpers.* import org.fossify.gallery.helpers.*
import java.io.File import java.io.File
import java.io.Serializable import java.io.Serializable
import java.util.Calendar import java.util.Calendar
@ -54,7 +54,7 @@ data class Medium(
fun isHidden() = name.startsWith('.') fun isHidden() = name.startsWith('.')
fun isHeic() = name.toLowerCase().endsWith(".heic") || name.toLowerCase().endsWith(".heif") fun isHeic() = name.lowercase(Locale.getDefault()).endsWith(".heic") || name.lowercase(Locale.getDefault()).endsWith(".heif")
fun getBubbleText(sorting: Int, context: Context, dateFormat: String, timeFormat: String) = when { fun getBubbleText(sorting: Int, context: Context, dateFormat: String, timeFormat: String) = when {
sorting and SORT_BY_NAME != 0 -> name sorting and SORT_BY_NAME != 0 -> name
@ -72,7 +72,7 @@ data class Medium(
groupBy and GROUP_BY_DATE_TAKEN_DAILY != 0 -> getDayStartTS(taken, false) groupBy and GROUP_BY_DATE_TAKEN_DAILY != 0 -> getDayStartTS(taken, false)
groupBy and GROUP_BY_DATE_TAKEN_MONTHLY != 0 -> getDayStartTS(taken, true) groupBy and GROUP_BY_DATE_TAKEN_MONTHLY != 0 -> getDayStartTS(taken, true)
groupBy and GROUP_BY_FILE_TYPE != 0 -> type.toString() groupBy and GROUP_BY_FILE_TYPE != 0 -> type.toString()
groupBy and GROUP_BY_EXTENSION != 0 -> name.getFilenameExtension().toLowerCase() groupBy and GROUP_BY_EXTENSION != 0 -> name.getFilenameExtension().lowercase(Locale.getDefault())
groupBy and GROUP_BY_FOLDER != 0 -> parentPath groupBy and GROUP_BY_FOLDER != 0 -> parentPath
else -> "" else -> ""
} }

Some files were not shown because too many files have changed in this diff Show more