Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: src/org/adblockplus/android/Preferences.java

Issue 6196972490850304: Make the Acceptable Ads link clickable (Closed)
Patch Set: Fix issues Created Nov. 26, 2013, 10:24 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <http://adblockplus.org/>, 2 * This file is part of Adblock Plus <http://adblockplus.org/>,
3 * Copyright (C) 2006-2013 Eyeo GmbH 3 * Copyright (C) 2006-2013 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 26 matching lines...) Expand all
37 import android.content.SharedPreferences; 37 import android.content.SharedPreferences;
38 import android.content.pm.PackageManager.NameNotFoundException; 38 import android.content.pm.PackageManager.NameNotFoundException;
39 import android.content.res.AssetManager; 39 import android.content.res.AssetManager;
40 import android.net.Uri; 40 import android.net.Uri;
41 import android.os.Build; 41 import android.os.Build;
42 import android.os.Bundle; 42 import android.os.Bundle;
43 import android.os.IBinder; 43 import android.os.IBinder;
44 import android.preference.ListPreference; 44 import android.preference.ListPreference;
45 import android.preference.PreferenceManager; 45 import android.preference.PreferenceManager;
46 import android.text.Html; 46 import android.text.Html;
47 import android.text.TextUtils;
47 import android.text.format.DateFormat; 48 import android.text.format.DateFormat;
49 import android.text.method.LinkMovementMethod;
48 import android.util.Log; 50 import android.util.Log;
49 import android.view.View; 51 import android.view.View;
50 import android.view.ViewGroup; 52 import android.view.ViewGroup;
51 import android.widget.TextView; 53 import android.widget.TextView;
52 54
53 import com.actionbarsherlock.view.Menu; 55 import com.actionbarsherlock.view.Menu;
54 import com.actionbarsherlock.view.MenuInflater; 56 import com.actionbarsherlock.view.MenuInflater;
55 import com.actionbarsherlock.view.MenuItem; 57 import com.actionbarsherlock.view.MenuItem;
56 58
57 /** 59 /**
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 if (subscriptions.length > 0) 146 if (subscriptions.length > 0)
145 { 147 {
146 current = subscriptions[0]; 148 current = subscriptions[0];
147 } 149 }
148 150
149 boolean firstRun = firstRunActionsPending && application.isFirstRun(); 151 boolean firstRun = firstRunActionsPending && application.isFirstRun();
150 firstRunActionsPending = false; 152 firstRunActionsPending = false;
151 153
152 if (firstRun && current != null) 154 if (firstRun && current != null)
153 { 155 {
154 new AlertDialog.Builder(this).setTitle(R.string.app_name) 156 final String url = application.getAcceptableAdsUrl();
155 .setMessage(String.format(getString(R.string.msg_subscription_offer, c urrent.title))) 157 final String rawMessage = String.format(getString(R.string.msg_subscriptio n_offer, current.title));
158 final String message = TextUtils.htmlEncode(rawMessage)
159 .replaceAll("&lt;a&gt;(.*?)&lt;/a&gt;", "<a href=\"" + url + "\">$1</a >");
Wladimir Palant 2013/11/26 10:48:57 TextUtils.htmlEncode(url)?
Felix Dahlke 2013/11/26 13:11:46 Why? That'd just mess up the link and it wouldn't
Wladimir Palant 2013/11/26 13:33:44 No, it will make sure the link is properly encoded
Felix Dahlke 2013/11/26 13:48:01 Ouch, you're right.
160 final TextView messageView = new TextView(this);
161 messageView.setText(Html.fromHtml(message));
162 messageView.setMovementMethod(LinkMovementMethod.getInstance());
163 final int padding = 10;
164 messageView.setPadding(padding, padding, padding, padding);
165 new AlertDialog.Builder(this).setTitle(R.string.install_name)
166 .setView(messageView)
156 .setIcon(android.R.drawable.ic_dialog_info) 167 .setIcon(android.R.drawable.ic_dialog_info)
157 .setPositiveButton(R.string.ok, null).create().show(); 168 .setPositiveButton(R.string.ok, null).create().show();
158 } 169 }
159 170
160 // Enable manual subscription refresh 171 // Enable manual subscription refresh
161 subscriptionList.setOnRefreshClickListener(new View.OnClickListener() 172 subscriptionList.setOnRefreshClickListener(new View.OnClickListener()
162 { 173 {
163 @Override 174 @Override
164 public void onClick(View v) 175 public void onClick(View v)
165 { 176 {
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 showConfigurationMsg(getString(R.string.msg_configuration)); 546 showConfigurationMsg(getString(R.string.msg_configuration));
536 } 547 }
537 548
538 public void onServiceDisconnected(ComponentName className) 549 public void onServiceDisconnected(ComponentName className)
539 { 550 {
540 proxyService = null; 551 proxyService = null;
541 Log.d(TAG, "Proxy service disconnected"); 552 Log.d(TAG, "Proxy service disconnected");
542 } 553 }
543 }; 554 };
544 } 555 }
OLDNEW
« jni/abpEngine.cpp ('K') | « src/org/adblockplus/android/AdblockPlus.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld