mirror of
https://github.com/TrianguloY/UrlChecker.git
synced 2024-09-19 20:02:16 +02:00
distinction from module data and module dialog, but keep in same file
This commit is contained in:
parent
d39e7c852a
commit
554544139a
@ -10,7 +10,7 @@ import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.trianguloy.urlchecker.R;
|
||||
import com.trianguloy.urlchecker.modules.ModuleData;
|
||||
import com.trianguloy.urlchecker.modules.AModuleData;
|
||||
import com.trianguloy.urlchecker.modules.ModuleManager;
|
||||
import com.trianguloy.urlchecker.utilities.GenericPref;
|
||||
|
||||
@ -32,16 +32,16 @@ public class ModulesActivity extends Activity {
|
||||
|
||||
private void initialize() {
|
||||
|
||||
initModule(ModuleData.topModule, false);
|
||||
initModule(ModuleManager.topModule, false);
|
||||
|
||||
for (ModuleData module : ModuleData.toggleableModules) {
|
||||
for (AModuleData module : ModuleManager.toggleableModules) {
|
||||
initModule(module, true);
|
||||
}
|
||||
|
||||
initModule(ModuleData.bottomModule, false);
|
||||
initModule(ModuleManager.bottomModule, false);
|
||||
}
|
||||
|
||||
private void initModule(ModuleData module, boolean enableable) {
|
||||
private void initModule(AModuleData module, boolean enableable) {
|
||||
// inflate
|
||||
View views = getLayoutInflater().inflate(R.layout.conf_module, list, false);
|
||||
list.addView(views); // separated to return the inflated view instead of the parent
|
||||
@ -63,8 +63,8 @@ public class ModulesActivity extends Activity {
|
||||
}
|
||||
|
||||
// configure info
|
||||
((TextView) views.findViewById(R.id.label)).setText(module.name);
|
||||
((TextView) views.findViewById(R.id.desc)).setText(module.description);
|
||||
((TextView) views.findViewById(R.id.label)).setText(module.getName());
|
||||
((TextView) views.findViewById(R.id.desc)).setText(module.getDescription());
|
||||
|
||||
// configure toggleable description
|
||||
final View details_cont = views.findViewById(R.id.details);
|
||||
|
@ -10,10 +10,10 @@ import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.trianguloy.urlchecker.BuildConfig;
|
||||
import com.trianguloy.urlchecker.modules.ModuleData;
|
||||
import com.trianguloy.urlchecker.modules.ModuleManager;
|
||||
import com.trianguloy.urlchecker.R;
|
||||
import com.trianguloy.urlchecker.modules.BaseModule;
|
||||
import com.trianguloy.urlchecker.modules.AModuleData;
|
||||
import com.trianguloy.urlchecker.modules.AModuleDialog;
|
||||
import com.trianguloy.urlchecker.modules.ModuleManager;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -37,7 +37,7 @@ public class MainDialog extends Activity {
|
||||
* @param url the new url
|
||||
* @param providerModule which module changed it (null if first change)
|
||||
*/
|
||||
public void setUrl(String url, BaseModule providerModule) {
|
||||
public void setUrl(String url, AModuleDialog providerModule) {
|
||||
if (onSettingUrl) {
|
||||
// a recursive call, invalid
|
||||
if (BuildConfig.DEBUG) {
|
||||
@ -70,7 +70,7 @@ public class MainDialog extends Activity {
|
||||
/**
|
||||
* All active modules
|
||||
*/
|
||||
private final List<BaseModule> modules = new ArrayList<>();
|
||||
private final List<AModuleDialog> modules = new ArrayList<>();
|
||||
|
||||
// the current url
|
||||
private String url;
|
||||
@ -100,14 +100,14 @@ public class MainDialog extends Activity {
|
||||
modules.clear();
|
||||
|
||||
// top module
|
||||
initializeModule(ModuleData.topModule);
|
||||
initializeModule(ModuleManager.topModule);
|
||||
|
||||
// middle modules
|
||||
final List<ModuleData> middleModules = ModuleManager.getMiddleModules(this);
|
||||
for (ModuleData module : middleModules) {
|
||||
final List<AModuleData> middleModules = ModuleManager.getEnabledMiddleModules(this);
|
||||
for (AModuleData module : middleModules) {
|
||||
|
||||
// set title
|
||||
String name = module.name;
|
||||
String name = module.getName();
|
||||
if (name != null) {
|
||||
final TextView title = new TextView(this);
|
||||
title.setText(name + ":");
|
||||
@ -119,7 +119,7 @@ public class MainDialog extends Activity {
|
||||
}
|
||||
|
||||
// bottom module
|
||||
initializeModule(ModuleData.bottomModule);
|
||||
initializeModule(ModuleManager.bottomModule);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -127,11 +127,11 @@ public class MainDialog extends Activity {
|
||||
*
|
||||
* @param moduleData which module to initialize
|
||||
*/
|
||||
private void initializeModule(ModuleData moduleData) {
|
||||
private void initializeModule(AModuleData moduleData) {
|
||||
try {
|
||||
// enabled, add
|
||||
BaseModule module = moduleData.dialogClass.getDeclaredConstructor(MainDialog.class).newInstance(this);
|
||||
View views = getLayoutInflater().inflate(module.getLayoutDialog(), ll_mods,false);
|
||||
AModuleDialog module = moduleData.getDialog(this);
|
||||
View views = getLayoutInflater().inflate(module.getLayoutDialog(), ll_mods, false);
|
||||
ll_mods.addView(views); // separated to return the inflated view instead of the parent
|
||||
module.onInitialize(views);
|
||||
modules.add(module);
|
||||
@ -167,8 +167,8 @@ public class MainDialog extends Activity {
|
||||
*
|
||||
* @param providerModule the module that provided the new url, won't be called (if null all are called)
|
||||
*/
|
||||
private void onChangedUrl(BaseModule providerModule) {
|
||||
for (BaseModule module : modules) {
|
||||
private void onChangedUrl(AModuleDialog providerModule) {
|
||||
for (AModuleDialog module : modules) {
|
||||
if (module != providerModule)
|
||||
module.onNewUrl(getUrl());
|
||||
}
|
||||
|
@ -0,0 +1,13 @@
|
||||
package com.trianguloy.urlchecker.modules;
|
||||
|
||||
import com.trianguloy.urlchecker.dialogs.MainDialog;
|
||||
|
||||
public abstract class AModuleData {
|
||||
public abstract String getId();
|
||||
|
||||
public abstract String getName();
|
||||
|
||||
public abstract String getDescription();
|
||||
|
||||
public abstract AModuleDialog getDialog(MainDialog dialog);
|
||||
}
|
@ -4,15 +4,11 @@ import android.app.Activity;
|
||||
import android.view.View;
|
||||
|
||||
import com.trianguloy.urlchecker.dialogs.MainDialog;
|
||||
import com.trianguloy.urlchecker.utilities.GenericConfiguration;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Base class for a module.
|
||||
*/
|
||||
public abstract class BaseModule {
|
||||
public abstract class AModuleDialog {
|
||||
|
||||
// ------------------- private data -------------------
|
||||
|
||||
@ -20,7 +16,7 @@ public abstract class BaseModule {
|
||||
|
||||
// ------------------- initialization -------------------
|
||||
|
||||
public BaseModule(MainDialog dialog) {
|
||||
public AModuleDialog(MainDialog dialog) {
|
||||
this.dialog = dialog;
|
||||
}
|
||||
|
||||
@ -32,9 +28,11 @@ public abstract class BaseModule {
|
||||
public abstract int getLayoutDialog();
|
||||
|
||||
/**
|
||||
* @return the layout resource of this module
|
||||
* Initializes this module from the given views (generated from {@link #getLayoutDialog()})
|
||||
*
|
||||
* @param views the inflated views
|
||||
*/
|
||||
public List<GenericConfiguration> getConfigurations(){return Collections.EMPTY_LIST;}
|
||||
public abstract void onInitialize(View views);
|
||||
|
||||
/**
|
||||
* Notification of a new url.
|
||||
@ -44,13 +42,6 @@ public abstract class BaseModule {
|
||||
*/
|
||||
public abstract void onNewUrl(String url);
|
||||
|
||||
/**
|
||||
* Initializes this module from the given views (generated from {@link #getLayoutDialog()})
|
||||
*
|
||||
* @param views the inflated views
|
||||
*/
|
||||
public abstract void onInitialize(View views);
|
||||
|
||||
// ------------------- utilities -------------------
|
||||
|
||||
/**
|
@ -1,70 +0,0 @@
|
||||
package com.trianguloy.urlchecker.modules;
|
||||
|
||||
import com.trianguloy.urlchecker.modules.list.AsciiModule;
|
||||
import com.trianguloy.urlchecker.modules.list.OpenModule;
|
||||
import com.trianguloy.urlchecker.modules.list.RedirectModule;
|
||||
import com.trianguloy.urlchecker.modules.list.TextInputModule;
|
||||
import com.trianguloy.urlchecker.modules.list.VirusTotalModule;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* If instantiated contains the information about a module.
|
||||
* Statically contains the available modules
|
||||
*/
|
||||
public class ModuleData {
|
||||
|
||||
// ------------------- configuration -------------------
|
||||
|
||||
public final static List<ModuleData> toggleableModules = new ArrayList<>();
|
||||
public final static ModuleData bottomModule = new ModuleData(OpenModule.class, "open", "Open & Share", "Allows to open or share the current url.");
|
||||
public final static ModuleData topModule = new ModuleData(TextInputModule.class, "text", "Input text", "Allows to edit the url manually");
|
||||
|
||||
// ------------------- initialization -------------------
|
||||
|
||||
static {
|
||||
// TODO: auto-load with reflection?
|
||||
add(RedirectModule.class, "redirect", "Redirection","Allows to check for redirection");
|
||||
add(VirusTotalModule.class, "virustotal", "VirusTotal","Allows to check the url in VirusTotal (an api key is needed)");
|
||||
add(AsciiModule.class, "ascii", "Ascii checker", "Checks for non-ascii characters");
|
||||
}
|
||||
|
||||
public static void add(Class<? extends BaseModule> dialogClass, String id, String name, String description) {
|
||||
toggleableModules.add(new ModuleData(dialogClass, id, name, description));
|
||||
}
|
||||
|
||||
// ------------------- instantiated struct -------------------
|
||||
|
||||
/**
|
||||
* The module class
|
||||
*/
|
||||
public final Class<? extends BaseModule> dialogClass;
|
||||
|
||||
/**
|
||||
* Identifier of the module
|
||||
*/
|
||||
public final String id;
|
||||
|
||||
/**
|
||||
* Visible name of this module
|
||||
*/
|
||||
public final String name;
|
||||
|
||||
public final String description;
|
||||
|
||||
/**
|
||||
* Full constructor for a module
|
||||
*
|
||||
* @param dialogClass the class
|
||||
* @param id identifier
|
||||
* @param name user name
|
||||
* @param description
|
||||
*/
|
||||
public ModuleData(Class<? extends BaseModule> dialogClass, String id, String name, String description) {
|
||||
this.dialogClass = dialogClass;
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -2,6 +2,11 @@ package com.trianguloy.urlchecker.modules;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.trianguloy.urlchecker.modules.list.AsciiModule;
|
||||
import com.trianguloy.urlchecker.modules.list.OpenModule;
|
||||
import com.trianguloy.urlchecker.modules.list.RedirectModule;
|
||||
import com.trianguloy.urlchecker.modules.list.TextInputModule;
|
||||
import com.trianguloy.urlchecker.modules.list.VirusTotalModule;
|
||||
import com.trianguloy.urlchecker.utilities.GenericPref;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -12,6 +17,18 @@ import java.util.List;
|
||||
*/
|
||||
public class ModuleManager {
|
||||
|
||||
public final static AModuleData topModule = new TextInputModule();
|
||||
public final static AModuleData bottomModule = new OpenModule();
|
||||
public final static List<AModuleData> toggleableModules = new ArrayList<>();
|
||||
|
||||
static {
|
||||
// TODO: auto-load with reflection?
|
||||
toggleableModules.add(new RedirectModule());
|
||||
toggleableModules.add(new VirusTotalModule());
|
||||
toggleableModules.add(new AsciiModule());
|
||||
}
|
||||
|
||||
|
||||
// ------------------- class -------------------
|
||||
|
||||
private static final String PREF_SUFFIX = "_en";
|
||||
@ -20,8 +37,8 @@ public class ModuleManager {
|
||||
*/
|
||||
private static final boolean ENABLED_DEFAULT = true;
|
||||
|
||||
public static GenericPref.Bool getEnabledPrefOfModule(ModuleData module, Context cntx) {
|
||||
final GenericPref.Bool enabledPref = new GenericPref.Bool(module.id + PREF_SUFFIX, ENABLED_DEFAULT);
|
||||
public static GenericPref.Bool getEnabledPrefOfModule(AModuleData module, Context cntx) {
|
||||
final GenericPref.Bool enabledPref = new GenericPref.Bool(module.getId() + PREF_SUFFIX, ENABLED_DEFAULT);
|
||||
enabledPref.init(cntx);
|
||||
return enabledPref;
|
||||
}
|
||||
@ -32,11 +49,11 @@ public class ModuleManager {
|
||||
* @param cntx base context (for the sharedpref)
|
||||
* @return the list, may be empty
|
||||
*/
|
||||
public static List<ModuleData> getMiddleModules(Context cntx) {
|
||||
List<ModuleData> enabled = new ArrayList<>();
|
||||
public static List<AModuleData> getEnabledMiddleModules(Context cntx) {
|
||||
List<AModuleData> enabled = new ArrayList<>();
|
||||
|
||||
// check each module
|
||||
for (ModuleData module : ModuleData.toggleableModules) {
|
||||
for (AModuleData module : toggleableModules) {
|
||||
if (getEnabledPrefOfModule(module, cntx).get()) {
|
||||
try {
|
||||
// enabled, add
|
||||
|
@ -6,7 +6,8 @@ import android.widget.TextView;
|
||||
|
||||
import com.trianguloy.urlchecker.R;
|
||||
import com.trianguloy.urlchecker.dialogs.MainDialog;
|
||||
import com.trianguloy.urlchecker.modules.BaseModule;
|
||||
import com.trianguloy.urlchecker.modules.AModuleData;
|
||||
import com.trianguloy.urlchecker.modules.AModuleDialog;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -14,11 +15,34 @@ import java.util.List;
|
||||
/**
|
||||
* This module checks for non-ascii characters in the url
|
||||
*/
|
||||
public class AsciiModule extends BaseModule {
|
||||
public class AsciiModule extends AModuleData {
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "ascii";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Ascii checker";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Checks for non-ascii characters";
|
||||
}
|
||||
|
||||
@Override
|
||||
public AModuleDialog getDialog(MainDialog dialog) {
|
||||
return new AsciiDialog(dialog);
|
||||
}
|
||||
}
|
||||
|
||||
class AsciiDialog extends AModuleDialog {
|
||||
|
||||
private TextView txt_ascii;
|
||||
|
||||
public AsciiModule(MainDialog dialog) {
|
||||
public AsciiDialog(MainDialog dialog) {
|
||||
super(dialog);
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,8 @@ import android.widget.PopupMenu;
|
||||
|
||||
import com.trianguloy.urlchecker.R;
|
||||
import com.trianguloy.urlchecker.dialogs.MainDialog;
|
||||
import com.trianguloy.urlchecker.modules.BaseModule;
|
||||
import com.trianguloy.urlchecker.modules.AModuleData;
|
||||
import com.trianguloy.urlchecker.modules.AModuleDialog;
|
||||
import com.trianguloy.urlchecker.utilities.LastOpened;
|
||||
import com.trianguloy.urlchecker.utilities.PackageUtilities;
|
||||
import com.trianguloy.urlchecker.utilities.UrlUtilities;
|
||||
@ -20,7 +21,30 @@ import java.util.List;
|
||||
/**
|
||||
* This module contains an open and share buttons
|
||||
*/
|
||||
public class OpenModule extends BaseModule implements View.OnClickListener, PopupMenu.OnMenuItemClickListener {
|
||||
public class OpenModule extends AModuleData {
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "open";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Open & Share";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Allows to open or share the current url.";
|
||||
}
|
||||
|
||||
@Override
|
||||
public AModuleDialog getDialog(MainDialog dialog) {
|
||||
return new OpenDialog(dialog);
|
||||
}
|
||||
}
|
||||
|
||||
class OpenDialog extends AModuleDialog implements View.OnClickListener, PopupMenu.OnMenuItemClickListener {
|
||||
|
||||
private LastOpened lastOpened;
|
||||
|
||||
@ -30,7 +54,7 @@ public class OpenModule extends BaseModule implements View.OnClickListener, Popu
|
||||
private Menu menu;
|
||||
private PopupMenu popup;
|
||||
|
||||
public OpenModule(MainDialog dialog) {
|
||||
public OpenDialog(MainDialog dialog) {
|
||||
super(dialog);
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,8 @@ import android.widget.Toast;
|
||||
|
||||
import com.trianguloy.urlchecker.R;
|
||||
import com.trianguloy.urlchecker.dialogs.MainDialog;
|
||||
import com.trianguloy.urlchecker.modules.BaseModule;
|
||||
import com.trianguloy.urlchecker.modules.AModuleData;
|
||||
import com.trianguloy.urlchecker.modules.AModuleDialog;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.HttpURLConnection;
|
||||
@ -17,7 +18,30 @@ import java.util.Stack;
|
||||
/**
|
||||
* A module that allows checking for redirection by using a local browser
|
||||
*/
|
||||
public class RedirectModule extends BaseModule implements View.OnClickListener {
|
||||
public class RedirectModule extends AModuleData {
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "redirect";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Redirection";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Allows to check for redirection";
|
||||
}
|
||||
|
||||
@Override
|
||||
public AModuleDialog getDialog(MainDialog dialog) {
|
||||
return new RedirectDialog(dialog);
|
||||
}
|
||||
}
|
||||
|
||||
class RedirectDialog extends AModuleDialog implements View.OnClickListener {
|
||||
|
||||
private Button check;
|
||||
private Button undo;
|
||||
@ -27,7 +51,7 @@ public class RedirectModule extends BaseModule implements View.OnClickListener {
|
||||
*/
|
||||
private Stack<String> urls = new Stack<>();
|
||||
|
||||
public RedirectModule(MainDialog dialog) {
|
||||
public RedirectDialog(MainDialog dialog) {
|
||||
super(dialog);
|
||||
}
|
||||
|
||||
|
@ -7,17 +7,41 @@ import android.widget.EditText;
|
||||
|
||||
import com.trianguloy.urlchecker.R;
|
||||
import com.trianguloy.urlchecker.dialogs.MainDialog;
|
||||
import com.trianguloy.urlchecker.modules.BaseModule;
|
||||
import com.trianguloy.urlchecker.modules.AModuleData;
|
||||
import com.trianguloy.urlchecker.modules.AModuleDialog;
|
||||
|
||||
/**
|
||||
* This module shows the current url and allows manual editing
|
||||
*/
|
||||
public class TextInputModule extends BaseModule implements TextWatcher {
|
||||
public class TextInputModule extends AModuleData {
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "text";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Input text";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Allows to edit the url manually";
|
||||
}
|
||||
|
||||
@Override
|
||||
public AModuleDialog getDialog(MainDialog dialog) {
|
||||
return new TextInputDialog(dialog);
|
||||
}
|
||||
}
|
||||
|
||||
class TextInputDialog extends AModuleDialog implements TextWatcher {
|
||||
|
||||
private EditText edtxt_url;
|
||||
private boolean editByCode = false;
|
||||
|
||||
public TextInputModule(MainDialog dialog) {
|
||||
public TextInputDialog(MainDialog dialog) {
|
||||
super(dialog);
|
||||
}
|
||||
|
||||
|
@ -8,19 +8,40 @@ import android.widget.TextView;
|
||||
|
||||
import com.trianguloy.urlchecker.R;
|
||||
import com.trianguloy.urlchecker.dialogs.MainDialog;
|
||||
import com.trianguloy.urlchecker.modules.BaseModule;
|
||||
import com.trianguloy.urlchecker.utilities.GenericConfiguration;
|
||||
import com.trianguloy.urlchecker.modules.AModuleData;
|
||||
import com.trianguloy.urlchecker.modules.AModuleDialog;
|
||||
import com.trianguloy.urlchecker.utilities.GenericPref;
|
||||
import com.trianguloy.urlchecker.utilities.UrlUtilities;
|
||||
import com.trianguloy.urlchecker.utilities.VirusTotalUtility;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* This module uses the VirusTotal api (https://developers.virustotal.com/reference) for url reports
|
||||
*/
|
||||
public class VirusTotalModule extends BaseModule implements View.OnClickListener, View.OnLongClickListener {
|
||||
public class VirusTotalModule extends AModuleData {
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "virustotal";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "VirusTotal";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Allows to check the url in VirusTotal (an api key is needed)";
|
||||
}
|
||||
|
||||
@Override
|
||||
public AModuleDialog getDialog(MainDialog dialog) {
|
||||
return new VirusTotalDialog(dialog);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class VirusTotalDialog extends AModuleDialog implements View.OnClickListener, View.OnLongClickListener {
|
||||
|
||||
private static final int RETRY_TIMEOUT = 5000;
|
||||
private ImageButton btn_scan;
|
||||
@ -29,9 +50,9 @@ public class VirusTotalModule extends BaseModule implements View.OnClickListener
|
||||
private boolean scanning = false;
|
||||
private VirusTotalUtility.InternalReponse result = null;
|
||||
|
||||
private GenericPref.Str api_key = new GenericPref.Str("api_key","**REMOVED**");
|
||||
private GenericPref.Str api_key = new GenericPref.Str("api_key", "**REMOVED**");
|
||||
|
||||
public VirusTotalModule(MainDialog dialog) {
|
||||
public VirusTotalDialog(MainDialog dialog) {
|
||||
super(dialog);
|
||||
api_key.init(dialog);
|
||||
}
|
||||
@ -41,13 +62,13 @@ public class VirusTotalModule extends BaseModule implements View.OnClickListener
|
||||
return R.layout.module_virustotal;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GenericConfiguration> getConfigurations() {
|
||||
final ArrayList<GenericConfiguration> list = new ArrayList<GenericConfiguration>();
|
||||
list.add(new GenericConfiguration.StrPrefConfiguration("Api key", api_key));
|
||||
|
||||
return list;
|
||||
}
|
||||
// @Override
|
||||
// public List<GenericConfiguration> getConfigurations() {
|
||||
// final ArrayList<GenericConfiguration> list = new ArrayList<GenericConfiguration>();
|
||||
// list.add(new GenericConfiguration.StrPrefConfiguration("Api key", api_key));
|
||||
//
|
||||
// return list;
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void onInitialize(View views) {
|
||||
|
Loading…
Reference in New Issue
Block a user