Fix bugs
This commit is contained in:
parent
a771b5efad
commit
272f87cfa6
9 changed files with 29 additions and 14 deletions
|
@ -9,8 +9,8 @@ class IapHandler(
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
private val preferencesManager: IPreferencesRepository
|
private val preferencesManager: IPreferencesRepository
|
||||||
) : UnlockAppListener {
|
) : UnlockAppListener {
|
||||||
override fun onLockStatusChanged(status: Boolean) {
|
override fun onLockStatusChanged(isFreeUnlock: Boolean, status: Boolean) {
|
||||||
preferencesManager.unlockExtras()
|
preferencesManager.setLockExtras(status, isFreeUnlock)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun showFailToConnectFeedback() {
|
override fun showFailToConnectFeedback() {
|
||||||
|
|
|
@ -36,7 +36,7 @@ class AboutViewModel(
|
||||||
"Portuguese (BR)" to sequenceOf("Lucas Lima"),
|
"Portuguese (BR)" to sequenceOf("Lucas Lima"),
|
||||||
"Russian" to sequenceOf("gaich@xda", "ask45t", "Ekaterina543"),
|
"Russian" to sequenceOf("gaich@xda", "ask45t", "Ekaterina543"),
|
||||||
"Spanish" to sequenceOf("Alfredo Jara", "Aldo Rodriguez", "Inail"),
|
"Spanish" to sequenceOf("Alfredo Jara", "Aldo Rodriguez", "Inail"),
|
||||||
"Turkish" to sequenceOf("Fatih Fırıncı"),
|
"Turkish" to sequenceOf("creuzwagen", "Fatih Fırıncı"),
|
||||||
"Ukrainian" to sequenceOf("Dmitry Shuba"),
|
"Ukrainian" to sequenceOf("Dmitry Shuba"),
|
||||||
"Vietnamese" to sequenceOf("pnhpnh")
|
"Vietnamese" to sequenceOf("pnhpnh")
|
||||||
).map {
|
).map {
|
||||||
|
|
|
@ -7,11 +7,14 @@ import dev.lucasnlm.antimine.BuildConfig
|
||||||
import dev.lucasnlm.antimine.R
|
import dev.lucasnlm.antimine.R
|
||||||
import dev.lucasnlm.antimine.about.viewmodel.AboutEvent
|
import dev.lucasnlm.antimine.about.viewmodel.AboutEvent
|
||||||
import dev.lucasnlm.antimine.about.viewmodel.AboutViewModel
|
import dev.lucasnlm.antimine.about.viewmodel.AboutViewModel
|
||||||
|
import dev.lucasnlm.antimine.core.preferences.IPreferencesRepository
|
||||||
import kotlinx.android.synthetic.main.fragment_about_info.*
|
import kotlinx.android.synthetic.main.fragment_about_info.*
|
||||||
|
import org.koin.android.ext.android.inject
|
||||||
import org.koin.androidx.viewmodel.ext.android.sharedViewModel
|
import org.koin.androidx.viewmodel.ext.android.sharedViewModel
|
||||||
|
|
||||||
class AboutInfoFragment : Fragment(R.layout.fragment_about_info) {
|
class AboutInfoFragment : Fragment(R.layout.fragment_about_info) {
|
||||||
private val aboutViewModel: AboutViewModel by sharedViewModel()
|
private val aboutViewModel: AboutViewModel by sharedViewModel()
|
||||||
|
private val preferencesRepository: IPreferencesRepository by inject()
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
|
@ -23,9 +26,13 @@ class AboutInfoFragment : Fragment(R.layout.fragment_about_info) {
|
||||||
|
|
||||||
version.text = getString(R.string.version_s, BuildConfig.VERSION_NAME)
|
version.text = getString(R.string.version_s, BuildConfig.VERSION_NAME)
|
||||||
|
|
||||||
|
if (preferencesRepository.showSupport()) {
|
||||||
supportUs.setOnClickListener {
|
supportUs.setOnClickListener {
|
||||||
aboutViewModel.sendEvent(AboutEvent.SupportUs)
|
aboutViewModel.sendEvent(AboutEvent.SupportUs)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
supportUs.visibility = View.GONE
|
||||||
|
}
|
||||||
|
|
||||||
thirdsParties.setOnClickListener {
|
thirdsParties.setOnClickListener {
|
||||||
aboutViewModel.sendEvent(AboutEvent.ThirdPartyLicenses)
|
aboutViewModel.sendEvent(AboutEvent.ThirdPartyLicenses)
|
||||||
|
|
|
@ -81,11 +81,13 @@
|
||||||
android:layout_width="?attr/actionBarSize"
|
android:layout_width="?attr/actionBarSize"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:background="?selectableItemBackgroundBorderless"
|
android:background="?selectableItemBackgroundBorderless"
|
||||||
|
android:visibility="gone"
|
||||||
android:contentDescription="@string/new_game"
|
android:contentDescription="@string/new_game"
|
||||||
android:padding="14dp"
|
android:padding="14dp"
|
||||||
ads:layout_constraintRight_toRightOf="parent"
|
ads:layout_constraintRight_toRightOf="parent"
|
||||||
ads:layout_constraintTop_toTopOf="parent"
|
ads:layout_constraintTop_toTopOf="parent"
|
||||||
app:srcCompat="@drawable/retry" />
|
app:srcCompat="@drawable/retry"
|
||||||
|
tools:visibility="visible"/>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/levelContainer"
|
android:id="@+id/levelContainer"
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:background="?selectableItemBackgroundBorderless"
|
android:background="?android:attr/selectableItemBackground"
|
||||||
android:paddingLeft="16dp"
|
android:paddingLeft="16dp"
|
||||||
android:paddingRight="16dp"
|
android:paddingRight="16dp"
|
||||||
android:paddingTop="8dp"
|
android:paddingTop="8dp"
|
||||||
|
|
|
@ -32,8 +32,9 @@ interface IPreferencesRepository {
|
||||||
fun isRequestRatingEnabled(): Boolean
|
fun isRequestRatingEnabled(): Boolean
|
||||||
fun disableRequestRating()
|
fun disableRequestRating()
|
||||||
|
|
||||||
fun unlockExtras()
|
fun setLockExtras(lock: Boolean, keepShowingSupportButton: Boolean)
|
||||||
fun areExtrasUnlocked(): Boolean
|
fun areExtrasUnlocked(): Boolean
|
||||||
|
fun showSupport(): Boolean
|
||||||
|
|
||||||
fun useFlagAssistant(): Boolean
|
fun useFlagAssistant(): Boolean
|
||||||
fun useHapticFeedback(): Boolean
|
fun useHapticFeedback(): Boolean
|
||||||
|
@ -173,13 +174,18 @@ class PreferencesRepository(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun unlockExtras() {
|
override fun setLockExtras(lock: Boolean, keepShowingSupportButton: Boolean) {
|
||||||
preferencesManager.putBoolean(PREFERENCE_UNLOCK_EXTRAS, true)
|
preferencesManager.putBoolean(PREFERENCE_UNLOCK_EXTRAS, !lock)
|
||||||
|
preferencesManager.putBoolean(PREFERENCE_SHOW_SUPPORT, !lock || keepShowingSupportButton)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun areExtrasUnlocked(): Boolean =
|
override fun areExtrasUnlocked(): Boolean =
|
||||||
preferencesManager.getBoolean(PREFERENCE_UNLOCK_EXTRAS, false)
|
preferencesManager.getBoolean(PREFERENCE_UNLOCK_EXTRAS, false)
|
||||||
|
|
||||||
|
override fun showSupport(): Boolean {
|
||||||
|
return preferencesManager.getBoolean(PREFERENCE_SHOW_SUPPORT, true)
|
||||||
|
}
|
||||||
|
|
||||||
private companion object {
|
private companion object {
|
||||||
private const val PREFERENCE_VIBRATION = "preference_vibration"
|
private const val PREFERENCE_VIBRATION = "preference_vibration"
|
||||||
private const val PREFERENCE_ASSISTANT = "preference_assistant"
|
private const val PREFERENCE_ASSISTANT = "preference_assistant"
|
||||||
|
@ -201,5 +207,6 @@ class PreferencesRepository(
|
||||||
private const val PREFERENCE_USE_COUNT = "preference_use_count"
|
private const val PREFERENCE_USE_COUNT = "preference_use_count"
|
||||||
private const val PREFERENCE_REQUEST_RATING = "preference_request_rating"
|
private const val PREFERENCE_REQUEST_RATING = "preference_request_rating"
|
||||||
private const val PREFERENCE_UNLOCK_EXTRAS = "preference_unlock_extras"
|
private const val PREFERENCE_UNLOCK_EXTRAS = "preference_unlock_extras"
|
||||||
|
private const val PREFERENCE_SHOW_SUPPORT = "preference_show_support"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,6 @@
|
||||||
<string name="settings_general">General</string>
|
<string name="settings_general">General</string>
|
||||||
<string name="settings_gameplay">Gameplay</string>
|
<string name="settings_gameplay">Gameplay</string>
|
||||||
<string name="settings_accessibility">Accessibility</string>
|
<string name="settings_accessibility">Accessibility</string>
|
||||||
<string name="settings_large_areas">Use Large Areas</string>
|
|
||||||
<string name="size">Size</string>
|
<string name="size">Size</string>
|
||||||
<string name="system">System</string>
|
<string name="system">System</string>
|
||||||
<string name="amoled" translatable="false">AMOLED</string>
|
<string name="amoled" translatable="false">AMOLED</string>
|
||||||
|
|
|
@ -9,7 +9,7 @@ interface IBillingManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
interface UnlockAppListener {
|
interface UnlockAppListener {
|
||||||
fun onLockStatusChanged(status: Boolean)
|
fun onLockStatusChanged(isFreeUnlock: Boolean, status: Boolean)
|
||||||
|
|
||||||
fun showFailToConnectFeedback()
|
fun showFailToConnectFeedback()
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ class BillingManager(
|
||||||
it.sku == BASIC_SUPPORT
|
it.sku == BASIC_SUPPORT
|
||||||
}?.let {
|
}?.let {
|
||||||
if (it.purchaseState == Purchase.PurchaseState.PURCHASED) {
|
if (it.purchaseState == Purchase.PurchaseState.PURCHASED) {
|
||||||
unlockAppListener?.onLockStatusChanged(true)
|
unlockAppListener?.onLockStatusChanged(isFreeUnlock = false, status = true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ class BillingManager(
|
||||||
handlePurchases(it.toList())
|
handlePurchases(it.toList())
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
unlockAppListener?.onLockStatusChanged(false)
|
unlockAppListener?.onLockStatusChanged(isFreeUnlock = false, status = false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue