Always show apps with AFs; Always display AF list in bold red at top of AppDetails
This commit is contained in:
parent
38b16f3f8f
commit
19712433bc
@ -29,10 +29,19 @@
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:id="@+id/antifeatures"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6sp"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="#ff0000" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8sp"
|
||||
android:singleLine="false" />
|
||||
|
||||
<TextView
|
||||
@ -50,20 +59,4 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="false" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/antifeatures"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8sp"
|
||||
android:singleLine="true"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
android:text="@string/antifeatures_list" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/antifeatures_list"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="false" />
|
||||
|
||||
</LinearLayout>
|
||||
|
@ -98,27 +98,10 @@
|
||||
<string name="corrupt_download">Downloaded file is corrupt</string>
|
||||
<string name="download_cancelled">Download cancelled</string>
|
||||
|
||||
<string name="antifeatures">Anti-Features</string>
|
||||
<string name="antifeatures_list">This application has the following anti-features:</string>
|
||||
|
||||
<string name="antiads">Advertising</string>
|
||||
<string name="antiadslong">Show apps that contain advertising</string>
|
||||
<string name="antiadslist">This app contains advertising</string>
|
||||
|
||||
<string name="antitrack">Tracking</string>
|
||||
<string name="antitracklong">Show apps that track and report your activity</string>
|
||||
<string name="antitracklist">This app tracks and reports your activity</string>
|
||||
|
||||
<string name="antinonfreead">Add-ons</string>
|
||||
<string name="antinonfreeadlong">Show apps that promote non-free add-ons</string>
|
||||
<string name="antinonfreeadlist">This app promotes non-free add-ons</string>
|
||||
|
||||
<string name="antinonfreenet">Network Services</string>
|
||||
<string name="antinonfreenetlong">Show apps that promote non-free network services</string>
|
||||
<string name="antinonfreenetlist">This app promotes non-free network services</string>
|
||||
|
||||
<string name="antinonfreedep">Dependencies</string>
|
||||
<string name="antinonfreedeplong">Show apps that depend on other non-free apps</string>
|
||||
<string name="antinonfreedeplist">This app depends on other non-free apps</string>
|
||||
|
||||
<string name="display">Display</string>
|
||||
|
@ -24,23 +24,6 @@
|
||||
android:defaultValue="false" android:summary="@string/compactlayout_long"
|
||||
android:key="compactlayout"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/antifeatures">
|
||||
<CheckBoxPreference android:title="@string/antiads"
|
||||
android:defaultValue="false" android:summary="@string/antiadslong"
|
||||
android:key="antiAds" />
|
||||
<CheckBoxPreference android:title="@string/antitrack"
|
||||
android:defaultValue="false" android:summary="@string/antitracklong"
|
||||
android:key="antiTracking" />
|
||||
<CheckBoxPreference android:title="@string/antinonfreead"
|
||||
android:defaultValue="false" android:summary="@string/antinonfreeadlong"
|
||||
android:key="antiNonFreeAdd" />
|
||||
<CheckBoxPreference android:title="@string/antinonfreenet"
|
||||
android:defaultValue="false" android:summary="@string/antinonfreenetlong"
|
||||
android:key="antiNonFreeNet" />
|
||||
<CheckBoxPreference android:title="@string/antinonfreedep"
|
||||
android:defaultValue="false" android:summary="@string/antinonfreedeplong"
|
||||
android:key="antiNonFreeDep" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/appcompatibility">
|
||||
<CheckBoxPreference android:title="@string/showincompat"
|
||||
android:defaultValue="false" android:summary="@string/showincompat_long"
|
||||
|
@ -257,11 +257,6 @@ public class AppDetails extends ListActivity {
|
||||
pref_expert = prefs.getBoolean("expert", false);
|
||||
pref_permissions = prefs.getBoolean("showPermissions", false);
|
||||
pref_incompatible = prefs.getBoolean("showIncompatible", false);
|
||||
pref_antiAds = prefs.getBoolean("antiAds", false);
|
||||
pref_antiTracking = prefs.getBoolean("antiTracking", false);
|
||||
pref_antiNonFreeAdd = prefs.getBoolean("antiNonFreeAdd", false);
|
||||
pref_antiNonFreeNet = prefs.getBoolean("antiNonFreeNet", false);
|
||||
pref_antiNonFreeDep = prefs.getBoolean("antiNonFreeDep", false);
|
||||
|
||||
startViews();
|
||||
|
||||
@ -272,12 +267,6 @@ public class AppDetails extends ListActivity {
|
||||
private boolean pref_incompatible;
|
||||
private boolean resetRequired;
|
||||
|
||||
private boolean pref_antiAds;
|
||||
private boolean pref_antiTracking;
|
||||
private boolean pref_antiNonFreeAdd;
|
||||
private boolean pref_antiNonFreeNet;
|
||||
private boolean pref_antiNonFreeDep;
|
||||
|
||||
// The signature of the installed version.
|
||||
private Signature mInstalledSignature;
|
||||
private String mInstalledSigID;
|
||||
@ -403,13 +392,11 @@ public class AppDetails extends ListActivity {
|
||||
private void startViews() {
|
||||
|
||||
// Populate the list...
|
||||
if (!app.filtered) {
|
||||
ApkListAdapter la = (ApkListAdapter) getListAdapter();
|
||||
for (DB.Apk apk : app.apks)
|
||||
if (pref_incompatible || apk.compatible)
|
||||
la.addItem(apk);
|
||||
la.notifyDataSetChanged();
|
||||
}
|
||||
ApkListAdapter la = (ApkListAdapter) getListAdapter();
|
||||
for (DB.Apk apk : app.apks)
|
||||
if (pref_incompatible || apk.compatible)
|
||||
la.addItem(apk);
|
||||
la.notifyDataSetChanged();
|
||||
|
||||
// Insert the 'infoView' (which contains the summary, various odds and
|
||||
// ends, and the description) into the appropriate place, if we're in
|
||||
@ -537,38 +524,18 @@ public class AppDetails extends ListActivity {
|
||||
infoView.findViewById(R.id.permissions_list).setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
tv = (TextView) infoView.findViewById(R.id.antifeatures);
|
||||
if (app.antiFeatures != null) {
|
||||
tv = (TextView) infoView.findViewById(R.id.antifeatures_list);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String af : app.antiFeatures)
|
||||
sb.append("<li>"+titleAntiFeature(af)+": "+descAntiFeature(af)+"</li>");
|
||||
Spanned afs = Html.fromHtml(sb.toString(), null, new HtmlTagHandler());
|
||||
tv.setText(afs.subSequence(0, afs.length() - 2));
|
||||
sb.append("\t• " + descAntiFeature(af) + "\n");
|
||||
sb.setLength(sb.length() - 1);
|
||||
tv.setText(sb.toString());
|
||||
} else {
|
||||
infoView.findViewById(R.id.antifeatures).setVisibility(View.GONE);
|
||||
infoView.findViewById(R.id.antifeatures_list).setVisibility(View.GONE);
|
||||
tv.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
private String titleAntiFeature(String af) {
|
||||
if (af.equals("Ads")) {
|
||||
if (!pref_antiAds) return "</b>"+af+"</b>";
|
||||
return "<b><font color='red'>"+af+"</font></b>";
|
||||
} if (af.equals("Tracking")) {
|
||||
if (pref_antiTracking) return "</b>"+af+"</b>";
|
||||
return "<b><font color='red'>"+af+"</font></b>";
|
||||
} if (af.equals("NonFreeNet")) {
|
||||
if (pref_antiNonFreeNet) return "</b>"+af+"</b>";
|
||||
return "<b><font color='red'>"+af+"</font></b>";
|
||||
} if (af.equals("NonFreeAdd")) {
|
||||
if (pref_antiNonFreeAdd) return "</b>"+af+"</b>";
|
||||
return "<b><font color='red'>"+af+"</font></b>";
|
||||
} if (af.equals("NonFreeDep")) {
|
||||
if (pref_antiNonFreeDep) return "</b>"+af+"</b>";
|
||||
return "<b><font color='red'>"+af+"</font></b>";
|
||||
} return "";
|
||||
}
|
||||
|
||||
private String descAntiFeature(String af) {
|
||||
if (af.equals("Ads"))
|
||||
return getString(R.string.antiadslist);
|
||||
@ -586,10 +553,8 @@ public class AppDetails extends ListActivity {
|
||||
private void updateViews() {
|
||||
|
||||
// Refresh the list...
|
||||
if (!app.filtered) {
|
||||
ApkListAdapter la = (ApkListAdapter) getListAdapter();
|
||||
la.notifyDataSetChanged();
|
||||
}
|
||||
ApkListAdapter la = (ApkListAdapter) getListAdapter();
|
||||
la.notifyDataSetChanged();
|
||||
|
||||
TextView tv = (TextView) findViewById(R.id.status);
|
||||
if (app.installedVersion == null)
|
||||
|
@ -24,11 +24,6 @@ import android.preference.PreferenceManager;
|
||||
|
||||
public class AppFilter {
|
||||
|
||||
boolean pref_antiAds;
|
||||
boolean pref_antiTracking;
|
||||
boolean pref_antiNonFreeAdd;
|
||||
boolean pref_antiNonFreeNet;
|
||||
boolean pref_antiNonFreeDep;
|
||||
boolean pref_rooted;
|
||||
|
||||
public AppFilter(Context ctx) {
|
||||
@ -36,11 +31,6 @@ public class AppFilter {
|
||||
// Read preferences and cache them so we can do quick lookups.
|
||||
SharedPreferences prefs = PreferenceManager
|
||||
.getDefaultSharedPreferences(ctx);
|
||||
pref_antiAds = prefs.getBoolean("antiAds", false);
|
||||
pref_antiTracking = prefs.getBoolean("antiTracking", false);
|
||||
pref_antiNonFreeAdd = prefs.getBoolean("antiNonFreeAdd", false);
|
||||
pref_antiNonFreeNet = prefs.getBoolean("antiNonFreeNet", false);
|
||||
pref_antiNonFreeDep = prefs.getBoolean("antiNonFreeDep", false);
|
||||
pref_rooted = prefs.getBoolean("rooted", true);
|
||||
}
|
||||
|
||||
@ -48,20 +38,6 @@ public class AppFilter {
|
||||
// preferences, and false otherwise.
|
||||
public boolean filter(DB.App app) {
|
||||
boolean filtered = false;
|
||||
if (app.antiFeatures != null) {
|
||||
for (String af : app.antiFeatures) {
|
||||
if (af.equals("Ads") && !pref_antiAds)
|
||||
filtered = true;
|
||||
else if (af.equals("Tracking") && !pref_antiTracking)
|
||||
filtered = true;
|
||||
else if (af.equals("NonFreeNet") && !pref_antiNonFreeNet)
|
||||
filtered = true;
|
||||
else if (af.equals("NonFreeAdd") && !pref_antiNonFreeAdd)
|
||||
filtered = true;
|
||||
else if (af.equals("NonFreeDep") && !pref_antiNonFreeDep)
|
||||
filtered = true;
|
||||
}
|
||||
}
|
||||
if (app.requirements != null) {
|
||||
for (String r : app.requirements) {
|
||||
if (r.equals("root") && !pref_rooted)
|
||||
|
Loading…
x
Reference in New Issue
Block a user