Added a second subscription

This commit is contained in:
M66B 2016-07-23 17:27:20 +02:00
parent fa25eb4095
commit 32ba2b382b
4 changed files with 78 additions and 22 deletions

View File

@ -104,14 +104,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/renderscript" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/renderscript" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@ -120,6 +112,14 @@
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/renderscript" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/renderscript" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/binaries" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />

View File

@ -55,6 +55,7 @@ public class ActivityPro extends AppCompatActivity {
private static final int SKU_THEME_ID = 5;
private static final int SKU_PRO1_ID = 6;
private static final int SKU_SUPPORT1_ID = 7;
private static final int SKU_SUPPORT2_ID = 8;
public static final String SKU_LOG = "log";
public static final String SKU_FILTER = "filter";
@ -63,6 +64,7 @@ public class ActivityPro extends AppCompatActivity {
public static final String SKU_THEME = "theme";
public static final String SKU_PRO1 = "pro1";
public static final String SKU_SUPPORT1 = "support1";
public static final String SKU_SUPPORT2 = "support2";
public static final String SKU_DONATION = "donation";
@Override
@ -86,7 +88,8 @@ public class ActivityPro extends AppCompatActivity {
TextView tvSpeedTitle = (TextView) findViewById(R.id.tvSpeedTitle);
TextView tvThemeTitle = (TextView) findViewById(R.id.tvThemeTitle);
TextView tvAllTitle = (TextView) findViewById(R.id.tvAllTitle);
TextView tvDevTitle = (TextView) findViewById(R.id.tvDevTitle);
TextView tvDev1Title = (TextView) findViewById(R.id.tvDev1Title);
TextView tvDev2Title = (TextView) findViewById(R.id.tvDev2Title);
Linkify.TransformFilter filter = new Linkify.TransformFilter() {
@Override
@ -101,7 +104,8 @@ public class ActivityPro extends AppCompatActivity {
Linkify.addLinks(tvSpeedTitle, Pattern.compile(".*"), "http://www.netguard.me/#" + SKU_SPEED, null, filter);
Linkify.addLinks(tvThemeTitle, Pattern.compile(".*"), "http://www.netguard.me/#" + SKU_THEME, null, filter);
Linkify.addLinks(tvAllTitle, Pattern.compile(".*"), "http://www.netguard.me/#" + SKU_PRO1, null, filter);
Linkify.addLinks(tvDevTitle, Pattern.compile(".*"), "http://www.netguard.me/#" + SKU_SUPPORT1, null, filter);
Linkify.addLinks(tvDev1Title, Pattern.compile(".*"), "http://www.netguard.me/#" + SKU_SUPPORT1, null, filter);
Linkify.addLinks(tvDev2Title, Pattern.compile(".*"), "http://www.netguard.me/#" + SKU_SUPPORT2, null, filter);
// Challenge
TextView tvChallenge = (TextView) findViewById(R.id.tvChallenge);
@ -149,7 +153,8 @@ public class ActivityPro extends AppCompatActivity {
final Button btnSpeed = (Button) findViewById(R.id.btnSpeed);
final Button btnTheme = (Button) findViewById(R.id.btnTheme);
final Button btnAll = (Button) findViewById(R.id.btnAll);
final Button btnDev = (Button) findViewById(R.id.btnDev);
final Button btnDev1 = (Button) findViewById(R.id.btnDev1);
final Button btnDev2 = (Button) findViewById(R.id.btnDev2);
View.OnClickListener listener = new View.OnClickListener() {
@Override
@ -175,9 +180,12 @@ public class ActivityPro extends AppCompatActivity {
} else if (view == btnAll) {
id = SKU_PRO1_ID;
pi = iab.getBuyIntent(SKU_PRO1, false);
} else if (view == btnDev) {
} else if (view == btnDev1) {
id = SKU_SUPPORT1_ID;
pi = iab.getBuyIntent(SKU_SUPPORT1, true);
} else if (view == btnDev2) {
id = SKU_SUPPORT2_ID;
pi = iab.getBuyIntent(SKU_SUPPORT2, true);
}
if (id > 0 && pi != null)
@ -194,7 +202,8 @@ public class ActivityPro extends AppCompatActivity {
btnSpeed.setOnClickListener(listener);
btnTheme.setOnClickListener(listener);
btnAll.setOnClickListener(listener);
btnDev.setOnClickListener(listener);
btnDev1.setOnClickListener(listener);
btnDev2.setOnClickListener(listener);
btnLog.setEnabled(true);
btnFilter.setEnabled(true);
@ -202,7 +211,8 @@ public class ActivityPro extends AppCompatActivity {
btnSpeed.setEnabled(true);
btnTheme.setEnabled(true);
btnAll.setEnabled(true);
btnDev.setEnabled(true);
btnDev1.setEnabled(true);
btnDev2.setEnabled(true);
} catch (Throwable ex) {
Log.e(TAG, ex.toString() + "\n" + Log.getStackTraceString(ex));
@ -267,6 +277,10 @@ public class ActivityPro extends AppCompatActivity {
IAB.setBought(SKU_SUPPORT1, this);
updateState();
break;
case SKU_SUPPORT2_ID:
IAB.setBought(SKU_SUPPORT2, this);
updateState();
break;
}
}
}
@ -278,14 +292,16 @@ public class ActivityPro extends AppCompatActivity {
Button btnSpeed = (Button) findViewById(R.id.btnSpeed);
Button btnTheme = (Button) findViewById(R.id.btnTheme);
Button btnAll = (Button) findViewById(R.id.btnAll);
Button btnDev = (Button) findViewById(R.id.btnDev);
Button btnDev1 = (Button) findViewById(R.id.btnDev1);
Button btnDev2 = (Button) findViewById(R.id.btnDev2);
TextView tvLog = (TextView) findViewById(R.id.tvLog);
TextView tvFilter = (TextView) findViewById(R.id.tvFilter);
TextView tvNotify = (TextView) findViewById(R.id.tvNotify);
TextView tvSpeed = (TextView) findViewById(R.id.tvSpeed);
TextView tvTheme = (TextView) findViewById(R.id.tvTheme);
TextView tvAll = (TextView) findViewById(R.id.tvAll);
TextView tvDev = (TextView) findViewById(R.id.tvDev);
TextView tvDev1 = (TextView) findViewById(R.id.tvDev1);
TextView tvDev2 = (TextView) findViewById(R.id.tvDev2);
LinearLayout llChallenge = (LinearLayout) findViewById(R.id.llChallenge);
btnLog.setVisibility(IAB.isPurchased(SKU_LOG, this) ? View.GONE : View.VISIBLE);
@ -294,7 +310,8 @@ public class ActivityPro extends AppCompatActivity {
btnSpeed.setVisibility(IAB.isPurchased(SKU_SPEED, this) ? View.GONE : View.VISIBLE);
btnTheme.setVisibility(IAB.isPurchased(SKU_THEME, this) ? View.GONE : View.VISIBLE);
btnAll.setVisibility(IAB.isPurchased(SKU_PRO1, this) ? View.GONE : View.VISIBLE);
btnDev.setVisibility(IAB.isPurchased(SKU_SUPPORT1, this) ? View.GONE : View.VISIBLE);
btnDev1.setVisibility(IAB.isPurchased(SKU_SUPPORT1, this) ? View.GONE : View.VISIBLE);
btnDev2.setVisibility(IAB.isPurchased(SKU_SUPPORT2, this) ? View.GONE : View.VISIBLE);
tvLog.setVisibility(IAB.isPurchased(SKU_LOG, this) ? View.VISIBLE : View.GONE);
tvFilter.setVisibility(IAB.isPurchased(SKU_FILTER, this) ? View.VISIBLE : View.GONE);
@ -302,7 +319,8 @@ public class ActivityPro extends AppCompatActivity {
tvSpeed.setVisibility(IAB.isPurchased(SKU_SPEED, this) ? View.VISIBLE : View.GONE);
tvTheme.setVisibility(IAB.isPurchased(SKU_THEME, this) ? View.VISIBLE : View.GONE);
tvAll.setVisibility(IAB.isPurchased(SKU_PRO1, this) ? View.VISIBLE : View.GONE);
tvDev.setVisibility(IAB.isPurchased(SKU_SUPPORT1, this) ? View.VISIBLE : View.GONE);
tvDev1.setVisibility(IAB.isPurchased(SKU_SUPPORT1, this) ? View.VISIBLE : View.GONE);
tvDev2.setVisibility(IAB.isPurchased(SKU_SUPPORT2, this) ? View.VISIBLE : View.GONE);
llChallenge.setVisibility(
IAB.isPurchased(SKU_DONATION, this) || Util.isPlayStoreInstall(this)

View File

@ -172,7 +172,7 @@ public class IAB implements ServiceConnection {
public static boolean isPurchased(String sku, Context context) {
SharedPreferences prefs = context.getSharedPreferences("IAB", Context.MODE_PRIVATE);
if (ActivityPro.SKU_SUPPORT1.equals(sku))
if (ActivityPro.SKU_SUPPORT1.equals(sku) || ActivityPro.SKU_SUPPORT2.equals(sku))
return prefs.getBoolean(sku, false);
if (Util.isDebuggable(context) || Util.getSelfVersionName(context).contains("beta"))

View File

@ -253,7 +253,7 @@
android:orientation="horizontal">
<TextView
android:id="@+id/tvDevTitle"
android:id="@+id/tvDev1Title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
@ -262,7 +262,7 @@
android:textAppearance="@style/TextSmall" />
<Button
android:id="@+id/btnDev"
android:id="@+id/btnDev1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
@ -272,7 +272,45 @@
android:visibility="gone" />
<TextView
android:id="@+id/tvDev"
android:id="@+id/tvDev1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:gravity="center_horizontal"
android:text="@string/title_pro_bought"
android:textAppearance="@style/TextMedium"
android:textStyle="bold"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeightSmall"
android:orientation="horizontal">
<TextView
android:id="@+id/tvDev2Title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="2"
android:text="@string/title_pro_dev"
android:textAppearance="@style/TextSmall" />
<Button
android:id="@+id/btnDev2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_weight="1"
android:enabled="false"
android:text="@string/title_pro_buy"
android:visibility="gone" />
<TextView
android:id="@+id/tvDev2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"