1- package com .duy .ide . editor . theme ;
1+ package com .duy .editor ;
22
33import android .content .SharedPreferences ;
44import android .os .Bundle ;
55import android .support .annotation .Nullable ;
6+ import android .support .design .widget .Snackbar ;
67import android .support .v7 .widget .DividerItemDecoration ;
78import android .support .v7 .widget .LinearLayoutManager ;
89import android .support .v7 .widget .RecyclerView ;
1112import android .widget .AdapterView ;
1213import android .widget .Spinner ;
1314
14- import com .duy .ide .editor .editor .R ;
15+ import com .duy .ccppcompiler .R ;
16+ import com .duy .ccppcompiler .ui .dialogs .PremiumDialog ;
17+ import com .duy .common .purchase .InAppPurchaseHelper ;
18+ import com .duy .common .purchase .Premium ;
19+ import com .duy .ide .editor .theme .ThemeAdapter ;
20+ import com .duy .ide .editor .theme .ThemeLoader ;
21+ import com .duy .ide .editor .theme .model .EditorTheme ;
1522import com .jecelyin .editor .v2 .Preferences ;
1623import com .jecelyin .editor .v2 .ThemeSupportActivity ;
1724
18- public class EditorThemeActivity extends ThemeSupportActivity {
19- private static final String EXTRA_USE_LIGHT_THEME = "EXTRA_USE_LIGHT_THEME" ;
25+ public class EditorThemeActivity extends ThemeSupportActivity implements ThemeAdapter .OnThemeSelectListener {
2026 private RecyclerView mRecyclerView ;
2127 private ThemeAdapter mThemeAdapter ;
2228 private Spinner mSpinner ;
2329 private Preferences mPreferences ;
30+ private InAppPurchaseHelper mInAppPurchaseHelper ;
2431
2532 @ Override
2633 protected void onCreate (@ Nullable Bundle savedInstanceState ) {
@@ -37,7 +44,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
3744 mRecyclerView .setLayoutManager (new LinearLayoutManager (this ));
3845 mRecyclerView .addItemDecoration (new DividerItemDecoration (this , DividerItemDecoration .VERTICAL ));
3946 mThemeAdapter = new ThemeAdapter (this );
40-
47+ mThemeAdapter . setOnThemeSelectListener ( this );
4148 mRecyclerView .setAdapter (mThemeAdapter );
4249 mPreferences = Preferences .getInstance (this );
4350
@@ -57,6 +64,7 @@ public void onNothingSelected(AdapterView<?> parent) {
5764 }
5865 });
5966
67+ mInAppPurchaseHelper = new InAppPurchaseHelper (this );
6068 mPreferences .registerOnSharedPreferenceChangeListener (this );
6169 }
6270
@@ -69,16 +77,24 @@ private void useLightTheme(boolean useLightTheme) {
6977
7078 @ Override
7179 public void onSharedPreferenceChanged (SharedPreferences sharedPreferences , String key ) {
72- if (key .equals (getString (R .string .pref_current_theme ))) {
73-
74- } else {
75- super .onSharedPreferenceChanged (sharedPreferences , key );
76- }
80+ super .onSharedPreferenceChanged (sharedPreferences , key );
7781 }
7882
7983 @ Override
8084 protected void onDestroy () {
8185 super .onDestroy ();
82- Preferences .getInstance (this ).unregisterOnSharedPreferenceChangeListener (this );
86+ mPreferences .unregisterOnSharedPreferenceChangeListener (this );
87+ }
88+
89+ @ Override
90+ public void onThemeSelected (EditorTheme theme ) {
91+ if (Premium .isPremiumUser (this )) {
92+ mPreferences .setEditorTheme (theme .getName ());
93+ String text = getString (R .string .selected_theme , theme .getName ());
94+ Snackbar .make (mRecyclerView , text , Snackbar .LENGTH_SHORT ).show ();
95+ } else {
96+ PremiumDialog premiumDialog = new PremiumDialog (this , mInAppPurchaseHelper );
97+ premiumDialog .show ();
98+ }
8399 }
84100}
0 commit comments