From 1112dde4d8252169e2663f4eb80708716b55da61 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Tue, 19 Aug 2014 14:30:51 +0200 Subject: [PATCH] Implementation of import button and FileBrowser --- app/file.svg | 651 ++++++++++++++++++ app/folder.svg | 455 ++++++++++++ app/src/main/assets/www/about.html | 1 + .../ericsson/uecontrol/gui/MainActivity.java | 17 +- .../gui/fragments/FileBrowserDialog.java | 233 +++++++ app/src/main/res/drawable-hdpi/file.png | Bin 0 -> 1792 bytes app/src/main/res/drawable-hdpi/folder.png | Bin 0 -> 2079 bytes app/src/main/res/drawable-mdpi/file.png | Bin 0 -> 1174 bytes app/src/main/res/drawable-mdpi/folder.png | Bin 0 -> 1321 bytes app/src/main/res/drawable-xhdpi/file.png | Bin 0 -> 2260 bytes app/src/main/res/drawable-xhdpi/folder.png | Bin 0 -> 2799 bytes app/src/main/res/drawable-xxhdpi/file.png | Bin 0 -> 3367 bytes app/src/main/res/drawable-xxhdpi/folder.png | Bin 0 -> 4086 bytes app/src/main/res/menu/main.xml | 2 +- 14 files changed, 1356 insertions(+), 3 deletions(-) create mode 100644 app/file.svg create mode 100644 app/folder.svg create mode 100755 app/src/main/java/com/ericsson/uecontrol/gui/fragments/FileBrowserDialog.java create mode 100644 app/src/main/res/drawable-hdpi/file.png create mode 100644 app/src/main/res/drawable-hdpi/folder.png create mode 100644 app/src/main/res/drawable-mdpi/file.png create mode 100644 app/src/main/res/drawable-mdpi/folder.png create mode 100644 app/src/main/res/drawable-xhdpi/file.png create mode 100644 app/src/main/res/drawable-xhdpi/folder.png create mode 100644 app/src/main/res/drawable-xxhdpi/file.png create mode 100644 app/src/main/res/drawable-xxhdpi/folder.png diff --git a/app/file.svg b/app/file.svg new file mode 100644 index 0000000..c6288f3 --- /dev/null +++ b/app/file.svg @@ -0,0 +1,651 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Generic Text + + + text + plaintext + regular + document + + + + + + Jakub Steiner + + + http://jimmac.musichall.cz + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/folder.svg b/app/folder.svg new file mode 100644 index 0000000..b5b925b --- /dev/null +++ b/app/folder.svg @@ -0,0 +1,455 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Folder Icon + + + + Jakub Steiner + + + + http://jimmac.musichall.cz + + + folder + directory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/assets/www/about.html b/app/src/main/assets/www/about.html index 640193a..e528451 100755 --- a/app/src/main/assets/www/about.html +++ b/app/src/main/assets/www/about.html @@ -14,6 +14,7 @@
  • Android-logging-log4j (https://code.google.com/p/android-logging-log4j/)
  • Log4j (http://logging.apache.org/log4j)
  • dom4J (http://dom4j.sourceforge.net/)
  • +
  • Tango Desktop Project(http://tango.freedesktop.org/)
  • \ No newline at end of file diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java b/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java index 6d9c4c9..16e6cee 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java @@ -20,6 +20,7 @@ import com.ericsson.uecontrol.core.behaviour.UeBehaviourSleep; import com.ericsson.uecontrol.core.behaviour.UeBehaviourSurfing; import com.ericsson.uecontrol.gui.fragments.BehaviourListFragment; import com.ericsson.uecontrol.gui.fragments.FileBrowserDialog; +import com.ericsson.uecontrol.gui.fragments.FileBrowserDialog.OnFileSelectionListener; import com.ericsson.uecontrol.gui.fragments.StatusFragment; import com.ericsson.uecontrol.gui.util.CSVWriter; @@ -31,7 +32,8 @@ import java.io.File; import de.mindpipe.android.logging.log4j.LogConfigurator; -public class MainActivity extends FragmentActivity implements OnSharedPreferenceChangeListener{ +public class MainActivity extends FragmentActivity implements OnSharedPreferenceChangeListener, + OnFileSelectionListener { private static final Logger log = Logger.getLogger(MainActivity.class); public static final String DEFAULT_LOG_PATH = "/sdcard/uecontrol/"; public static final String BEHAVIOUR_SAVE_FILE = "behaviour_list.json"; @@ -203,7 +205,8 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference return true; } else if (id == R.id.action_import) { - //TODO: + FileBrowserDialog browser = FileBrowserDialog.newInstance("/sdcard"); + browser.show(this.getFragmentManager(), "import"); } else if (id == R.id.action_export) { //TODO: @@ -214,6 +217,16 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference } return super.onOptionsItemSelected(item); } + public void onFileSelection(String tag, File file){ + try { + if(tag.equals("import")) { + currentExecutor.read(file.getAbsolutePath()); + } + } catch (Exception e) { + log.error("Unable to import from: "+file.getAbsolutePath(), e); + Toast.makeText(this, "Unable to import from file", Toast.LENGTH_SHORT).show(); + } + } private void updateExecutionState(){ diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/FileBrowserDialog.java b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/FileBrowserDialog.java new file mode 100755 index 0000000..7d9a31a --- /dev/null +++ b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/FileBrowserDialog.java @@ -0,0 +1,233 @@ +package com.ericsson.uecontrol.gui.fragments; + + +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.DialogFragment; +import android.content.Context; +import android.content.DialogInterface; +import android.graphics.drawable.Drawable; +import android.os.Bundle; +import android.view.ContextThemeWrapper; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AbsListView; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.ArrayAdapter; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; + +import com.ericsson.uecontrol.R; + +import org.apache.log4j.Logger; + + +/** Allow user to select destination directory and to enter filename. + * + * */ +public class FileBrowserDialog extends DialogFragment + implements OnItemClickListener, DialogInterface.OnKeyListener { + public static final Logger log = Logger.getLogger(FileBrowserDialog.class); + public static final int FOLDER_ICON = R.drawable.folder; + public static final int FILE_ICON = R.drawable.file; + + public static interface OnFileSelectionListener{ + public void onFileSelection(String tag, File file); + } + + private File root; + private File path; + private File selection; + private ListView fileListView; + private TextView pathView; + private OnFileSelectionListener callback; + + + + public static FileBrowserDialog newInstance(String root) { + FileBrowserDialog browser = new FileBrowserDialog(); + Bundle bundle = new Bundle(); + bundle.putString("root", root); + + browser.setArguments(bundle); + return browser; + } + + + @Override + public void onAttach(Activity activity) { + if(!(activity instanceof OnFileSelectionListener)) + throw new ClassCastException(activity.toString() + " must implement OnFileSelectionListener"); + + Bundle bundle = this.getArguments(); + root = new File(bundle.getString("root")); + callback = (OnFileSelectionListener) activity; + + super.onAttach(activity); + } + + /** Build the popup. + * */ + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + // Fix for CopyPaste bar not visible + final Context context = new ContextThemeWrapper(getActivity(), android.R.style.Theme_Holo_Light); + + LinearLayout rootView = new LinearLayout(context); + rootView.setOrientation(LinearLayout.VERTICAL); + rootView.setLayoutParams(new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.MATCH_PARENT)); + int padding = getResources().getDimensionPixelSize(R.dimen.standard_padding); + rootView.setPadding(padding, padding, padding, padding); + + + pathView = new TextView(context); + pathView.setText(root.getAbsolutePath()); + pathView.setLayoutParams(new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.WRAP_CONTENT)); + rootView.addView(pathView); + + fileListView = new ListView(context); + fileListView.setLayoutParams(new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.WRAP_CONTENT)); + fileListView.setOnItemClickListener(this); + fileListView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE); + + updateFileList(root); + rootView.addView(fileListView); + + /*EditText fileNameView = new EditText(context); + fileNameView.setLayoutParams(new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.WRAP_CONTENT)); + fileNameView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); + rootView.addView(fileNameView); + */ + + // Create dialog + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle(R.string.configure_behaviour); + builder.setOnKeyListener(this); + builder.setPositiveButton(R.string.action_select, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + if(selection != null) + callback.onFileSelection(FileBrowserDialog.this.getTag(), selection); + else + Toast.makeText(context, "No File Selected", Toast.LENGTH_SHORT).show(); + } + }); + builder.setNegativeButton(R.string.action_cancel, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + FileBrowserDialog.this.getDialog().cancel(); + } + }); + builder.setView(rootView); + + AlertDialog dialog = builder.create(); + dialog.show(); + dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false); + return dialog; + } + + + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + File file = (File)fileListView.getAdapter().getItem(position); + if(file.isDirectory()){ + updateFileList(file); + } + else{ + log.debug("File selected: "+ file.getAbsolutePath()); + ((AlertDialog)this.getDialog()).getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true); + selection = file; + ((FileListAdapter)fileListView.getAdapter()).notifyDataSetChanged(); + } + } + + + @Override + public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { + if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) { + if(root.equals(path)) + dialog.dismiss(); + else + updateFileList(path.getParentFile()); + return true; + } + return false; + } + + + private void updateFileList(File dir){ + if(!dir.isDirectory()) + dir = dir.getParentFile(); + if(dir.compareTo(root) <= 0) + dir = root; + + log.debug("Browsing folder: "+ dir.getAbsolutePath()); + ArrayList folders = new ArrayList(); + ArrayList files = new ArrayList(); + for(File file : dir.listFiles()){ + if(file.isDirectory()) + folders.add(file); + else + files.add(file); + } + Collections.sort(folders); + Collections.sort(files); + folders.addAll(files); + + path = dir; + pathView.setText(dir.getAbsolutePath()); + fileListView.setAdapter(new FileListAdapter(this.getActivity(), folders)); + + // Reset selection + selection = null; + if(this.getDialog() != null) + ((AlertDialog)this.getDialog()).getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false); + } + + protected class FileListAdapter extends ArrayAdapter{ + private List fileList; + + public FileListAdapter(Context context, List fileList) { + super(context, android.R.layout.simple_list_item_1, fileList); + this.fileList = fileList; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + TextView textview = (TextView) super.getView( position, convertView, parent ); + textview.setPadding(5, 10, 10, 10); + + File file = fileList.get(position); + textview.setText(file.getName()); + + Drawable icon = getActivity().getResources().getDrawable( + ( file.isDirectory() ? FOLDER_ICON : FILE_ICON ) + ); + textview.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null ); + + // Is selected? + if (position == fileList.indexOf(selection)) + textview.setBackgroundResource(android.R.color.darker_gray); + else + textview.setBackgroundResource(android.R.color.transparent); + + return textview; + } + } +} diff --git a/app/src/main/res/drawable-hdpi/file.png b/app/src/main/res/drawable-hdpi/file.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa1c3c02d88b471c79b7001074df061664d7d9d GIT binary patch literal 1792 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 JPDHLkV1m*l&|?4q literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/file.png b/app/src/main/res/drawable-mdpi/file.png new file mode 100644 index 0000000000000000000000000000000000000000..819a09e3f28880bfc8fcd6bf767fbff9735987fc GIT binary patch literal 1174 zcmV;H1Zn$;P)Mh5=KJ?A0000XbVXQnQ*U*0V`TtnbaZe!FE46oZEay=E^T#l zX=7+%Y-}!LdTD0kUH||9NpwY6bVF}&d2(rIXmkKjbz*F3V<1FtZDDC{AZT=Sa5^t9 zV{&C-bZK^FV{dJ3Z*FrgZ*pfZY-wXlIV15-&v zK~z|U&6hiJ+b|G@{}msiWJuzS?au0Q03RY{+LXCT?%+usyK&)kX?+R1be-1Y85a?4 zaroR677!2uKvFJ}o#99XN$iJz9|Vb+@jqGUx^Q)M^`U8+Fpgt2R+eSww)PwsHojOakfy2kxj{fC zT#_Vv`DBAPEso<}b(}!@q-MBgvl-g99UZnPiaKMi{$~Y}3fP=xS*8-)2Vj~ILWRs{ zR-mS7_MGTSO(qj7h!1KqnY=G#y6GWXtyX(^H6*#iFnoW=o}Qj?a&ppf{QCN8RnT`X zo8fdiRpX<8WWP8)Jw+5nY7!zsRaK~}${H$PNRlKuTp_7I5CmwN20;+0$F$l<1Nd6KL!Z1`ox=MPU4S{l*H>qtVRj};<`hfIeIH<}tn+=xB zWyjI;^K<9bVS>4Ugb-LP7S4rwfh7HOI_Pr9uMeG_ojJp03!j;DeKs)% zh-ksgq literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/folder.png b/app/src/main/res/drawable-mdpi/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..b5760df723a580fad350e5682c0a19069e44e064 GIT binary patch literal 1321 zcmV+^1=jkBP)o%Ze?=j`}Z#Z001F$MObuGZ*_8GWdLY&bZ|N^FKTIRZDC_BZFO^L zV`yP)Y%XJZX=dYI0000b7gZcaCKsAX=7w>ZDDC{FImI>$^ZZZ=Sf6C zR9J=Wm_ctFMHI(>Z`WR@DwP}s(F%dm144)c7ZjCGz&EIb1m}tyQZGIC){0|Kd;t(W z!hvr95~2bwL~Ya7X<~alGw;pg;5b^xPMlI#?SUtaXJ_}V-*5hJc4l_P-FcC$ zc-{bq?SG&});fIR>eZ_+4F-cZPI7Zm6u)1)cJ1*q1!}cg-)?MdyzcI}J2_{X1HXB^ zwYAm1a^=eV*RNmSd}cu1Znt~x+_~=d_BLiV1(kC?ICgi|*VntfUhfm&<7WmGLdb)` zfL^bMnUQlosGG&zNh#s(?=1^vE>KD-t12-@%xtPO)p2(oK72@3Rj*yXeEDY}E{L_4 zQu^q|jT>7}1QcUb01;tQH%k-9-D$VmYiG}%U0YpUrPJvg_!UJ#S(bBh!xNw!Z8E2^(k^+q zd&+X@{pRI)KstHKf(m6(ke9h5*#E0&nc*k~@CVJyGizB&$yAjP0#13Td&{wqGNlOp zI_W|nGYhJUh|uY@NtTxiqvk}-v|9!JVKf*{0nMb$%toq;yVI#ERF{{okTOxn9c-5c zb%^PQ&n~5=&x}Gj=Q_qn9U`4h8_iFzkUP}T4qyPPmQV*99rm54P_3#26;?WJ;!`N( z4#}LPdFH_=L>P`zSO}DJ9;zz2SfSIYh-!yjrUJS%o+x2|vV`pH?+*OPxhuO9qAmtf z)jFj_t-|T5GbOV-Savi!md64AtJOgfkw*)G%xsWSVq_()szS|CbCPA$mN&qMBgOH% zCjlC&DpqtsgxxyvB=h2NOGoo`zmB;1%vNMx$_A>67Ng_)APMKGV~u}{UCAM{8R zZvgF$!f^YxiAdMocV>V@qy$!CjBXkCvLnkJ#8X@jk9T&5_ka23FJMJPN_V#@Aa^$r z(R=sqegD&g?p{3YXKrt9`rMhs;piD=+GO%8fa6)(J?uuw4Aj6L&~x{L^-Sh{{n!WV02RxB-Oh~PP(l;rSfJ-=FWkq5 f|A7|S3kUQsqPyN#RDkY`00000NkvXXu0mjfS1MKT literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/file.png b/app/src/main/res/drawable-xhdpi/file.png new file mode 100644 index 0000000000000000000000000000000000000000..861d5518f33d146f4d3a5ef1c26239f579d6c3bc GIT binary patch literal 2260 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/folder.png b/app/src/main/res/drawable-xhdpi/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..ff958dec97a7d905ef072d1b6e8d409dda82f2db GIT binary patch literal 2799 zcmZ`*c{J4R7yt5#K}3dxvZP2D6ec1gQzNpEwRbFIFk_i9GuE*$HA>kk`;y%tNfJXU zLWtxw%D$vQA^Xm6dVjxvf6qDhx#vEg&*$9xoO91TH_puD1|N?Y4*&psh6n=-mPhSh5!exQ_R7#SoTaA{+i8U&9lEh*)V&XZ z7#|Xb1R?yZaQ#;Rv1>W#Wc|C+&;Vu?n6;3p6EAy1xIKJ8N9Uq;4TUa334rSH$0HQQ z5m{2l5gk%zhyVh*D)^1~y(8`xFv%?#!GUn+j*9@|B2qw#Mj%C3ZvK;KS1-vi`hMEn z+~Q7PLS6~e&E372(!AK_a$r$Lr2*&%b)0(H+7}~8sLs9o-oL*`BmJ(%{N5dO4A*Ju@Q2tJ_oRev&!mP| z&>)v^-DySJb1wwg-=ZYidmDG=%O%w*qj#&$iL7OpWqvHDrEVCoFiqS zHULtVz_bwJRj8;f#CA?jN;8JIi0MwPX-wZU-J z!KjR*nou9}ffsnQq#&dk&zjv z`%bqdQTL{!cGf3H=>g%CpNvYv*qw}Sm>noGU%q2CtIs2b3Mj_>cq)Gf#SzMsz11HW9-bQ=9Ua?3n^Vy~mZ#vzmVN{ipWdA^w%f(!8viky zG=!_2C2NuCqug2AyE?iz>GAZg!e*LrgKnrUr1{skW2mV>yCb-r#%|-z>&qfRo~w6z z!wyq(6+((D~tYyBAg%Oq%{2;+UY+p-U6vHK_ndezu=UvBrfW2|M9GE_{-JFEuTXO*iFolw*^C&r9c^avbRz z69WfXqb4q3#6|Hq)%#5OjCPlEy`&e4XS&q%K@vYgfre3$*p&N0t9SFH?y-fKRUE4} zC+YH947{gEBCjd-lJr5pu*WV&pyZrwzn@@4c0E#XwMI-)M|NmiArbnZda5W>A}GgH z{{f6~&QK;9`hL5?+WJ~OZ>fS|SEBHAse$RkTC1R)PZ#eAptLk3(WlO+YVd;eg9fj4y6D^30Zy<%!lx9&3ogwBz(Aa+D)NZA z?K+G!KrARHY*??iHsOv}N@d68hvo+2>TdQxQ zx|W5T)pO$!=@Y{yBIft=7tgNm+^Q=jd1j7Z#C{xhWkmVWg>eMgUx$fn(9a$7GIDp{>?miL3BG}o;7G`=PMx| zV#ZmZUk}n_3|)DM23P~m!NH->PEta)Qgm0qS_LV9G=LS3r18=^lApdr__`8c9mEsq z8G6EE0IqI0Nce*d+t24;--;rVsqbcgiO5>`-!6OQdQuKv+^K9)t@>SKBD(eY6|-2* zh-BIG6}2g5EfiBhnPh7Y9N|lMlvS6sYWC^ae9)I}Bp%6Ix*->cZ(P2P@_uRal(X`* zc(w*ixY>zX_QZiFR_Hq1DUG5g{yfZoX?C(x^qPHeUm7RLj5TYKg3EAo6|o11{zu&~ z{2A#OE;gqkshd8rWOzh(KS!c+LQCEx9?W(@rgGl1So72?E$=9KlQOf?!@;2AE<3?GI>;E9*&;RwU z;&&;r?qdPYMip)B+30JUQG8VGs&aySTP`JP{%e1wY0aC@(N>G&h-mOj-N&fSWk%a_I%^y>^P{ zrp>!8*}1}&x9oWlRs(UR8@r*?T$yC!`@*D$;)aprG-=xM>;cyy`|-Et8y8RKO7`a) z4jIb{p4SJ>%T7&C@nqUOyM2@E^qs|}g@SjXdt;JeEADPPm#YqBcrEm3VErxTzTn>C ze!1-fbHNQ=?05Idc&o?z6t1Vwl~0d_Zn{4jkH#o`IweFpJcVoA^R~hU1Z>VTn|DSa z@7;5@->*n!R%95PbwkzE=T{4wLsmA2H4j%Am35I49mOfMoGt2`--jRKRlVEFze4@w z-ZnDo@K}SX%w=m&u@1grns#Vb#qLzHMw85f70X#ZeZOVM^BF78W<9%-C0G vLt92IWx)Pb+&+F%-Tp6H-~U;Ob|fcWo1Zs<)}LW*gMcC2#Ne5}Q`CO|)ZQ&u literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/file.png b/app/src/main/res/drawable-xxhdpi/file.png new file mode 100644 index 0000000000000000000000000000000000000000..e1ead694d59e67c7bdd32d0512321c852d6f49a2 GIT binary patch literal 3367 zcmV+?4cPLDP)Mh5=KJ?A0000XbVXQnQ*U*0V`TtnbaZe!FE46oZEay=E^T#l zX=7+%Y-}!LdTD0kUH||9NpwY6bVF}&d2(rIXmkKjbz*F3V<1FtZDDC{AZT=Sa5^t9 zV{&C-bZK^FV{dJ3Z*FrgZ*pfZY-wXlIV3*<>e zK~#90?Oi`_+s+w&juIv6k0n`><-|yW1VM%rNYG9}K0xN8Q-OYf{yOw?WbKv&=#(G< zen5xdH)bw6G)sX@K{^-#I>fd7PnN9M5_uggDkthlzIQxQRP6^i$hv!ZN8Q8s&%Hd- zjB}1_tPiYJpTITLa81~n;hL~D!!==RhN6j1UcGwNwJhtmjIj;I82kbN!S4XTIfozY z_PZ{EE5Wo3lDeEIVCjIo~?V|ei30a~rrl6K7p66%B6w@(%Ia$B5 zzNvjieTMbxd7iZHU~=f|Gs-Fo}>?FgDkY7+kh08gJj#iK`$5_T00)eB2S zKJC7rJ$r`d&!1y=cee%L4*>qEG@yW_g#8)-c6N3E0MqFd)9EzwfS{I%S{MbDNn(uU zhG5&a!5G7nCr_}uy9)rnQaZ5!k`l&%ACo>Bjc|B)xI}{g11-x!xm*V492XZCQnI25 z)NM;5s{$F3olXaZLIIXF56BY@o`^8n35Jp2dEVT{2ZNBPW25Th+EiprAa0x_@q!N{ zVSN-R=1G;PJdqR!)8~;IVN?w=rD>FQU0EtjXiyxCn?xX)2CTETh52riFs@+~jWMBB zCbcasq;U>LH7tx6Q7%ohs5(KWCNv9E=woesm~5K{box@fc@kXOVKMW0{f- z!f_nbYBlZSb&%L3Qv8^T4;u^yI668C9WUwCYx3%EG#aSa>r3@v_sdKmv4&B|iSl8= z?~dbOV`D=)UfSBGib|!D`IxDiL>*0QwOVMkTCs9b^>J-UWP?z>kG3{J2h}XPuDfs( z)bt|SL+WoTCF)@ zS(rm0CBg=S0ls|sf^xZxd-v`wBy;1)t5&OUT{pBntS$;^5gT@EC2YK0Y8Yb-`}_Oo zbUNsCI`BLXl}ZJ};gFea(QWsTEZC627+XPb4ux_`D@pz1Gw+qJDQi2o+ z*EIhL7~O?+RDE2VDvHG-ipAnmziVd_Tdfv0H#gxp4s6@T@$oTv68+?Fl#CA2FpJG* z6L;?12^~xJz+vu8qKM&eD6Nm0Jj=4gM{|^q*OAkO%yOhXe&&1Yqs$s(Y$^Gxlao|E z2a|}ph;yl7QJD_a`(!2($SUKRK$tl+g-ma+M74>@UtJ%jONj1q&1MrfZrmXEnHvqG zJg-b`n@lE{OeRX_v8pV-YVy|vjG4sX)k7sHDA(G>fK9qHWvK{?~HnuZSpu zf^xQP&nLnZS!tQmxS%U{5A;!@#HiaVvPn8UJ;i9W{N54OfF(}Ogtk?y)%ljZxBx8o z$zK_wG|m4$8jWypa6s-SiA++6dnng7(?KhV`mJNAP>0P*8ewDG9=~N~~WS4O1bn-|tI(n2u>I zl}dQ{@L{4p!k`) zoxe%VWL&)t($*>wE7LHQ#Wb}oX>yp-4(KhIbE{!tMCb$|Q3ROMG?jCc$y3c?n5-&{ zC4W_}9uv`IR9lv2F-vm@tT^ZhLdQ&+Hj8l+t!fUbk0nu&$vQ0Q3G4bhlgVM3EX5p} zMrs;18jUcSOd_9Gmi;{#43?6=RFkF}P$a#Os?{pm?Y8v7&E*~Eu#?)`+r#eeE^4(J zT-ObKACnAG$zM~^q$zA}Zlc|8OU+?gq@}j=cYAvqTU%RjT^E%~1*fN{q&{o48cCy) zn#Qy_)uapOu)o80{!&AHli@xES(-y2CBo|U zIvR}z9LE7;Y~fWzaX3FepFhw?(I}H^HC2>KrFn8W3v&ph{PfD%*_ramA08f}-|sKg ztFEPV$WTrGw%cvoy?b|l?ArP;AF95HvCDn<{(g0peoVEgK(+}d?VVG`pK(rl#rJwW z^m;v#kJ9mDx+$x;9lhc)D#>nD7$GdJu-ODu$)a3vSqB;-jOG$eU~g{^{eEA2GEE#q zMZ4X`?c2BK{fQUwS_B;?Znud4qeZL_lc(0}$c5zxeZ>7Ir!B-ZP7>3coW^j|90K(<#SOXQ9)G5HI~Csl+lF~L5{Sf9~)>^ zZ3ac;PQ$jgw$SVK=HIjMVdCGxT~4beD2V7cn8d(j4v{j}s*#6t&?byARuDIk=HbVf zg6#K1eW(0(U&iyi0%I)t6*>`6CX8L81i;~(v#^s*)9#1$tvXKJv0)b@_1;)WpG5!; zW30q90stk#7-JTIvR`yGYZWGxN~(&cs2n50^SlCtIh@TY8D!yE$0ebZJM5wA*n8_A|Qj7{Z z@(4=g7iSW~f|IE40a&;sNt{c6Zeu|ujLl^IQUFj$a;2q-C@rI&Z*a*%^=kw_$FNA0 zUr0V6)`!hPPq8eWod0QA7Hr#I${=vg;kqs?%bGtZF77={dW%1;lqdDd7gI;;2f8s z{QQ%19@M@ikS2Q8(G-_g#&lLDpFVy1*WTXVPm{^ypCDc#R}q}^v+;QRx6hwH|1=|O zf*?B0*D$0NHZO_SZ?0Dx#c)copWB8MMCWITzTU63a=9wV^hq2J7bJ9#@zk= z{r?V!!x1it63c~OIOn7Vtn2&+rJM2)g~5Cn-5y~OGz zYLqA&EgQVe@4dg?Iq%ImckY?_eD2(PX70IjZv10YJz8pZY9b;cS_6IUCj<@uE0pAf zIn~vAgrG=Kng*7Xgb_yR5=U55dF$Jvh=_nOe}$NDeyhH<7a_%^$P_1LWu$c z10`Tyo+t>|8!CbHb<6vy!cHJD{3Th!{NPX`T_oHE>dR{YL3%kTDBBW1roW(uzn?qO zm&g$8>F>;I;Rl6zL4CLI=aK~c-hX@W_k}=--2ME#l_VuSUlB7yKn!65EnI9vh} z0&`t=Adn6IlC_ZD!M-pzcR!-X{?2e1gjXAh0K>d^|Hm5Q3kCbZ0-z8i0)g~G{f$$S zz=C?ApeRZ2|5&*E$3W7y_xdXl(Va#EZ4Jwy{DT6ML;<~!{)jXr=%1yjrQTt80dOc3 zE){nQu7lo|Pwa|Ri=6mE!Jp(uKMa%TWQCJ+`Ps%tKmUf1>YVMPket21P!4AkSJUY*cvi564@1$oh_s=Vv00*wcN@xytv&SWP=St zWJ<4?x)`k8TD=_%MyHP4+`PHyf(UKaj*R!#X5lfp_tD^Y%Mh~l2EtcOPop$x%^EZ;mx0RwxK+fh&QQ(2TKJvW0 zJmGhhv_6Rf2=p)2(6gjHY%OkMkTFu-#bnlC8dQV>G>GLHJzj#qi|#HR>fnP58Dst( zYR4^y9){of!xUE*od4jbTPBJ$=xi;Pr*L6oG!rrFt>6+75do$1VN)g_KRlnCpZ|Vz zG)|$G>%W|jw>|wRxg37Jq>kSyPF3@=oJerz`oo-NsV$N~GKM=+p)0Xmw~WOfq?pV! zQPvEf?qTPamIM=unp>uR6>f9k3*-K56a+3`EgWBZ=qnp+ZYtZb8 zPjjDPlp-LZDBECMrgHMYZ0j4YtdS;C*sSpA*AENwm&8w>KD|wTD{Q59G%v$Rxa4*J z;&IzFb}Voq?;-N!;usRifq1hiV>53wjLTO@iC@p|=;&Y+$lNv+9OZhtAwAR5v}fiy zRkvaYJUc%(+c3ean!FIgEe7QN4!o!6RQ%(CJ=uLDn;fiRk$sMiM_uQN_E%S~TD@!G zc*eAxs8-*fAEdWtrB}}P{JStwAi&JtDP`}grKP2uN^fSqrNiF=z7clIvawKfL9Q@( zYWlm2l9E!$8rA#7-?pEP`701^ZPyD2*mt0y04|>pYQif6 zW%!iTTV`4}gALm&J9Gi^qb(Jk>ZbnRzv7rgNXINh5OGD3nqiL+oyTV{m*i6c3SoXX z;tfZ`>{jU*kp#*Ykp~Be6BTtKaPQ)}o8wR4SK@MGWlt%eQLRFqYN3O*D?#|~h18#2 zr!6KlVvIlZwcqhkmh*9+{<^>f$_?1jwnXx@05MM*)y7cuV(Ujouf&E@=IRc0vBVb# zhc`0F>+9O}ZO$=*5omI&cT8Tc`w9l~=30|)Pe`%6ee}4|+P#b%QhkJQht#RpP zt6`qccE>DTJF9Qv+_aqF8*UmSe7Yl7iX8*-GPwJ&--h`gW61@X7Z(#gbSwy)qOwA_ zqCleN+D9s>yp)tL-tN}2LI#qmLmGIBA{)my+A_8LfIihcPTFy=J>+{Y4QvXxH-bmq zWt|l`xh>*-d>A7&)Je&LeY_xHl485^;->HCUTo{x6jb_pf>fC>G%xL;b!|3ocAO$U@gYpyKElmp@B*uZ4)Jl8WkVI_oAxzfufR6e8wAjE=9<`Fbf%zrY|mc@xwFn8w~w=?|bpVIQv2RySz)V;DOQMyrlneHF)9PoxR_oFv_+?t0u9nFk3ScO(O@JxtV7zZK|Lp$ zDIHZBPCNq>JNbgQ%k6)QBvcN*3)s#3N2ys36OPdw`X$mW7%Q)tn~LQKF=WU<9=ZEH z(CngkRd4+R35E<*+s{#LeDT* z^|1VXrwtkkV$Vd(&Bqb>Zz>Hl+cF+jpcE$Ui~Gkm;DW>Q`T$iZ^AwZc1A8R@c>&p5aYlV^ZCmn#FUNw|v#z zO$GIyd|DI@pS{#9tCj~m12W$7&GAgZnX%rf3b0P|3d6)}Vxckyk!1%Bxh6}ygm9vt zWT_lIb-y=gro=iWmEvn38AS|w+oJYka`j&yz+GS44s8Z~)YR@WCwM3&x;uf8X*=im zI7&hdo6!;ri|amD<%nUB-~vbAom_OvjRVn2h&91iS*$GMN4+wGiCjvqsC$XbfJp-- z#{eC;z4zRQ@d&*(;=6YXf1^(++QXL>* zS?UzH>QolD4nMfyWPQWG1((xUy`NMk#5W?rI|+8XxtpY0>>*Pj9Rq$w6PYaXIse~S z_au{wV$p&E7 z5HUp-^mQJSn2z}xgMh;yGm*XQjw~LIC3*3wrlwYD)EVSZGcw%WF?6S->K_NFI~l>5 zj=800_)FeT?#kY5G4h4w$@JT~jcZ4}&{%nTNyX>WU?|mlvmUlgMtyuqFN0gIKvdqldb{$bKNy(}bD zR)c-gNs(Vh!dmXTkbIg7Uk9vG=iLR1b@TImzQvHY2{Y|v48eu3J@zIkz>jL8Kf0UF z!Uysls}tY&*Zp{G)mDYIpZirp>8Xmd2A0$hhXCw6zbn+-)e;Z{cOnI=#+%02#0wPA zLh3y-;%pX1_4Xcq1$X^7=gFQCOWjuGeAkADme-Y=ix|=(j#D!13 zGN!>z#hKX|N;9bITy!#`G!7W)Hl>Ul`WP~|GrJd$BiCR{e}IJnqS+zU@y7q0bx%I& z`RuM|b9pNI*f2g$jMK|jKilGE6Vn$T_@}nh;)%E-5e0T=_Q_M`qCb;b@bjJA#juyR zh8*{jM5p_>10*`Koq6ylSR*5YdHd5@?Vdj;A4L^=oK)hcFJ?;4Z*}>yqWfMH{gdb$ zPpPYgekx&{79JapcIAUP1@~k;Q7b7Fe@#bPJW+mP622mwz}IOA2Z8CU)?*&LLYv_& zilb>;u}&TP4Y@$~UKHh!JdlvT(1zhoxoy$>x`(P)mn+jZ{G}jAcpB~N z`5A*uB3*6n`z6l~x(Ydu6OXJ1lDV9Z!@B@ia&HG{&d%vB&swj<@M}{y7ZW>|Sy~=r z>BqQeGNBL#uxY=k*J*cmcR$wQI$8ZDiRaOeq`NxZZa0@*LyK5YWKv7yuDaA_Y+)(N@sk%~$S!!WcXpkNAw>|Uu zRl(KG@{?C2(n1pHFC$cgP7c+t{MknZeqPCNz1D^D&yKsNn0!=Q(cVHr{mO+WIXc587eq_>uDHynuV z_x12jZ_JNz(MYs$HpqRDjvJ_KFT4IVFQF>C&a$A|kn>KC%0RL4dL2=c(SJM;J7&XN zL)DP2lZ}!UZ5QOLF4b)jsuFegcUkf>0mxTy*8(^-UPpn>;Atpn8Y9MlDuB`QJHKi{ zxaL>1U`2|>J$N#%7X-2``0{_WcmGfKcg?e_EKAYme{Y)56cZWfm}=K(I=%QWxiihK literal 0 HcmV?d00001 diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml index 6d58d6b..6e365b4 100755 --- a/app/src/main/res/menu/main.xml +++ b/app/src/main/res/menu/main.xml @@ -23,7 +23,7 @@ android:title="@string/action_import" android:orderInCategory="100" android:showAsAction="never" - android:enabled="false" /> + android:enabled="true" />