Skip to content

Commit

Permalink
Removed old features
Browse files Browse the repository at this point in the history
  • Loading branch information
tom5079 committed Aug 26, 2020
1 parent 1a4ae5d commit 68c94d1
Show file tree
Hide file tree
Showing 20 changed files with 2 additions and 1,591 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@
/gh-pages

#Private files
**/google-services.json
**/google-services.json
**/credentials.json
4 changes: 0 additions & 4 deletions app/src/main/java/xyz/quaver/pupil/BroadcastReciever.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import androidx.core.content.FileProvider
import androidx.preference.PreferenceManager
import xyz.quaver.pupil.util.cancelImport
import java.io.File

class BroadcastReciever : BroadcastReceiver() {
Expand Down Expand Up @@ -93,9 +92,6 @@ class BroadcastReciever : BroadcastReceiver() {

notificationManager.notify(R.id.notification_id_update, notification)
}
ACTION_CANCEL_IMPORT -> {
cancelImport = true
}
}
}

Expand Down
37 changes: 0 additions & 37 deletions app/src/main/java/xyz/quaver/pupil/ui/SettingsActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -156,43 +156,6 @@ class SettingsActivity : AppCompatActivity() {
.apply()
}
}
R.id.request_import_old_galleries -> {
if (resultCode == Activity.RESULT_OK) {
data?.data?.also { uri ->
val takeFlags: Int =
intent.flags and (Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
contentResolver.takePersistableUriPermission(uri, takeFlags)

val file = uri.toFile(this)

if (file?.canRead() != true)
Snackbar.make(
settings,
resources.getText(R.string.import_old_galleries_folder_not_readable),
Snackbar.LENGTH_LONG
).show()
else
importOldGalleries(this, file)
}
}
}
R.id.request_import_old_galleries_old -> {
if (resultCode == DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED) {
val directory = data?.getStringExtra(DirectoryChooserActivity.RESULT_SELECTED_DIR)!!

if (!File(directory).canRead())
Snackbar.make(
settings,
resources.getText(R.string.import_old_galleries_folder_not_readable),
Snackbar.LENGTH_LONG
).show()
else {
importOldGalleries(this, File(directory))
}
}
}
else -> super.onActivityResult(requestCode, resultCode, data)
}
}
Expand Down
28 changes: 0 additions & 28 deletions app/src/main/java/xyz/quaver/pupil/ui/fragment/SettingsFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -198,31 +198,6 @@ class SettingsFragment :

activity?.startActivityForResult(intent, R.id.request_restore.normalizeID())
}
"old_import_galleries" -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

if (ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
ActivityCompat.requestPermissions(requireActivity(), arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), R.id.request_write_permission_and_saf.normalizeID())
else {
val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE).apply {
putExtra("android.content.extra.SHOW_ADVANCED", true)
}

activity?.startActivityForResult(intent, R.id.request_import_old_galleries.normalizeID())
}
} else { // Can't use SAF on old Androids!
val config = DirectoryChooserConfig.builder()
.newDirectoryName("Pupil")
.allowNewDirectoryNameModification(true)
.build()

val intent = Intent(requireContext(), DirectoryChooserActivity::class.java).apply {
putExtra(DirectoryChooserActivity.EXTRA_CONFIG, config)
}

activity?.startActivityForResult(intent, R.id.request_import_old_galleries_old.normalizeID())
}
}
"user_id" -> {
(context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager).setPrimaryClip(
ClipData.newPlainText("user_id", sharedPreference.getString("user_id", ""))
Expand Down Expand Up @@ -380,9 +355,6 @@ class SettingsFragment :
"restore" -> {
onPreferenceClickListener = this@SettingsFragment
}
"old_import_galleries" -> {
onPreferenceClickListener = this@SettingsFragment
}
"user_id" -> {
summary = sharedPreference.getString("user_id", "")
onPreferenceClickListener = this@SettingsFragment
Expand Down
145 changes: 0 additions & 145 deletions app/src/main/java/xyz/quaver/pupil/util/update.kt
Original file line number Diff line number Diff line change
Expand Up @@ -184,149 +184,4 @@ fun checkUpdate(context: Context, force: Boolean = false) {
dialog.show()
}
}
}

var cancelImport = false
@SuppressLint("RestrictedApi")
fun importOldGalleries(context: Context, folder: File) = CoroutineScope(Dispatchers.IO).launch {
val client = OkHttpClient.Builder()
.connectTimeout(0, TimeUnit.SECONDS)
.readTimeout(0, TimeUnit.SECONDS)
.proxy(proxy)
.build()

val cancelIntent = Intent(context, BroadcastReciever::class.java).apply {
action = BroadcastReciever.ACTION_CANCEL_IMPORT
putExtra(BroadcastReciever.EXTRA_IMPORT_NOTIFICATION_ID, 0)
}
val pendingIntent = PendingIntent.getBroadcast(context, 0, cancelIntent, 0)

val notificationManager = NotificationManagerCompat.from(context)
val notificationBuilder = NotificationCompat.Builder(context, "import").apply {
setContentTitle(context.getText(R.string.import_old_galleries_notification))
setProgress(0, 0, true)
setSmallIcon(R.drawable.ic_notification)
addAction(0, context.getText(android.R.string.cancel), pendingIntent)
setOngoing(true)
}

notificationManager.notify(0, notificationBuilder.build())

if (!folder.isDirectory)
return@launch

val galleryRegex = Regex("""[0-9]+$""")
val imageRegex = Regex("""^[0-9]+\..+$""")
var size = 0
fun setProgress(progress: Int) {
notificationBuilder.apply {
setContentText(
context.getString(
R.string.import_old_galleries_notification_text,
progress,
size
)
)
setProgress(size, progress, false)
}

notificationManager.notify(0, notificationBuilder.build())
}

folder.listFiles { _, name ->
galleryRegex.matches(name)
}?.also {
size = it.size
setProgress(0)
}?.forEachIndexed { index, gallery ->
if (cancelImport)
return@forEachIndexed

setProgress(index)

val galleryID = gallery.name.toIntOrNull() ?: return@forEachIndexed

File(getDownloadDirectory(context), galleryID.toString()).mkdirs()

val reader = async {
kotlin.runCatching {
Json.decodeFromString<Reader>(File(gallery, "reader.json").readText())
}.getOrElse {
getReader(galleryID)
}
}
val galleryBlock = async {
kotlin.runCatching {
Json.decodeFromString<GalleryBlock>(File(gallery, "galleryBlock.json").readText())
}.getOrElse {
getGalleryBlock(galleryID)
}
}
@Suppress("NAME_SHADOWING")
val thumbnail = async thumbnail@{
val galleryBlock = galleryBlock.await()

Base64.encodeToString(try {
File(gallery, "thumbnail.jpg").readBytes()
} catch (e: Exception) {
val url = galleryBlock?.thumbnails?.firstOrNull()

if (url == null)
null
else {
val request = Request.Builder().url(url).build()

var done = false
var result: ByteArray? = null
client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call?, e: IOException?) {
done = true
}

override fun onResponse(call: Call?, response: Response?) {
result = response?.body()?.use {
it.bytes()
}
done = true
}
})

if (!done)
yield()

result
}
} ?: return@thumbnail null, Base64.DEFAULT)
}

Cache(context).setCachedMetadata(galleryID,
Metadata(
thumbnail.await(),
galleryBlock.await(),
reader.await()
)
)

File(gallery, "images").listFiles { _, name ->
imageRegex.matches(name)
}?.forEach {
if (cancelImport)
return@forEach

@Suppress("NAME_SHADOWING")
val index = it.nameWithoutExtension.toIntOrNull() ?: return@forEach

Cache(context).putImage(galleryID, index, it.extension, it.inputStream())
}
}

notificationBuilder.apply {
setContentText(context.getText(R.string.import_old_galleries_notification_done))
setProgress(0, 0, false)
setOngoing(false)
mActions.clear()
}
notificationManager.notify(0, notificationBuilder.build())

cancelImport = false
}
4 changes: 0 additions & 4 deletions app/src/main/res/xml/root_preferences.xml
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,6 @@
app:key="restore"
app:title="@string/settings_restore_title"/>

<Preference
app:key="old_import_galleries"
app:title="@string/settings_import_old_galleries"/>

<Preference
app:key="user_id"
app:title="@string/settings_user_id"/>
Expand Down
1 change: 0 additions & 1 deletion libpupil/.gitignore

This file was deleted.

Loading

0 comments on commit 68c94d1

Please sign in to comment.