kopia lustrzana https://github.com/ryukoposting/Signal-Android
Dust off remote megaphone for upcoming donate megaphone.
rodzic
95fc9d6c3c
commit
cca35ec687
|
@ -21,6 +21,7 @@ import org.thoughtcrime.securesms.components.settings.DSLSettingsText
|
|||
import org.thoughtcrime.securesms.components.settings.configure
|
||||
import org.thoughtcrime.securesms.database.LocalMetricsDatabase
|
||||
import org.thoughtcrime.securesms.database.LogDatabase
|
||||
import org.thoughtcrime.securesms.database.MegaphoneDatabase
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.jobmanager.JobTracker
|
||||
|
@ -35,6 +36,8 @@ import org.thoughtcrime.securesms.jobs.StorageForcePushJob
|
|||
import org.thoughtcrime.securesms.jobs.SubscriptionKeepAliveJob
|
||||
import org.thoughtcrime.securesms.jobs.SubscriptionReceiptRequestResponseJob
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.megaphone.MegaphoneRepository
|
||||
import org.thoughtcrime.securesms.megaphone.Megaphones
|
||||
import org.thoughtcrime.securesms.payments.DataExportUtil
|
||||
import org.thoughtcrime.securesms.storage.StorageSyncHelper
|
||||
import org.thoughtcrime.securesms.util.ConversationUtil
|
||||
|
@ -431,6 +434,19 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter
|
|||
}
|
||||
)
|
||||
|
||||
clickPref(
|
||||
title = DSLSettingsText.from(R.string.preferences__internal_reset_donation_megaphone),
|
||||
onClick = {
|
||||
SignalDatabase.remoteMegaphones.debugRemoveAll()
|
||||
MegaphoneDatabase.getInstance(ApplicationDependencies.getApplication()).let {
|
||||
it.delete(Megaphones.Event.REMOTE_MEGAPHONE)
|
||||
it.markFirstVisible(Megaphones.Event.DONATE_Q2_2022, System.currentTimeMillis() - TimeUnit.DAYS.toMillis(31))
|
||||
}
|
||||
// Force repository database cache refresh
|
||||
MegaphoneRepository(ApplicationDependencies.getApplication()).onFirstEverAppLaunch()
|
||||
}
|
||||
)
|
||||
|
||||
clickPref(
|
||||
title = DSLSettingsText.from(R.string.preferences__internal_fetch_release_channel),
|
||||
onClick = {
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.database.Cursor
|
|||
import android.net.Uri
|
||||
import androidx.core.content.contentValuesOf
|
||||
import androidx.core.net.toUri
|
||||
import org.signal.core.util.delete
|
||||
import org.signal.core.util.readToList
|
||||
import org.signal.core.util.requireInt
|
||||
import org.signal.core.util.requireLong
|
||||
|
@ -167,6 +168,13 @@ class RemoteMegaphoneDatabase(context: Context, databaseHelper: SignalDatabase)
|
|||
.run()
|
||||
}
|
||||
|
||||
/** Only call from internal settings */
|
||||
fun debugRemoveAll() {
|
||||
writableDatabase
|
||||
.delete(TABLE_NAME)
|
||||
.run()
|
||||
}
|
||||
|
||||
private fun RemoteMegaphoneRecord.toContentValues(): ContentValues {
|
||||
return contentValuesOf(
|
||||
UUID to uuid,
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
package org.thoughtcrime.securesms.jobs
|
||||
|
||||
import okhttp3.Request
|
||||
import okhttp3.ResponseBody
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.jobmanager.Data
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
import org.thoughtcrime.securesms.jobmanager.impl.AutoDownloadEmojiConstraint
|
||||
import org.thoughtcrime.securesms.providers.BlobProvider
|
||||
import org.thoughtcrime.securesms.s3.S3
|
||||
import org.thoughtcrime.securesms.transport.RetryLaterException
|
||||
import org.whispersystems.signalservice.api.push.exceptions.NonSuccessfulResponseCodeException
|
||||
import java.io.IOException
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
|
@ -42,29 +40,20 @@ class FetchRemoteMegaphoneImageJob(parameters: Parameters, private val uuid: Str
|
|||
}
|
||||
|
||||
override fun onRun() {
|
||||
val request = Request.Builder()
|
||||
.get()
|
||||
.url(imageUrl)
|
||||
.build()
|
||||
|
||||
try {
|
||||
ApplicationDependencies.getOkHttpClient().newCall(request).execute().use { response ->
|
||||
if (response.isSuccessful) {
|
||||
val body: ResponseBody? = response.body()
|
||||
if (body != null) {
|
||||
val uri = BlobProvider.getInstance()
|
||||
.forData(body.byteStream(), body.contentLength())
|
||||
.createForMultipleSessionsOnDisk(context)
|
||||
S3.getObject(imageUrl).use { response ->
|
||||
val body: ResponseBody? = response.body()
|
||||
if (body != null) {
|
||||
val uri = BlobProvider.getInstance()
|
||||
.forData(body.byteStream(), body.contentLength())
|
||||
.createForMultipleSessionsOnDisk(context)
|
||||
|
||||
SignalDatabase.remoteMegaphones.setImageUri(uuid, uri)
|
||||
}
|
||||
} else {
|
||||
throw NonSuccessfulResponseCodeException(response.code())
|
||||
SignalDatabase.remoteMegaphones.setImageUri(uuid, uri)
|
||||
}
|
||||
}
|
||||
} catch (e: IOException) {
|
||||
Log.i(TAG, "Encountered unknown IO error while fetching image for $uuid", e)
|
||||
throw RetryLaterException()
|
||||
throw RetryLaterException(e)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ object RemoteMegaphoneRepository {
|
|||
}
|
||||
|
||||
private val donate: Action = Action { context, controller, remote ->
|
||||
controller.onMegaphoneNavigationRequested(AppSettingsActivity.subscriptions(context))
|
||||
controller.onMegaphoneNavigationRequested(AppSettingsActivity.manageSubscriptions(context))
|
||||
finish.run(context, controller, remote)
|
||||
}
|
||||
|
||||
|
|
|
@ -505,7 +505,9 @@
|
|||
app:enterAnim="@anim/fragment_open_enter"
|
||||
app:exitAnim="@anim/fragment_open_exit"
|
||||
app:popEnterAnim="@anim/fragment_close_enter"
|
||||
app:popExitAnim="@anim/fragment_close_exit" />
|
||||
app:popExitAnim="@anim/fragment_close_exit"
|
||||
app:popUpTo="@id/app_settings"
|
||||
app:popUpToInclusive="true" />
|
||||
|
||||
<action
|
||||
android:id="@+id/action_direct_to_notificationProfiles"
|
||||
|
|
|
@ -2820,6 +2820,7 @@
|
|||
<string name="preferences__internal_release_channel" translatable="false">Release channel</string>
|
||||
<string name="preferences__internal_fetch_release_channel" translatable="false">Fetch release channel</string>
|
||||
<string name="preferences__internal_release_channel_set_last_version" translatable="false">Set last version seen back 10 versions</string>
|
||||
<string name="preferences__internal_reset_donation_megaphone" translatable="false">Reset donation megaphone</string>
|
||||
<string name="preferences__internal_add_sample_note" translatable="false">Add sample note</string>
|
||||
<string name="preferences__internal_disable_stories" translatable="false">Disable stories</string>
|
||||
<string name="preferences__internal_cds" translatable="false">CDS</string>
|
||||
|
|
Ładowanie…
Reference in New Issue