mirror of https://github.com/M66B/NetGuard.git
Added advertisements
This commit is contained in:
parent
616ba89d1a
commit
f5014c34d0
54
app/app.iml
54
app/app.iml
|
@ -42,6 +42,12 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/lollipopDebug/jni" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/lollipopDebug/renderscript" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/lollipopDebug/shaders" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/lollipop/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/lollipop/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/lollipop/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/lollipop/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/lollipop/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/lollipop/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testLollipopDebug/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testLollipopDebug/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testLollipopDebug/assets" type="java-test-resource" />
|
||||
|
@ -50,12 +56,6 @@
|
|||
<sourceFolder url="file://$MODULE_DIR$/src/testLollipopDebug/jni" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testLollipopDebug/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testLollipopDebug/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/lollipop/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/lollipop/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/lollipop/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/lollipop/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/lollipop/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/lollipop/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/lollipop/res" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/lollipop/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/lollipop/assets" type="java-resource" />
|
||||
|
@ -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" />
|
||||
|
@ -131,6 +131,19 @@
|
|||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/24.1.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/24.1.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/24.1.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads-lite/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-base/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-basement/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-clearcut/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-gass/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-tasks/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-ads/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-analytics-impl/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-analytics/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-common/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-core/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-iid/9.2.1/jars" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
|
||||
|
@ -152,9 +165,22 @@
|
|||
<orderEntry type="library" exported="" name="recyclerview-v7-24.1.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-v4-24.1.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="picasso-2.5.2" level="project" />
|
||||
<orderEntry type="library" exported="" name="play-services-base-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="play-services-gass-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="appcompat-v7-24.1.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="play-services-clearcut-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="play-services-basement-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="play-services-tasks-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-annotations-24.1.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="animated-vector-drawable-24.1.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="support-vector-drawable-24.1.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="firebase-analytics-impl-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="firebase-core-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="play-services-ads-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="firebase-common-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="play-services-ads-lite-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="firebase-analytics-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="firebase-iid-9.2.1" level="project" />
|
||||
<orderEntry type="library" exported="" name="firebase-ads-9.2.1" level="project" />
|
||||
</component>
|
||||
</module>
|
|
@ -78,4 +78,8 @@ dependencies {
|
|||
compile 'com.android.support:appcompat-v7:24.+'
|
||||
compile 'com.android.support:recyclerview-v7:24.+'
|
||||
compile 'com.squareup.picasso:picasso:2.5.+'
|
||||
compile 'com.google.firebase:firebase-core:9.2.+'
|
||||
compile 'com.google.firebase:firebase-ads:9.2.+'
|
||||
}
|
||||
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"project_info": {
|
||||
"project_number": "495063709670",
|
||||
"firebase_url": "https://netguard-811a8.firebaseio.com",
|
||||
"project_id": "netguard-811a8",
|
||||
"storage_bucket": "netguard-811a8.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:495063709670:android:4a7add5044bbfbe4",
|
||||
"android_client_info": {
|
||||
"package_name": "eu.faircode.netguard"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "495063709670-kmrhdn2hl4hb0mhst1g41i30mn8tv4te.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyAA9DsZbwqbneF65YtAwTqBRJtaChJMTd0"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
|
@ -49,3 +49,6 @@
|
|||
|
||||
#Picasso
|
||||
-dontwarn com.squareup.okhttp.**
|
||||
|
||||
#AdMob
|
||||
-dontwarn com.google.android.gms.internal.**
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="eu.faircode.netguard">
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
|
@ -13,6 +14,14 @@
|
|||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<!-- http://developer.android.com/guide/topics/security/permissions.html#normal-dangerous -->
|
||||
|
||||
<!-- Firebase -->
|
||||
<uses-permission
|
||||
android:name="com.google.android.c2dm.permission.RECEIVE"
|
||||
tools:node="remove" />
|
||||
<uses-permission
|
||||
android:name="eu.faircode.netguard.permission.C2D_MESSAGE"
|
||||
tools:node="remove" />
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.wifi"
|
||||
android:required="false" />
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="eu.faircode.netguard">
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
|
@ -12,6 +13,14 @@
|
|||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<!-- http://developer.android.com/guide/topics/security/permissions.html#normal-dangerous -->
|
||||
|
||||
<!-- Firebase -->
|
||||
<uses-permission
|
||||
android:name="com.google.android.c2dm.permission.RECEIVE"
|
||||
tools:node="remove" />
|
||||
<uses-permission
|
||||
android:name="eu.faircode.netguard.permission.C2D_MESSAGE"
|
||||
tools:node="remove" />
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.wifi"
|
||||
android:required="false" />
|
||||
|
|
|
@ -26,6 +26,7 @@ import android.content.Intent;
|
|||
import android.content.IntentFilter;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
|
@ -63,6 +64,12 @@ import android.widget.LinearLayout;
|
|||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.google.android.gms.ads.AdListener;
|
||||
import com.google.android.gms.ads.AdRequest;
|
||||
import com.google.android.gms.ads.AdSize;
|
||||
import com.google.android.gms.ads.AdView;
|
||||
import com.google.android.gms.ads.MobileAds;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ActivityMain extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
|
@ -398,6 +405,11 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences
|
|||
Log.e(TAG, ex.toString() + "\n" + Log.getStackTraceString(ex));
|
||||
}
|
||||
|
||||
// Ads
|
||||
if (!IAB.isPurchasedAny(this))
|
||||
loadAds();
|
||||
|
||||
// Handle intent
|
||||
checkExtras(getIntent());
|
||||
}
|
||||
|
||||
|
@ -416,6 +428,89 @@ public class ActivityMain extends AppCompatActivity implements SharedPreferences
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
Log.i(TAG, "Config changed");
|
||||
super.onConfigurationChanged(newConfig);
|
||||
|
||||
if (!IAB.isPurchasedAny(this))
|
||||
reloadAds();
|
||||
}
|
||||
|
||||
private void loadAds() {
|
||||
MobileAds.initialize(getApplicationContext(), getString(R.string.ad_app_id));
|
||||
|
||||
AdView adView = (AdView) findViewById(R.id.adView);
|
||||
adView.setVisibility(View.VISIBLE);
|
||||
adView.setAdListener(new AdListener() {
|
||||
@Override
|
||||
public void onAdLoaded() {
|
||||
Log.i(TAG, "Ad loaded");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdFailedToLoad(int errorCode) {
|
||||
switch (errorCode) {
|
||||
case AdRequest.ERROR_CODE_INTERNAL_ERROR:
|
||||
Log.w(TAG, "Ad load error=INTERNAL_ERROR");
|
||||
break;
|
||||
case AdRequest.ERROR_CODE_INVALID_REQUEST:
|
||||
Log.w(TAG, "Ad load error=INVALID_REQUEST");
|
||||
break;
|
||||
case AdRequest.ERROR_CODE_NETWORK_ERROR:
|
||||
Log.w(TAG, "Ad load error=NETWORK_ERROR");
|
||||
break;
|
||||
case AdRequest.ERROR_CODE_NO_FILL:
|
||||
Log.w(TAG, "Ad load error=NO_FILL");
|
||||
break;
|
||||
default:
|
||||
Log.w(TAG, "Ad load error=" + errorCode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdOpened() {
|
||||
Log.i(TAG, "Ad opened");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdClosed() {
|
||||
Log.i(TAG, "Ad closed");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdLeftApplication() {
|
||||
Log.i(TAG, "Ad left app");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
AdRequest adRequest = new AdRequest.Builder()
|
||||
.addTestDevice(getString(R.string.ad_test_device_id))
|
||||
.build();
|
||||
adView.loadAd(adRequest);
|
||||
}
|
||||
|
||||
private void reloadAds() {
|
||||
AdView adView = (AdView) findViewById(R.id.adView);
|
||||
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) adView.getLayoutParams();
|
||||
LinearLayout parent = (LinearLayout) adView.getParent();
|
||||
parent.removeView(adView);
|
||||
|
||||
adView.destroy();
|
||||
adView = new AdView(this);
|
||||
adView.setAdSize(AdSize.SMART_BANNER);
|
||||
adView.setAdUnitId(getString(R.string.ad_banner_unit_id));
|
||||
adView.setId(R.id.adView);
|
||||
adView.setLayoutParams(params);
|
||||
parent.addView(adView);
|
||||
|
||||
AdRequest adRequest = new AdRequest.Builder()
|
||||
.addTestDevice(getString(R.string.ad_test_device_id))
|
||||
.build();
|
||||
adView.loadAd(adRequest);
|
||||
}
|
||||
|
||||
private void checkExtras(Intent intent) {
|
||||
// Approve request
|
||||
if (intent.hasExtra(EXTRA_APPROVE)) {
|
||||
|
|
|
@ -183,6 +183,17 @@ public class IAB implements ServiceConnection {
|
|||
prefs.getBoolean(ActivityPro.SKU_DONATION, false));
|
||||
}
|
||||
|
||||
public static boolean isPurchasedAny(Context context) {
|
||||
if (Util.isDebuggable(context))
|
||||
return true;
|
||||
|
||||
SharedPreferences prefs = context.getSharedPreferences("IAB", Context.MODE_PRIVATE);
|
||||
for (String key : prefs.getAll().keySet())
|
||||
if (prefs.getBoolean(key, false))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static String getResult(int responseCode) {
|
||||
switch (responseCode) {
|
||||
case 0:
|
||||
|
|
|
@ -338,7 +338,16 @@ public class Rule {
|
|||
rule.screen_other = screen_other.getBoolean(info.packageName, rule.screen_other_default);
|
||||
rule.roaming = roaming.getBoolean(info.packageName, rule.roaming_default);
|
||||
|
||||
rule.apply = apply.getBoolean(info.packageName, true);
|
||||
if (info.applicationInfo.uid == Process.myUid())
|
||||
if (IAB.isPurchasedAny(context))
|
||||
rule.apply = apply.getBoolean(info.packageName, true);
|
||||
else {
|
||||
rule.pkg = false;
|
||||
rule.apply = false;
|
||||
}
|
||||
else
|
||||
rule.apply = apply.getBoolean(info.packageName, true);
|
||||
|
||||
rule.notify = notify.getBoolean(info.packageName, true);
|
||||
|
||||
// Related packages
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:ads="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -121,6 +122,14 @@
|
|||
android:text="@android:string/ok"
|
||||
android:textAppearance="@style/TextSmall" />
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.gms.ads.AdView
|
||||
android:id="@+id/adView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
ads:adSize="SMART_BANNER"
|
||||
ads:adUnitId="@string/ad_banner_unit_id" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
|
|
|
@ -329,6 +329,14 @@
|
|||
android:text="@string/title_pro_details"
|
||||
android:textAppearance="@style/TextMedium" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/title_pro_ads"
|
||||
android:textAppearance="@style/TextMedium"
|
||||
android:textStyle="italic" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/llChallenge"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -238,6 +238,7 @@ Your internet traffic is not being sent to a remote VPN server.</string>
|
|||
<string name="title_pro_buy">Buy</string>
|
||||
<string name="title_pro_bought">Enabled</string>
|
||||
<string name="title_pro_details">Tap on a title for more information</string>
|
||||
<string name="title_pro_ads">Buying any pro feature will disable all advertisements</string>
|
||||
<string name="title_pro_challenge">Challenge</string>
|
||||
<string name="title_pro_reponse">Response</string>
|
||||
|
||||
|
@ -285,5 +286,8 @@ Your internet traffic is not being sent to a remote VPN server.</string>
|
|||
<item>6</item>
|
||||
</string-array>
|
||||
|
||||
<string name="ad_app_id" translatable="false">ca-app-pub-6350249268625326~6636046697</string>
|
||||
<string name="ad_banner_unit_id" translatable="false">ca-app-pub-6350249268625326/8112779894</string>
|
||||
<string name="ad_test_device_id" translatable="false">B23E5E89C89F87C06C33861503174DFC</string>
|
||||
<string name="fingerprint" translatable="false">ef46f813d2c8a064d72c936b9b96d1cccc989378</string>
|
||||
</resources>
|
||||
|
|
|
@ -7,6 +7,7 @@ buildscript {
|
|||
dependencies {
|
||||
// http://tools.android.com/tech-docs/new-build-system/gradle-experimental
|
||||
classpath 'com.android.tools.build:gradle-experimental:0.7.0'
|
||||
classpath 'com.google.gms:google-services:3.0.0'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
#apt-get install meld
|
||||
meld app/src/main/AndroidManifest.xml app/src/kitkat/AndroidManifest.xml &
|
Loading…
Reference in New Issue