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

Unified Diff: mobile/android/thirdparty/org/adblockplus/browser/StartPane.java

Issue 29341330: Issue 3135 - Show the first run slide about the beta community to users that installed via Play and… (Closed)
Patch Set: Created May 12, 2016, 3:21 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mobile/android/thirdparty/org/adblockplus/browser/StartPane.java
===================================================================
--- a/mobile/android/thirdparty/org/adblockplus/browser/StartPane.java
+++ b/mobile/android/thirdparty/org/adblockplus/browser/StartPane.java
@@ -21,16 +21,17 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.mozilla.gecko.AppConstants;
import org.mozilla.gecko.R;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnKeyListener;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
@@ -45,38 +46,33 @@ import android.view.Window;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public class StartPane extends DialogFragment implements OnClickListener, OnKeyListener
{
private static final String TAG = "AdblockBrowser.StartPane";
private int currentStep = 0;
- // For now we disable the beta community page,
- // see https://issues.adblockplus.org/ticket/2937 for a follow-up issue
- // for detecting whether we are on the beta channel or not
- private static final boolean SKIP_BETA_COMMUNITY_PAGE = true;
private static final HashMap<String, Integer> FONTS = new HashMap<String, Integer>();
private HashMap<String, Typeface> loadedFonts = new HashMap<String, Typeface>();
private static final int[] BETA_RESOURCE_LIST =
{
R.layout.abb_start_pane_step_1, R.string.abb_frp_button_1,
R.layout.abb_start_pane_step_2, R.string.abb_frp_button_2,
R.layout.abb_start_pane_step_3, R.string.abb_frp_button_3
};
private static final int[] RELEASE_RESOURCE_LIST =
{
R.layout.abb_start_pane_step_1, R.string.abb_frp_button_2,
R.layout.abb_start_pane_step_2, R.string.abb_frp_button_3
};
- private static final int[] PAGES_RESOURCE_LIST = SKIP_BETA_COMMUNITY_PAGE ?
- RELEASE_RESOURCE_LIST : BETA_RESOURCE_LIST;
+ private int[] pagesResourceList;
static
{
FONTS.put("ttf_opensans_light", R.raw.opensans_light);
FONTS.put("ttf_opensans_semibold", R.raw.opensans_semibold);
}
static Typeface typefaceFromResource(final Context context, final int resId)
@@ -119,20 +115,28 @@ public class StartPane extends DialogFra
final Typeface t = typefaceFromResource(context, e.getValue().intValue());
if (t != null)
{
this.loadedFonts.put(e.getKey(), t);
}
}
}
+ private void loadPagesResources()
+ {
+ final boolean useBetaResourceList = !AppConstants.ABB_RELEASE_BUILD && BrowserAppUtils.wasInstalledFromPlayStore(getContext());
+ this.pagesResourceList = useBetaResourceList ? BETA_RESOURCE_LIST : RELEASE_RESOURCE_LIST;
+ }
+
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
+
+ this.loadPagesResources();
this.setStyle(DialogFragment.STYLE_NO_TITLE, 0);
this.loadTypefaces();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle)
{
final View view = inflater.inflate(R.layout.abb_start_pane, container, false);
@@ -153,17 +157,17 @@ public class StartPane extends DialogFra
window.setBackgroundDrawable(null);
window.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
}
@Override
public void onClick(View v)
{
final int nextStep = this.currentStep + 1;
- if (nextStep * 2 < PAGES_RESOURCE_LIST.length)
+ if (nextStep * 2 < this.pagesResourceList.length)
{
this.currentStep = nextStep;
this.updateContents(this.getView());
}
else
{
this.dismissAllowingStateLoss();
}
@@ -207,18 +211,18 @@ public class StartPane extends DialogFra
private void updateContents(final View view)
{
final LinearLayout ll = (LinearLayout) view.findViewById(R.id.abb_main_content);
ll.removeAllViews();
final LayoutInflater inflater = (LayoutInflater) this.getActivity()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- inflater.inflate(PAGES_RESOURCE_LIST[this.currentStep * 2], ll, true);
- this.setButtonText(view, R.id.abb_frp_button, PAGES_RESOURCE_LIST[this.currentStep * 2 + 1]);
+ inflater.inflate(this.pagesResourceList[this.currentStep * 2], ll, true);
+ this.setButtonText(view, R.id.abb_frp_button, this.pagesResourceList[this.currentStep * 2 + 1]);
final List<View> views = listViews(view);
for (View v : views)
{
final Object tag = v.getTag();
if (tag != null)
{
Typeface t = this.loadedFonts.get(tag.toString());

Powered by Google App Engine
This is Rietveld