Added subscribe email feature
This commit is contained in:
parent
2971b8ac67
commit
1993fed190
5 changed files with 238 additions and 5 deletions
75
OsmAnd/res/layout/subscribe_email_header.xml
Normal file
75
OsmAnd/res/layout/subscribe_email_header.xml
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout android:id="@+id/search"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:background="?attr/ctx_menu_info_view_bg"
|
||||||
|
xmlns:osmand="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/container"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="10dp"
|
||||||
|
android:layout_marginLeft="@dimen/dash_margin_h"
|
||||||
|
android:layout_marginRight="@dimen/dash_margin_h"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:background="?attr/bg_card">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:layout_marginTop="@dimen/list_content_padding"
|
||||||
|
android:layout_marginLeft="@dimen/list_content_padding"
|
||||||
|
android:layout_marginRight="@dimen/list_content_padding"
|
||||||
|
android:layout_marginBottom="10dp">
|
||||||
|
|
||||||
|
<android.support.v7.widget.AppCompatImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:layout_marginRight="24dp"
|
||||||
|
android:src="@drawable/ic_action_message"
|
||||||
|
android:tint="?attr/color_dialog_buttons"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/subscribe_email_desc"
|
||||||
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
|
android:textSize="@dimen/default_list_text_size"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:background="?attr/dashboard_divider"
|
||||||
|
android:layout_marginLeft="64dp"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/subscribe_btn"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:background="?attr/selectableItemBackground">
|
||||||
|
|
||||||
|
<net.osmand.plus.widgets.TextViewEx
|
||||||
|
android:id="@+id/subscribe_text"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/osm_live_subscribe_btn"
|
||||||
|
android:layout_marginLeft="64dp"
|
||||||
|
android:textColor="?attr/color_dialog_buttons"
|
||||||
|
android:textSize="@dimen/default_desc_text_size"
|
||||||
|
osmand:typeface="@string/font_roboto_medium"
|
||||||
|
osmand:textAllCapsCompat="true"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
|
@ -9,6 +9,8 @@
|
||||||
3. All your modified/created strings are in the top of the file (to make easier find what\'s translated).
|
3. All your modified/created strings are in the top of the file (to make easier find what\'s translated).
|
||||||
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
|
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
|
||||||
-->
|
-->
|
||||||
|
<string name="subscribe_email_error">Error</string>
|
||||||
|
<string name="subscribe_email_desc">Subscribe to our email list about app discounts and get 3 more map downloads!</string>
|
||||||
<string name="depth_contour_descr">Set of maps allows you to see sea depth contour lines.</string>
|
<string name="depth_contour_descr">Set of maps allows you to see sea depth contour lines.</string>
|
||||||
<string name="sea_depth_thanks">Thank you for purchasing sea depth contours!</string>
|
<string name="sea_depth_thanks">Thank you for purchasing sea depth contours!</string>
|
||||||
<string name="index_item_depth_contours_osmand_ext">Depth contours</string>
|
<string name="index_item_depth_contours_osmand_ext">Depth contours</string>
|
||||||
|
|
|
@ -920,6 +920,7 @@ public class OsmandSettings {
|
||||||
public final OsmandPreference<Boolean> LIVE_UPDATES_PURCHASED = new BooleanPreference("billing_live_updates_purchased", false).makeGlobal();
|
public final OsmandPreference<Boolean> LIVE_UPDATES_PURCHASED = new BooleanPreference("billing_live_updates_purchased", false).makeGlobal();
|
||||||
public final OsmandPreference<Boolean> FULL_VERSION_PURCHASED = new BooleanPreference("billing_full_version_purchased", false).makeGlobal();
|
public final OsmandPreference<Boolean> FULL_VERSION_PURCHASED = new BooleanPreference("billing_full_version_purchased", false).makeGlobal();
|
||||||
public final OsmandPreference<Boolean> DEPTH_CONTOURS_PURCHASED = new BooleanPreference("billing_sea_depth_purchased", false).makeGlobal();
|
public final OsmandPreference<Boolean> DEPTH_CONTOURS_PURCHASED = new BooleanPreference("billing_sea_depth_purchased", false).makeGlobal();
|
||||||
|
public final OsmandPreference<Boolean> EMAIL_SUBSCRIBED = new BooleanPreference("email_subscribed", false).makeGlobal();
|
||||||
|
|
||||||
public final OsmandPreference<Integer> DISCOUNT_ID = new IntPreference("discount_id", 0).makeGlobal();
|
public final OsmandPreference<Integer> DISCOUNT_ID = new IntPreference("discount_id", 0).makeGlobal();
|
||||||
public final OsmandPreference<Integer> DISCOUNT_SHOW_NUMBER_OF_STARTS = new IntPreference("number_of_starts_on_discount_show", 0).makeGlobal();
|
public final OsmandPreference<Integer> DISCOUNT_SHOW_NUMBER_OF_STARTS = new IntPreference("number_of_starts_on_discount_show", 0).makeGlobal();
|
||||||
|
|
|
@ -413,6 +413,10 @@ public class DownloadActivity extends AbstractDownloadActivity implements Downlo
|
||||||
downloadHasFinished();
|
downloadHasFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateBanner() {
|
||||||
|
visibleBanner.updateBannerInProgress();
|
||||||
|
}
|
||||||
|
|
||||||
private int getCurrentTab() {
|
private int getCurrentTab() {
|
||||||
return viewPager.getCurrentItem();
|
return viewPager.getCurrentItem();
|
||||||
}
|
}
|
||||||
|
@ -427,7 +431,7 @@ public class DownloadActivity extends AbstractDownloadActivity implements Downlo
|
||||||
return Math.max(downloadsLeft, 0) > 0;
|
return Math.max(downloadsLeft, 0) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean shouldShowFreeVersionBanner(OsmandApplication application) {
|
public static boolean shouldShowFreeVersionBanner(OsmandApplication application) {
|
||||||
return (Version.isFreeVersion(application) && !application.getSettings().LIVE_UPDATES_PURCHASED.get()
|
return (Version.isFreeVersion(application) && !application.getSettings().LIVE_UPDATES_PURCHASED.get()
|
||||||
&& !application.getSettings().FULL_VERSION_PURCHASED.get())
|
&& !application.getSettings().FULL_VERSION_PURCHASED.get())
|
||||||
|| application.getSettings().SHOULD_SHOW_FREE_VERSION_BANNER.get();
|
|| application.getSettings().SHOULD_SHOW_FREE_VERSION_BANNER.get();
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
package net.osmand.plus.download.ui;
|
package net.osmand.plus.download.ui;
|
||||||
|
|
||||||
|
import android.app.ProgressDialog;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import android.support.v4.view.MenuItemCompat;
|
import android.support.v4.view.MenuItemCompat;
|
||||||
|
import android.support.v7.app.AlertDialog;
|
||||||
import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
@ -14,11 +19,14 @@ import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.EditText;
|
||||||
import android.widget.ExpandableListView;
|
import android.widget.ExpandableListView;
|
||||||
import android.widget.ExpandableListView.OnChildClickListener;
|
import android.widget.ExpandableListView.OnChildClickListener;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import net.osmand.AndroidNetworkUtils;
|
||||||
|
import net.osmand.AndroidUtils;
|
||||||
import net.osmand.plus.IconsCache;
|
import net.osmand.plus.IconsCache;
|
||||||
import net.osmand.plus.OsmandApplication;
|
import net.osmand.plus.OsmandApplication;
|
||||||
import net.osmand.plus.OsmandSettings;
|
import net.osmand.plus.OsmandSettings;
|
||||||
|
@ -31,13 +39,20 @@ import net.osmand.plus.download.DownloadIndexesThread.DownloadEvents;
|
||||||
import net.osmand.plus.download.DownloadResourceGroup;
|
import net.osmand.plus.download.DownloadResourceGroup;
|
||||||
import net.osmand.plus.download.DownloadResourceGroup.DownloadResourceGroupType;
|
import net.osmand.plus.download.DownloadResourceGroup.DownloadResourceGroupType;
|
||||||
import net.osmand.plus.download.DownloadResources;
|
import net.osmand.plus.download.DownloadResources;
|
||||||
|
import net.osmand.plus.download.DownloadValidationManager;
|
||||||
import net.osmand.plus.download.IndexItem;
|
import net.osmand.plus.download.IndexItem;
|
||||||
import net.osmand.plus.inapp.InAppHelper;
|
import net.osmand.plus.inapp.InAppHelper;
|
||||||
import net.osmand.plus.inapp.InAppHelper.InAppListener;
|
import net.osmand.plus.inapp.InAppHelper.InAppListener;
|
||||||
import net.osmand.util.Algorithms;
|
import net.osmand.util.Algorithms;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class DownloadResourceGroupFragment extends DialogFragment implements DownloadEvents,
|
public class DownloadResourceGroupFragment extends DialogFragment implements DownloadEvents,
|
||||||
InAppListener, OnChildClickListener {
|
InAppListener, OnChildClickListener {
|
||||||
|
@ -55,6 +70,7 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
|
||||||
private Toolbar toolbar;
|
private Toolbar toolbar;
|
||||||
private View searchView;
|
private View searchView;
|
||||||
private View restorePurchasesView;
|
private View restorePurchasesView;
|
||||||
|
private View subscribeEmailView;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
@ -105,8 +121,8 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
|
||||||
banner = null;
|
banner = null;
|
||||||
view.findViewById(R.id.freeVersionBanner).setVisibility(View.GONE);
|
view.findViewById(R.id.freeVersionBanner).setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
listView = (ExpandableListView) view.findViewById(android.R.id.list);
|
listView = (ExpandableListView) view.findViewById(android.R.id.list);
|
||||||
|
addSubscribeEmailRow();
|
||||||
addSearchRow();
|
addSearchRow();
|
||||||
addRestorePurchasesRow();
|
addRestorePurchasesRow();
|
||||||
listView.setOnChildClickListener(this);
|
listView.setOnChildClickListener(this);
|
||||||
|
@ -116,6 +132,25 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addSubscribeEmailRow() {
|
||||||
|
if (DownloadActivity.shouldShowFreeVersionBanner(activity.getMyApplication())
|
||||||
|
&& !getMyApplication().getSettings().EMAIL_SUBSCRIBED.get()) {
|
||||||
|
subscribeEmailView = activity.getLayoutInflater().inflate(R.layout.subscribe_email_header, null, false);
|
||||||
|
subscribeEmailView.findViewById(R.id.subscribe_btn).setOnClickListener(new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
subscribe();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
listView.addHeaderView(subscribeEmailView);
|
||||||
|
IndexItem worldBaseMapItem = activity.getDownloadThread().getIndexes().getWorldBaseMapItem();
|
||||||
|
if (worldBaseMapItem == null || !worldBaseMapItem.isDownloaded()
|
||||||
|
|| DownloadActivity.isDownlodingPermitted(activity.getMyApplication().getSettings())) {
|
||||||
|
subscribeEmailView.findViewById(R.id.container).setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void addRestorePurchasesRow() {
|
private void addRestorePurchasesRow() {
|
||||||
if (!openAsDialog() && !InAppHelper.isInAppIntentoryRead()) {
|
if (!openAsDialog() && !InAppHelper.isInAppIntentoryRead()) {
|
||||||
restorePurchasesView = activity.getLayoutInflater().inflate(R.layout.restore_purchases_list_footer, null);
|
restorePurchasesView = activity.getLayoutInflater().inflate(R.layout.restore_purchases_list_footer, null);
|
||||||
|
@ -177,6 +212,116 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateSubscribeEmailView() {
|
||||||
|
if (subscribeEmailView != null && subscribeEmailView.findViewById(R.id.container).getVisibility() == View.GONE
|
||||||
|
&& !DownloadActivity.isDownlodingPermitted(getMyApplication().getSettings())
|
||||||
|
&& !getMyApplication().getSettings().EMAIL_SUBSCRIBED.get()) {
|
||||||
|
IndexItem worldBaseMapItem = activity.getDownloadThread().getIndexes().getWorldBaseMapItem();
|
||||||
|
if (worldBaseMapItem != null && worldBaseMapItem.isDownloaded()) {
|
||||||
|
subscribeEmailView.findViewById(R.id.container).setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void hideSubscribeEmailView() {
|
||||||
|
if (subscribeEmailView != null && subscribeEmailView.findViewById(R.id.container).getVisibility() == View.VISIBLE) {
|
||||||
|
subscribeEmailView.findViewById(R.id.container).setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void subscribe() {
|
||||||
|
AlertDialog.Builder b = new AlertDialog.Builder(activity);
|
||||||
|
b.setTitle(R.string.shared_string_email_address);
|
||||||
|
final EditText editText = new EditText(activity);
|
||||||
|
int leftPadding = AndroidUtils.dpToPx(activity, 24f);
|
||||||
|
int topPadding = AndroidUtils.dpToPx(activity, 4f);
|
||||||
|
b.setView(editText, leftPadding, topPadding, leftPadding, topPadding);
|
||||||
|
b.setPositiveButton(R.string.shared_string_ok, null);
|
||||||
|
b.setNegativeButton(R.string.shared_string_cancel, null);
|
||||||
|
final AlertDialog alertDialog = b.create();
|
||||||
|
alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
|
||||||
|
@Override
|
||||||
|
public void onShow(DialogInterface dialog) {
|
||||||
|
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(
|
||||||
|
new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
String email = editText.getText().toString();
|
||||||
|
if (Algorithms.isEmpty(email) || !AndroidUtils.isValidEmail(email)) {
|
||||||
|
getMyApplication().showToastMessage(getString(R.string.osm_live_enter_email));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
doSubscribe(email);
|
||||||
|
alertDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
alertDialog.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void doSubscribe(final String email) {
|
||||||
|
new AsyncTask<Void, Void, String>() {
|
||||||
|
|
||||||
|
ProgressDialog dlg;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPreExecute() {
|
||||||
|
dlg = new ProgressDialog(getActivity());
|
||||||
|
dlg.setTitle("");
|
||||||
|
dlg.setMessage(getString(R.string.wait_current_task_finished));
|
||||||
|
dlg.setCancelable(false);
|
||||||
|
dlg.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String doInBackground(Void... params) {
|
||||||
|
try {
|
||||||
|
Map<String, String> parameters = new HashMap<>();
|
||||||
|
parameters.put("aid", Settings.Secure.getString(activity.getContentResolver(), Settings.Secure.ANDROID_ID));
|
||||||
|
parameters.put("email", email);
|
||||||
|
|
||||||
|
return AndroidNetworkUtils.sendRequest(getMyApplication(),
|
||||||
|
"http://download.osmand.net/subscription/register_email.php",
|
||||||
|
parameters, "Subscribing email...", true, true);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPostExecute(String response) {
|
||||||
|
if (dlg != null) {
|
||||||
|
dlg.dismiss();
|
||||||
|
dlg = null;
|
||||||
|
}
|
||||||
|
OsmandApplication app = getMyApplication();
|
||||||
|
if (response == null) {
|
||||||
|
app.showShortToastMessage(activity.getString(R.string.shared_string_unexpected_error));
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
JSONObject obj = new JSONObject(response);
|
||||||
|
String responseEmail = obj.getString("email");
|
||||||
|
if (!email.equalsIgnoreCase(responseEmail)) {
|
||||||
|
app.showShortToastMessage(activity.getString(R.string.shared_string_unexpected_error));
|
||||||
|
} else {
|
||||||
|
app.getSettings().NUMBER_OF_FREE_DOWNLOADS.set(DownloadValidationManager.MAXIMUM_AVAILABLE_FREE_DOWNLOADS - 3);
|
||||||
|
app.getSettings().EMAIL_SUBSCRIBED.set(true);
|
||||||
|
hideSubscribeEmailView();
|
||||||
|
activity.updateBanner();
|
||||||
|
}
|
||||||
|
} catch (JSONException e) {
|
||||||
|
String message = "JSON parsing error: "
|
||||||
|
+ (e.getMessage() == null ? "unknown" : e.getMessage());
|
||||||
|
app.showShortToastMessage(MessageFormat.format(
|
||||||
|
activity.getString(R.string.error_message_pattern), message));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.execute((Void) null);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(String error) {
|
public void onError(String error) {
|
||||||
}
|
}
|
||||||
|
@ -233,6 +378,7 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
|
||||||
if (!openAsDialog()) {
|
if (!openAsDialog()) {
|
||||||
updateSearchView();
|
updateSearchView();
|
||||||
}
|
}
|
||||||
|
updateSubscribeEmailView();
|
||||||
DownloadResources indexes = activity.getDownloadThread().getIndexes();
|
DownloadResources indexes = activity.getDownloadThread().getIndexes();
|
||||||
group = indexes.getGroupById(groupId);
|
group = indexes.getGroupById(groupId);
|
||||||
if (group != null) {
|
if (group != null) {
|
||||||
|
@ -258,7 +404,7 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void newDownloadIndexes() {
|
public void newDownloadIndexes() {
|
||||||
if(banner != null) {
|
if (banner != null) {
|
||||||
banner.updateBannerInProgress();
|
banner.updateBannerInProgress();
|
||||||
}
|
}
|
||||||
reloadData();
|
reloadData();
|
||||||
|
@ -266,15 +412,20 @@ public class DownloadResourceGroupFragment extends DialogFragment implements Dow
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void downloadHasFinished() {
|
public void downloadHasFinished() {
|
||||||
if(banner != null) {
|
if (banner != null) {
|
||||||
banner.updateBannerInProgress();
|
banner.updateBannerInProgress();
|
||||||
}
|
}
|
||||||
|
if (subscribeEmailView != null
|
||||||
|
&& !DownloadActivity.isDownlodingPermitted(activity.getMyApplication().getSettings())
|
||||||
|
&& !getMyApplication().getSettings().EMAIL_SUBSCRIBED.get()) {
|
||||||
|
subscribeEmailView.findViewById(R.id.container).setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
listAdapter.notifyDataSetChanged();
|
listAdapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void downloadInProgress() {
|
public void downloadInProgress() {
|
||||||
if(banner != null) {
|
if (banner != null) {
|
||||||
banner.updateBannerInProgress();
|
banner.updateBannerInProgress();
|
||||||
}
|
}
|
||||||
listAdapter.notifyDataSetChanged();
|
listAdapter.notifyDataSetChanged();
|
||||||
|
|
Loading…
Reference in a new issue