implement licensing

This commit is contained in:
Andrew Dolgov 2011-12-05 15:19:24 +03:00
parent 6440c73b1e
commit a9b3ea9e5d
5 changed files with 25 additions and 13 deletions

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.fox.ttrss"
android:versionCode="31"
android:versionName="0.1.30">
android:versionCode="32"
android:versionName="0.2.0">
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.INTERNET" />

View File

@ -90,4 +90,5 @@
<string name="error_invalid_api_url">Error: invalid API URL</string>
<string name="combined_mode_summary">Displays full article text inline, instead of a separate panel</string>
<string name="combined_mode">Combined mode</string>
</resources>

View File

@ -30,7 +30,6 @@
<CheckBoxPreference android:defaultValue="false" android:title="@string/browse_cats_like_feeds" android:key="browse_cats_like_feeds"
android:summary="@string/browse_cats_like_feeds_summary" />
<CheckBoxPreference android:defaultValue="false" android:summary="@string/combined_mode_summary" android:title="@string/combined_mode" android:key="combined_mode" />
<CheckBoxPreference android:defaultValue="false" android:summary="@string/enable_ads_summary" android:title="@string/enable_ads" android:key="enable_ads" />
</PreferenceCategory>

View File

@ -7,6 +7,7 @@ import org.fox.ttrss.ArticleOps.RelativeArticle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
@ -159,10 +160,9 @@ public class ArticleFragment extends Fragment implements OnClickListener {
}
AdView av = (AdView)view.findViewById(R.id.ad);
boolean enableAds = m_prefs.getBoolean("enable_ads", false);
if (av != null) {
if (enableAds) {
if (!((MainActivity)getActivity()).getLicensed()) {
AdRequest request = new AdRequest();
request.addTestDevice(AdRequest.TEST_EMULATOR);
av.loadAd(request);

View File

@ -1,6 +1,7 @@
package org.fox.ttrss;
import java.util.HashMap;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
@ -10,6 +11,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
@ -46,11 +48,11 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
private boolean m_smallScreenMode;
private boolean m_unreadOnly = true;
private boolean m_unreadArticlesOnly = true;
//private boolean m_canLoadMore = true;
private boolean m_compatMode = false;
private boolean m_enableCats = false;
private int m_isLicensed = -1;
private int m_apiLevel = 0;
public void updateHeadlines() {
HeadlinesFragment frag = (HeadlinesFragment)getSupportFragmentManager().findFragmentById(R.id.headlines_fragment);
if (frag != null) {
@ -58,6 +60,10 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
}
}
public boolean getLicensed() {
return m_isLicensed == 1;
}
public int getApiLevel() {
return m_apiLevel;
}
@ -299,9 +305,9 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
m_activeFeed = savedInstanceState.getParcelable("activeFeed");
m_selectedArticle = savedInstanceState.getParcelable("selectedArticle");
m_unreadArticlesOnly = savedInstanceState.getBoolean("unreadArticlesOnly");
//m_canLoadMore = savedInstanceState.getBoolean("canLoadMore");
m_activeCategory = savedInstanceState.getParcelable("activeCategory");
m_apiLevel = savedInstanceState.getInt("apiLevel");
m_isLicensed = savedInstanceState.getInt("isLicensed");
}
m_enableCats = m_prefs.getBoolean("enable_cats", false);
@ -323,6 +329,16 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
if (!m_compatMode) {
new TransitionHelper((LinearLayout)findViewById(R.id.main));
}
List<PackageInfo> pkgs = getPackageManager().getInstalledPackages(0);
for (PackageInfo p : pkgs) {
if ("org.fox.ttrss.key".equals(p.packageName)) {
m_isLicensed = 1;
Log.d(TAG, "license apk found");
break;
}
}
if (m_smallScreenMode) {
if (m_selectedArticle != null) {
@ -392,9 +408,9 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
out.putParcelable("activeFeed", m_activeFeed);
out.putParcelable("selectedArticle", m_selectedArticle);
out.putBoolean("unreadArticlesOnly", m_unreadArticlesOnly);
//out.putBoolean("canLoadMore", m_canLoadMore);
out.putParcelable("activeCategory", m_activeCategory);
out.putInt("apiLevel", m_apiLevel);
out.putInt("isLicensed", m_isLicensed);
}
@Override
@ -761,10 +777,6 @@ public class MainActivity extends FragmentActivity implements FeedsFragment.OnFe
}
/* public void setCanLoadMore(boolean canLoadMore) {
m_canLoadMore = canLoadMore;
} */
public void initMainMenu() {
if (m_menu != null) {
if (m_sessionId != null) {