diff --git a/app/src/debug/res/values/secrets.xml b/app/src/debug/res/values/secrets.xml
index 2ed203b1..c8e78bd6 100644
--- a/app/src/debug/res/values/secrets.xml
+++ b/app/src/debug/res/values/secrets.xml
@@ -6,4 +6,5 @@
android.test.canceled
android.test.refunded
android.test.item_unavailable
+ android.test.purchased
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 98b7e86d..4f2f6952 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -185,6 +185,13 @@
android:value=".ui.modules.main.MainActivity"/>
+
+
+
+
-
UserPagerActivity.startActivity(this, userModel.getLogin()));
-
+ view.findViewById(R.id.donatedIcon).setVisibility(PrefGetter.isProEnabled() || PrefGetter.isAmlodEnabled()
+ ? View.VISIBLE : View.GONE);
}
}
}
diff --git a/app/src/main/java/com/fastaccess/ui/modules/login/LoginActivity.java b/app/src/main/java/com/fastaccess/ui/modules/login/LoginActivity.java
index ff0163e0..645e797c 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/login/LoginActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/login/LoginActivity.java
@@ -15,6 +15,7 @@ import android.view.View;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
+import com.evernote.android.state.State;
import com.fastaccess.BuildConfig;
import com.fastaccess.R;
import com.fastaccess.data.dao.model.Login;
@@ -24,10 +25,15 @@ import com.fastaccess.helper.AppHelper;
import com.fastaccess.helper.BundleConstant;
import com.fastaccess.helper.Bundler;
import com.fastaccess.helper.InputHelper;
+import com.fastaccess.helper.Logger;
+import com.fastaccess.helper.PrefGetter;
import com.fastaccess.helper.PrefHelper;
import com.fastaccess.ui.base.BaseActivity;
import com.fastaccess.ui.modules.main.MainActivity;
import com.fastaccess.ui.modules.settings.LanguageBottomSheetDialog;
+import com.miguelbcr.io.rx_billing_service.RxBillingService;
+import com.miguelbcr.io.rx_billing_service.entities.ProductType;
+import com.miguelbcr.io.rx_billing_service.entities.Purchase;
import java.util.Arrays;
import java.util.Locale;
@@ -37,7 +43,7 @@ import butterknife.OnClick;
import butterknife.OnEditorAction;
import butterknife.Optional;
import es.dmoral.toasty.Toasty;
-import com.evernote.android.state.State;
+import io.reactivex.functions.Action;
/**
* Created by Kosh on 08 Feb 2017, 9:10 PM
@@ -54,11 +60,6 @@ public class LoginActivity extends BaseActivity i
@Nullable @BindView(R.id.twoFactorEditText) TextInputEditText twoFactorEditText;
@Nullable @BindView(R.id.login) FloatingActionButton login;
@Nullable @BindView(R.id.progress) ProgressBar progress;
-
-// private String pass;
-// private static int RESOLUTION_CODE = 100;
-// private static int RESOLUTION_CHOOSER_CODE = 101;
-
@State boolean isBasicAuth;
public static void start(@NonNull Activity activity, boolean isBasicAuth) {
@@ -138,46 +139,18 @@ public class LoginActivity extends BaseActivity i
}
@Override public void onSuccessfullyLoggedIn() {
- hideProgress();
- Intent intent = new Intent(this, MainActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(intent);
- finishAffinity();
+ checkPurchases(() -> {
+ Intent intent = new Intent(this, MainActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
+ startActivity(intent);
+ finishAffinity();
+ });
}
@Override public void onSuccessfullyLoggedIn(Login userModel) {
-// Credential credential = new Credential.Builder(userModel.getLogin())
-// .setPassword(pass)
-// .setProfilePictureUri(Uri.parse(userModel.getAvatarUrl()))
-// .build();
-// Auth.CredentialsApi.save(App.getInstance().getGoogleApiClient(), credential).setResultCallback(status -> {
-// if (status.isSuccess()) {
-// onSuccessfullyLoggedIn();
-// } else if (status.hasResolution()) {
-// try {
-// status.startResolutionForResult(this, RESOLUTION_CODE);
-// } catch (IntentSender.SendIntentException e) {
-// e.printStackTrace();
-// }
-// } else {
-// Log.e(getLoggingTag(), status + "");
-// onSuccessfullyLoggedIn();
-// }
-// });
onSuccessfullyLoggedIn();
}
-// @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-// if (requestCode == RESOLUTION_CODE) {
-// onSuccessfullyLoggedIn();
-// } else if (requestCode == RESOLUTION_CHOOSER_CODE) {
-// if (resultCode == RESULT_OK) {
-// Credential credential = data.getParcelableExtra(Credential.EXTRA_KEY);
-// doLogin(credential.getId(), credential.getPassword());
-// }
-// }
-// }
-
@Override protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.LoginTheme);
super.onCreate(savedInstanceState);
@@ -186,14 +159,6 @@ public class LoginActivity extends BaseActivity i
isBasicAuth = getIntent().getExtras().getBoolean(BundleConstant.YES_NO_EXTRA);
}
}
-// if (username != null)
-// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.) {
-// username.setAutofillHints(View.AUTOFILL_HINT_USERNAME);
-// }
-// if (password != null) {
-// password.setHint(isBasicAuth ? getString(R.string.password) : getString(R.string.access_token));
-// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) password.setAutofillHints(View.AUTOFILL_HINT_PASSWORD);
-// }
if (Arrays.asList(getResources().getStringArray(R.array.languages_array_values)).contains(Locale.getDefault().getLanguage())) {
String language = PrefHelper.getString("app_language");
PrefHelper.set("app_language", Locale.getDefault().getLanguage());
@@ -201,23 +166,6 @@ public class LoginActivity extends BaseActivity i
if (!Locale.getDefault().getLanguage().equals(language)) recreate();
}
-// if (isBasicAuth && getIntent() != null)
-// if (getIntent().hasExtra("smartLock"))
-// if (App.getInstance().getGoogleApiClient().isConnecting() &&
-// !App.getInstance().getGoogleApiClient().isConnected()) {
-// App.getInstance().getGoogleApiClient().registerConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
-// @Override
-// public void onConnected(@Nullable Bundle bundle) {
-// doCredentialRequest();
-// }
-//
-// @Override
-// public void onConnectionSuspended(int i) {
-// }
-// });
-// } else {
-// doCredentialRequest();
-// }
}
@Override protected void onNewIntent(Intent intent) {
@@ -268,25 +216,33 @@ public class LoginActivity extends BaseActivity i
login.show();
}
-// private void doCredentialRequest() {
-// CredentialRequest credentialRequest = new CredentialRequest.Builder()
-// .setPasswordLoginSupported(true)
-// .build();
-// Auth.CredentialsApi.request(App.getInstance().getGoogleApiClient(), credentialRequest).setResultCallback(credentialRequestResult -> {
-// if (credentialRequestResult.getStatus().isSuccess()) {
-// doLogin(credentialRequestResult.getCredential().getId(),
-// credentialRequestResult.getCredential().getPassword());
-// } else if (credentialRequestResult.getStatus().hasResolution())
-// try {
-// credentialRequestResult.getStatus().startResolutionForResult(this, RESOLUTION_CHOOSER_CODE);
-// } catch (IntentSender.SendIntentException e) {
-// e.printStackTrace();
-// }
-// else {
-// Log.e(getLoggingTag(), credentialRequestResult.getStatus() + "");
-// }
-// });
-// }
+ protected void checkPurchases(Action action) {
+ RxBillingService.getInstance(this, BuildConfig.DEBUG)
+ .getPurchases(ProductType.IN_APP)
+ .doOnSubscribe(disposable -> showProgress(0))
+ .subscribe((purchases, throwable) -> {
+ hideProgress();
+ if (throwable == null) {
+ Logger.e(purchases);
+ if (purchases != null && !purchases.isEmpty()) {
+ for (Purchase purchase : purchases) {
+ String sku = purchase.sku();
+ if (sku != null) {
+ Logger.e(sku);
+ if (sku.equalsIgnoreCase(getString(R.string.donation_product_1))) {
+ PrefGetter.enableAmlodTheme();
+ } else {
+ PrefGetter.setProItems();
+ }
+ }
+ }
+ }
+ } else {
+ throwable.printStackTrace();
+ }
+ action.run();
+ });
+ }
private void showLanguage() {
LanguageBottomSheetDialog languageBottomSheetDialog = new LanguageBottomSheetDialog();
@@ -303,11 +259,4 @@ public class LoginActivity extends BaseActivity i
isBasicAuth, false);
}
}
-
-// private void doLogin(String username, String password) {
-// if (progress == null || twoFactor == null || username == null || password == null) return;
-// if (progress.getVisibility() == View.GONE) {
-// getPresenter().login(username, password, "", isBasicAuth, true);
-// }
-// }
}
diff --git a/app/src/main/java/com/fastaccess/ui/modules/main/donation/DonateActivity.kt b/app/src/main/java/com/fastaccess/ui/modules/main/donation/DonateActivity.kt
new file mode 100644
index 00000000..bfef73b8
--- /dev/null
+++ b/app/src/main/java/com/fastaccess/ui/modules/main/donation/DonateActivity.kt
@@ -0,0 +1,102 @@
+package com.fastaccess.ui.modules.main.donation
+
+import android.app.Activity
+import android.content.Intent
+import android.os.Bundle
+import android.support.v4.app.Fragment
+import com.crashlytics.android.answers.Answers
+import com.crashlytics.android.answers.PurchaseEvent
+import com.fastaccess.BuildConfig
+import com.fastaccess.R
+import com.fastaccess.helper.*
+import com.fastaccess.ui.base.BaseActivity
+import com.fastaccess.ui.base.mvp.BaseMvp
+import com.fastaccess.ui.base.mvp.presenter.BasePresenter
+import com.miguelbcr.io.rx_billing_service.RxBillingService
+import com.miguelbcr.io.rx_billing_service.RxBillingServiceException
+import com.miguelbcr.io.rx_billing_service.entities.ProductType
+import com.miguelbcr.io.rx_billing_service.entities.Purchase
+import io.reactivex.disposables.Disposable
+
+/**
+ * Created by Kosh on 10 Jun 2017, 1:04 PM
+ */
+
+class DonateActivity : BaseActivity>() {
+
+ private var subscription: Disposable? = null
+
+ override fun layout(): Int {
+ return 0
+ }
+
+ override fun isTransparent(): Boolean {
+ return false
+ }
+
+ override fun canBack(): Boolean {
+ return false
+ }
+
+ override fun isSecured(): Boolean {
+ return false
+ }
+
+ override fun providePresenter(): BasePresenter {
+ return BasePresenter()
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ val bundle: Bundle = intent.extras
+ val productKey: String = bundle.getString(BundleConstant.EXTRA)
+ subscription = RxHelper.getSingle(RxBillingService.getInstance(this, BuildConfig.DEBUG)
+ .purchase(ProductType.IN_APP, productKey, "inapp:com.fastaccess.github:" + productKey))
+ .subscribe { _, throwable ->
+ if (throwable == null) {
+ Answers.getInstance().logPurchase(PurchaseEvent().putItemName(productKey))
+ showMessage(R.string.success, R.string.success_purchase_message)
+ if (productKey == getString(R.string.donation_product_1)) {
+ PrefGetter.enableAmlodTheme()
+ } else {
+ PrefGetter.setProItems()
+ }
+ setResult(Activity.RESULT_OK)
+ } else {
+ if (throwable is RxBillingServiceException) {
+ val code = throwable.code
+ showErrorMessage(throwable.message!!)
+ Logger.e(code)
+ setResult(Activity.RESULT_CANCELED)
+ }
+ throwable.printStackTrace()
+ }
+ finish()
+ }
+ }
+
+ override fun onDestroy() {
+ if (subscription != null && !subscription?.isDisposed!!) {
+ subscription?.dispose()
+ }
+ super.onDestroy()
+ }
+
+ companion object {
+ fun start(context: Activity, product: String?) {
+ val intent = Intent(context, DonateActivity::class.java)
+ intent.putExtras(Bundler.start()
+ .put(BundleConstant.EXTRA, product)
+ .end())
+ context.startActivityForResult(intent, BundleConstant.REQUEST_CODE)
+ }
+
+ fun start(context: Fragment, product: String?) {
+ val intent = Intent(context.context, DonateActivity::class.java)
+ intent.putExtras(Bundler.start()
+ .put(BundleConstant.EXTRA, product)
+ .end())
+ context.startActivityForResult(intent, BundleConstant.REQUEST_CODE)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/fastaccess/ui/modules/main/donation/DonationActivity.java b/app/src/main/java/com/fastaccess/ui/modules/main/donation/DonationActivity.java
index 3532a949..14df1234 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/main/donation/DonationActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/main/donation/DonationActivity.java
@@ -1,29 +1,19 @@
package com.fastaccess.ui.modules.main.donation;
-import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.AppBarLayout;
import android.view.View;
-import com.crashlytics.android.answers.Answers;
-import com.crashlytics.android.answers.PurchaseEvent;
-import com.fastaccess.BuildConfig;
import com.fastaccess.R;
import com.fastaccess.helper.AnimHelper;
-import com.fastaccess.helper.Logger;
-import com.fastaccess.helper.RxHelper;
import com.fastaccess.ui.base.BaseActivity;
import com.fastaccess.ui.base.mvp.presenter.BasePresenter;
-import com.miguelbcr.io.rx_billing_service.RxBillingService;
-import com.miguelbcr.io.rx_billing_service.RxBillingServiceException;
-import com.miguelbcr.io.rx_billing_service.entities.ProductType;
import net.grandcentrix.thirtyinch.TiPresenter;
import butterknife.BindView;
import butterknife.OnClick;
-import io.reactivex.disposables.Disposable;
/**
* Created by Kosh on 24 Mar 2017, 9:16 PM
@@ -32,14 +22,7 @@ import io.reactivex.disposables.Disposable;
public class DonationActivity extends BaseActivity {
@BindView(R.id.cardsHolder) View cardsHolder;
@BindView(R.id.appbar) AppBarLayout appBarLayout;
- private Disposable subscription;
- @Override protected void onDestroy() {
- if (subscription != null && !subscription.isDisposed()) {
- subscription.dispose();
- }
- super.onDestroy();
- }
@Override protected int layout() {
return R.layout.support_development_layout;
@@ -62,23 +45,19 @@ public class DonationActivity extends BaseActivity {
AnimHelper.animateVisibility(cardsHolder, true);
}
- @Override protected void onStop() {
- super.onStop();
- }
-
- @OnClick(R.id.two) public void onTwoClicked() {
+ @OnClick(R.id.two) public void onTwoClicked(View v) {
onProceed(getString(R.string.donation_product_1));
}
- @OnClick(R.id.five) public void onFiveClicked() {
+ @OnClick(R.id.five) public void onFiveClicked(View v) {
onProceed(getString(R.string.donation_product_2));
}
- @OnClick(R.id.ten) public void onTenClicked() {
+ @OnClick(R.id.ten) public void onTenClicked(View v) {
onProceed(getString(R.string.donation_product_3));
}
- @OnClick(R.id.twenty) public void onTwentyClicked() {
+ @OnClick(R.id.twenty) public void onTwentyClicked(View v) {
onProceed(getString(R.string.donation_product_4));
}
@@ -87,23 +66,7 @@ public class DonationActivity extends BaseActivity {
}
private void onProceed(@NonNull String productKey) {
-// RxBillingService.getInstance(this, BuildConfig.DEBUG)
-// .getPurchases(ProductType.IN_APP)
-// .subscribe((purchases, throwable) -> Logger.e(purchases));
- subscription = RxHelper.getSingle(RxBillingService.getInstance(this, BuildConfig.DEBUG)
- .purchase(ProductType.IN_APP, productKey, "inapp:com.fastaccess.github:" + productKey))
- .doOnSubscribe(disposable -> setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT))
- .doFinally(() -> setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_USER))
- .subscribe((purchase, throwable) -> {
- if (throwable == null) {
- Answers.getInstance().logPurchase(new PurchaseEvent().putItemName(productKey));
- showMessage(R.string.success, R.string.success_purchase_message);
- } else {
- if (throwable instanceof RxBillingServiceException) {
- Logger.e(((RxBillingServiceException) throwable).getCode());
- }
- throwable.printStackTrace();
- }
- });
+ DonateActivity.Companion.start(this, productKey);
}
+
}
diff --git a/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsActivity.java b/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsActivity.java
index 7f4a2b55..75e786f5 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/settings/SettingsActivity.java
@@ -48,7 +48,9 @@ public class SettingsActivity extends BaseActivity {
super.onCreate(savedInstanceState);
setToolbarIcon(R.drawable.ic_back);
setTitle(getString(R.string.settings));
- setResult(RESULT_CANCELED);
+ if (savedInstanceState == null) {
+ setResult(RESULT_CANCELED);
+ }
settings = new SettingsModel[]{
SettingsModel.newInstance(R.drawable.ic_ring, getString(R.string.notifications), ""),
SettingsModel.newInstance(R.drawable.ic_settings, getString(R.string.behavior), ""),
@@ -68,7 +70,7 @@ public class SettingsActivity extends BaseActivity {
if (settingsModel.getTitle().equalsIgnoreCase(getString(R.string.app_language))) {
showLanguageList();
} else if (settingsModel.getTitle().equalsIgnoreCase(getString(R.string.theme_title))) {
- ActivityHelper.startReveal(this, new Intent(this, ThemeActivity.class), view);
+ ActivityHelper.startReveal(this, new Intent(this, ThemeActivity.class), view, THEME_CHANGE);
} else {
ActivityHelper.startReveal(this, intent, view);
}
@@ -76,8 +78,10 @@ public class SettingsActivity extends BaseActivity {
}
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == THEME_CHANGE)
+ if (requestCode == THEME_CHANGE) {
setResult(resultCode);
+ finish();
+ }
}
@NonNull @Override public TiPresenter providePresenter() {
diff --git a/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryFragment.java b/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryFragment.java
index 82e03b13..63dc329b 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryFragment.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/settings/category/SettingsCategoryFragment.java
@@ -50,7 +50,6 @@ public class SettingsCategoryFragment extends PreferenceFragmentCompat implement
private static int RESTORE_REQUEST_CODE = 256;
private BaseMvp.FAView callback;
- private String appTheme;
private String appColor;
private String app_lauguage;
@@ -64,7 +63,6 @@ public class SettingsCategoryFragment extends PreferenceFragmentCompat implement
super.onAttach(context);
this.callback = (BaseMvp.FAView) context;
this.settingsCallback = (SettingsCallback) context;
- appTheme = PrefHelper.getString("appTheme");
appColor = PrefHelper.getString("appColor");
app_lauguage = PrefHelper.getString("app_language");
}
@@ -107,7 +105,6 @@ public class SettingsCategoryFragment extends PreferenceFragmentCompat implement
findPreference("enable_ads").setVisible(false);
findPreference("recylerViewAnimation").setOnPreferenceChangeListener(this);
findPreference("rect_avatar").setOnPreferenceChangeListener(this);
- findPreference("appTheme").setOnPreferenceChangeListener(this);
findPreference("appColor").setOnPreferenceChangeListener(this);
break;
case 3:
@@ -188,12 +185,6 @@ public class SettingsCategoryFragment extends PreferenceFragmentCompat implement
} else if (preference.getKey().equalsIgnoreCase("rect_avatar")) {
callback.onThemeChanged();
return true;
- } else if (preference.getKey().equalsIgnoreCase("appTheme")) {
- if (newValue.toString().equalsIgnoreCase(appTheme))
- return true;
- Toasty.warning(getContext(), getString(R.string.change_theme_warning), Toast.LENGTH_LONG).show();
- callback.onThemeChanged();
- return true;
} else if (preference.getKey().equalsIgnoreCase("appColor")) {
if (newValue.toString().equalsIgnoreCase(appColor))
return true;
diff --git a/app/src/main/java/com/fastaccess/ui/modules/theme/ThemeActivity.kt b/app/src/main/java/com/fastaccess/ui/modules/theme/ThemeActivity.kt
index 70989445..1a462f55 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/theme/ThemeActivity.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/theme/ThemeActivity.kt
@@ -1,5 +1,6 @@
package com.fastaccess.ui.modules.theme
+import android.app.Activity
import android.os.Build
import android.os.Bundle
import android.support.design.widget.TabLayout
@@ -59,4 +60,10 @@ class ThemeActivity : BaseActivity
pager.systemUiVisibility = if (darkIcons) View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR else 0
}
}
+
+ override fun onThemeApplied() {
+ setResult(Activity.RESULT_OK)
+ showMessage(R.string.success, R.string.change_theme_warning)
+ finish()
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragment.kt b/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragment.kt
index 79f565e2..014259fc 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragment.kt
+++ b/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragment.kt
@@ -1,18 +1,21 @@
package com.fastaccess.ui.modules.theme.fragment
+import android.app.Activity
import android.content.Context
+import android.content.Intent
+import android.graphics.Color
import android.os.Bundle
import android.support.design.widget.FloatingActionButton
+import android.support.v7.widget.Toolbar
import android.view.ContextThemeWrapper
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.fastaccess.R
-import com.fastaccess.helper.BundleConstant
-import com.fastaccess.helper.Bundler
-import com.fastaccess.helper.PrefHelper
-import com.fastaccess.helper.ViewHelper
+import com.fastaccess.helper.*
import com.fastaccess.ui.base.BaseFragment
+import com.fastaccess.ui.modules.main.donation.DonateActivity
+import com.fastaccess.ui.widgets.SpannableBuilder
/**
* Created by Kosh on 08 Jun 2017, 10:53 PM
@@ -21,6 +24,7 @@ import com.fastaccess.ui.base.BaseFragment
class ThemeFragment : BaseFragment(), ThemeFragmentMvp.View {
val apply: FloatingActionButton by lazy { view!!.findViewById(R.id.apply) }
+ val toolbar: Toolbar by lazy { view!!.findViewById(R.id.toolbar) }
private var primaryDarkColor: Int = 0
private var theme: Int = 0
@@ -41,9 +45,32 @@ class ThemeFragment : BaseFragment {
+ PrefHelper.set("appTheme", getString(R.string.light_theme_mode))
+ themeListener?.onThemeApplied()
+ }
+ R.style.ThemeDark -> {
+ PrefHelper.set("appTheme", getString(R.string.dark_theme_mode))
+ themeListener?.onThemeApplied()
+ }
+ else -> if (PrefGetter.isAmlodEnabled() || PrefGetter.isProEnabled()) {
+ PrefHelper.set("appTheme", getString(R.string.amlod_theme_mode))
+ themeListener?.onThemeApplied()
+ } else {
+ DonateActivity.Companion.start(this, getString(R.string.amlod_theme_purchase))
+ }
+ }
+ }
+ if (isPremiumTheme()) {
+ toolbar.title = SpannableBuilder.builder().foreground(getString(R.string.premium_theme), Color.RED)
+ }
+ toolbar.setNavigationOnClickListener { activity.onBackPressed() }
}
+ private fun isPremiumTheme(): Boolean = theme == R.style.ThemeAmlod
+
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
theme = arguments.getInt(BundleConstant.ITEM)
@@ -67,6 +94,15 @@ class ThemeFragment : BaseFragment implements ThemeFragmentMvp.Presenter {}
diff --git a/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragmentPresenter.kt b/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragmentPresenter.kt
new file mode 100644
index 00000000..d6980c92
--- /dev/null
+++ b/app/src/main/java/com/fastaccess/ui/modules/theme/fragment/ThemeFragmentPresenter.kt
@@ -0,0 +1,9 @@
+package com.fastaccess.ui.modules.theme.fragment
+
+import com.fastaccess.ui.base.mvp.presenter.BasePresenter
+
+/**
+ * Created by Kosh on 08 Jun 2017, 10:52 PM
+ */
+
+class ThemeFragmentPresenter : BasePresenter(), ThemeFragmentMvp.Presenter
diff --git a/app/src/main/res/layouts/main_layouts/layout/theme_layout.xml b/app/src/main/res/layouts/main_layouts/layout/theme_layout.xml
index 148291ce..22ee3f11 100644
--- a/app/src/main/res/layouts/main_layouts/layout/theme_layout.xml
+++ b/app/src/main/res/layouts/main_layouts/layout/theme_layout.xml
@@ -6,8 +6,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="?android:windowBackground"
- app:statusBarBackground="?colorPrimaryDark">
+ android:background="?android:windowBackground">
+ android:text="Comrades wave from fortunes like wet biscuit eaters."/>
+ android:text="Comrades wave from fortunes like wet biscuit eaters."/>
+ android:text="Comrades wave from fortunes like wet biscuit eaters."/>
+ android:text="Comrades wave from fortunes like wet biscuit eaters."/>
+ android:text="Comrades wave from fortunes like wet biscuit eaters."/>
-
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 33390ae7..1be13898 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -479,4 +479,5 @@
Reviewer added successfully
Milestone added successfully
Feed
+ Premium Theme
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 3d317592..94820d18 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -26,6 +26,14 @@
+
+
diff --git a/app/src/main/res/xml/customization_settings.xml b/app/src/main/res/xml/customization_settings.xml
index 68b5a7a8..1161f048 100644
--- a/app/src/main/res/xml/customization_settings.xml
+++ b/app/src/main/res/xml/customization_settings.xml
@@ -7,16 +7,6 @@
android:key="enable_ads"
android:title="@string/enable_ads"/>
-
-