From 029b99852edd340b9e463b9452a82c10fa39b72e Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Sat, 12 Mar 2016 10:28:20 +0300 Subject: [PATCH] show recordings --- app/src/main/ic_launcher-web.png | Bin 8606 -> 31279 bytes .../activities/MainActivity.java | 152 ++++++++++++------ .../animations/RecordingAnimation.java | 2 +- .../audiorecorder/widgets/OpenFileDialog.java | 125 ++++++++++---- .../widgets/StoragePathPreference.java | 8 + app/src/main/res/drawable-hdpi/share.png | Bin 0 -> 441 bytes app/src/main/res/drawable-hdpi/trash.png | Bin 0 -> 513 bytes app/src/main/res/drawable-mdpi/share.png | Bin 0 -> 295 bytes app/src/main/res/drawable-mdpi/trash.png | Bin 0 -> 349 bytes app/src/main/res/drawable-xhdpi/share.png | Bin 0 -> 552 bytes app/src/main/res/drawable-xhdpi/trash.png | Bin 0 -> 624 bytes app/src/main/res/drawable-xxhdpi/share.png | Bin 0 -> 893 bytes app/src/main/res/drawable-xxhdpi/trash.png | Bin 0 -> 976 bytes app/src/main/res/drawable-xxxhdpi/trash.png | Bin 530 -> 0 bytes app/src/main/res/layout/recording.xml | 88 +++++++--- app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 843 -> 3175 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 632 -> 2030 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 1146 -> 4539 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1791 -> 7193 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 2460 -> 10371 bytes 20 files changed, 273 insertions(+), 102 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/share.png create mode 100644 app/src/main/res/drawable-hdpi/trash.png create mode 100644 app/src/main/res/drawable-mdpi/share.png create mode 100644 app/src/main/res/drawable-mdpi/trash.png create mode 100644 app/src/main/res/drawable-xhdpi/share.png create mode 100644 app/src/main/res/drawable-xhdpi/trash.png create mode 100644 app/src/main/res/drawable-xxhdpi/share.png create mode 100644 app/src/main/res/drawable-xxhdpi/trash.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/trash.png diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png index c4fde43fc98e6726653c2e36f177b1922595b460..8a1ffe8c1d3943e40c45cdf215ab455ff7b5d32a 100644 GIT binary patch literal 31279 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

} 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 { + + public Recordings(Context context) { + super(context, 0); } @Override - public boolean isEnabled(int position) { - return true; - } + public View getView(final int position, View convertView, ViewGroup parent) { + LayoutInflater inflater = LayoutInflater.from(getContext()); - @Override - public void registerDataSetObserver(DataSetObserver observer) { - } + if (convertView == null) { + convertView = inflater.inflate(R.layout.recording, parent, false); + convertView.setTag(-1); + } - @Override - public void unregisterDataSetObserver(DataSetObserver observer) { - } + File f = getItem(position); - @Override - public int getCount() { - return 0; - } + TextView title = (TextView) convertView.findViewById(R.id.recording_title); + title.setText(f.getName()); - @Override - public Object getItem(int position) { - return null; - } + SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + TextView time = (TextView) convertView.findViewById(R.id.recording_time); + time.setText(s.format(new Date(f.lastModified()))); - @Override - public long getItemId(int position) { - return 0; - } + View player = convertView.findViewById(R.id.recording_player); + player.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + } + }); - @Override - public boolean hasStableIds() { - return false; - } + if(selected == position) { + RecordingAnimation.apply(list, convertView, true, scrollState == SCROLL_STATE_IDLE && (int) convertView.getTag() == TYPE_COLLAPSED); + convertView.setTag(TYPE_EXPANDED); - @Override - public View getView(int position, View convertView, ViewGroup parent) { - return null; - } + convertView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + selected = -1; + notifyDataSetChanged(); + } + }); + }else { + RecordingAnimation.apply(list, convertView, false, scrollState == SCROLL_STATE_IDLE && (int) convertView.getTag() == TYPE_EXPANDED); + convertView.setTag(TYPE_COLLAPSED); - @Override - public int getItemViewType(int position) { - return 0; - } + convertView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + selected = position; + notifyDataSetChanged(); + } + }); + } - @Override - public int getViewTypeCount() { - return 1; - } - - @Override - public boolean isEmpty() { - return getCount() == 0; + return convertView; } } @@ -106,8 +128,8 @@ public class MainActivity extends AppCompatActivity { } }); - ListView list = (ListView) findViewById(R.id.list); - list.setAdapter(recordings); + list = (ListView) findViewById(R.id.list); + list.setOnScrollListener(this); list.setEmptyView(findViewById(R.id.empty_list)); if (permitted()) @@ -116,7 +138,22 @@ public class MainActivity extends AppCompatActivity { // load recordings void load() { + storage = new Storage(this); + File f = storage.getStoragePath(); + File[] ff = f.listFiles(); + + ArrayList a = null; + + if (ff != null) { + a = new ArrayList(Arrays.asList(ff)); + } else { + a = new ArrayList(); + } + + recordings = new Recordings(this); + recordings.addAll(a); + list.setAdapter(recordings); } @Override @@ -145,6 +182,14 @@ public class MainActivity extends AppCompatActivity { return super.onOptionsItemSelected(item); } + @Override + protected void onResume() { + super.onResume(); + + if (permitted(PERMISSIONS)) + load(); + } + @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); @@ -177,4 +222,13 @@ public class MainActivity extends AppCompatActivity { } return true; } + + @Override + public void onScrollStateChanged(AbsListView view, int scrollState) { + this.scrollState = scrollState; + } + + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + } } diff --git a/app/src/main/java/com/github/axet/audiorecorder/animations/RecordingAnimation.java b/app/src/main/java/com/github/axet/audiorecorder/animations/RecordingAnimation.java index 648dc87..76367f3 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/animations/RecordingAnimation.java +++ b/app/src/main/java/com/github/axet/audiorecorder/animations/RecordingAnimation.java @@ -33,7 +33,7 @@ public class RecordingAnimation extends MarginAnimation { } public RecordingAnimation(ListView list, View v, boolean expand) { - super(v.findViewById(R.id.recording_detail), expand); + super(v.findViewById(R.id.recording_player), expand); handler = new Handler(); diff --git a/app/src/main/java/com/github/axet/audiorecorder/widgets/OpenFileDialog.java b/app/src/main/java/com/github/axet/audiorecorder/widgets/OpenFileDialog.java index f67f2c4..f54f92d 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/widgets/OpenFileDialog.java +++ b/app/src/main/java/com/github/axet/audiorecorder/widgets/OpenFileDialog.java @@ -10,9 +10,13 @@ import android.graphics.drawable.Drawable; import android.os.Environment; import android.preference.EditTextPreference; import android.util.DisplayMetrics; +import android.util.Log; import android.util.TypedValue; import android.view.Display; import android.view.Gravity; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; @@ -22,9 +26,12 @@ import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ListView; +import android.widget.PopupMenu; import android.widget.TextView; import android.widget.Toast; +import com.github.axet.audiorecorder.R; + import java.io.File; import java.io.FilenameFilter; import java.util.ArrayList; @@ -42,7 +49,6 @@ public class OpenFileDialog extends AlertDialog.Builder { private Drawable folderIcon; private Drawable fileIcon; private Drawable upIcon; - private String accessDeniedMessage; FileAdapter adapter; public interface OpenDialogListener { @@ -110,20 +116,20 @@ public class OpenFileDialog extends AlertDialog.Builder { linearLayout.addView(createBackItem(context)); listView = createListView(context); linearLayout.addView(listView); - setCustomTitle(title) - .setView(linearLayout) - .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - if (listener != null) { - if (selectedIndex > -1) - listener.onFileSelected(listView.getItemAtPosition(selectedIndex).toString()); - else - listener.onFileSelected(currentPath.toString()); - } - } - }) - .setNegativeButton(android.R.string.cancel, null); + setCustomTitle(title); + setView(linearLayout); + setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + if (listener != null) { + if (selectedIndex > -1) + listener.onFileSelected(listView.getItemAtPosition(selectedIndex).toString()); + else + listener.onFileSelected(currentPath.toString()); + } + } + }); + setNegativeButton(android.R.string.cancel, null); } @Override @@ -172,11 +178,6 @@ public class OpenFileDialog extends AlertDialog.Builder { return this; } - public OpenFileDialog setAccessDeniedMessage(String message) { - this.accessDeniedMessage = message; - return this; - } - private static Display getDefaultDisplay(Context context) { return ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); } @@ -255,22 +256,45 @@ public class OpenFileDialog extends AlertDialog.Builder { return ll; } + public interface EditClick { + public void click(String text); + } + + AlertDialog.Builder createEditDialog(Context context, String title, String value, final EditClick ok) { + AlertDialog.Builder builder = new AlertDialog.Builder(context); + LinearLayout ll = new LinearLayout(context); + ll.setOrientation(LinearLayout.VERTICAL); + TextView text = createTitle(context); + text.setText(title); + ll.addView(text); + final EditText input = new EditText(context); + input.setText(value); + ll.addView(input); + builder.setView(ll); + builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + ok.click(input.getText().toString().trim()); + } + }); + builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + dialog.cancel(); + } + }); + return builder; + } + private TextView createNewFolder(final Context context) { Button textView = new Button(context); textView.setPadding(15, 0, 15, 0); textView.setText("New Folder"); textView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); textView.setOnClickListener(new View.OnClickListener() { - @Override public void onClick(View view) { - EditTextPreference edit = new EditTextPreference(getContext()); - AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); - final EditText input = new EditText(getContext()); - builder.setView(input); - builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - String value = input.getText().toString().trim(); + AlertDialog.Builder builder = createEditDialog(context, "Folder Name", "", new EditClick() { + @Override + public void click(String value) { File f = new File(currentPath, value); if (!f.mkdir()) { Toast.makeText(context, "Unable create folder: '" + value + "'", Toast.LENGTH_SHORT).show(); @@ -278,11 +302,6 @@ public class OpenFileDialog extends AlertDialog.Builder { RebuildFiles(); } }); - builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dialog.cancel(); - } - }); builder.show(); } }); @@ -331,8 +350,46 @@ public class OpenFileDialog extends AlertDialog.Builder { changeTitle(); } - private ListView createListView(Context context) { + public static final String RENAME = "Rename"; + public static final String DELETE = "Delete"; + + private ListView createListView(final Context context) { ListView listView = new ListView(context); + listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { + @Override + public boolean onItemLongClick(AdapterView parent, View view, final int position, long id) { + PopupMenu p = new PopupMenu(context, view); + p.getMenu().add(RENAME); + p.getMenu().add(DELETE); + p.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + if (item.getTitle().equals(RENAME)) { + final File ff = (File) adapter.getItem(position); + AlertDialog.Builder b = createEditDialog(context, "Folder Name", ff.getName(), new EditClick() { + @Override + public void click(String text) { + File f = new File(ff.getParent(), text); + ff.renameTo(f); + RebuildFiles(); + } + }); + b.show(); + return true; + } + if (item.getTitle().equals(DELETE)) { + File ff = (File) adapter.getItem(position); + ff.delete(); + RebuildFiles(); + return true; + } + return false; + } + }); + p.show(); + return true; + } + }); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override diff --git a/app/src/main/java/com/github/axet/audiorecorder/widgets/StoragePathPreference.java b/app/src/main/java/com/github/axet/audiorecorder/widgets/StoragePathPreference.java index 41f12b4..9119ec3 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/widgets/StoragePathPreference.java +++ b/app/src/main/java/com/github/axet/audiorecorder/widgets/StoragePathPreference.java @@ -52,6 +52,9 @@ public class StoragePathPreference extends EditTextPreference { f.setOpenDialogListener(new OpenFileDialog.OpenDialogListener() { @Override public void onFileSelected(String fileName) { + File f = new File(fileName); + if (!f.isDirectory()) + fileName = f.getParent(); if (callChangeListener(fileName)) { setText(fileName); } @@ -68,4 +71,9 @@ public class StoragePathPreference extends EditTextPreference { } return s; } + + @Override + protected void onRestoreInstanceState(Parcelable state) { + super.onRestoreInstanceState(state); + } } diff --git a/app/src/main/res/drawable-hdpi/share.png b/app/src/main/res/drawable-hdpi/share.png new file mode 100644 index 0000000000000000000000000000000000000000..fb285418b4418a45eb41363e77f4c364dd41bc8b GIT binary patch literal 441 zcmV;q0Y?6bP) z8^}Ni>oQa5oD*~4YbI0te@MD~wk|yEpunG6@Ww?PgXp=6! z3ob0-E~ikIY~Y}Q_>^6#;``t;gMnx0lxScvgZPwji3V137?_f1U@3=zVM)RVU_ayf zPdJAr3Br4li~?_#xI1`nApQkLB^0W4c(Q~&nnIO~O*=&_C{6y6G}aBGQrg&pX2 z{_QY(VjH$#{?`ha$=@}Yfx$ZCC0KwfOZW%uL4T1mT7{!Jo9_gM%s&%m)7j(4FjDk7 zu9!9X(`I`xM(l5Ag|1=8z+sM@eF?K7QlB;ZS#$OVv`DL%lR0L8Sz^goZ$S4FQoo6< z8lX3gsxM?-93}qvFgGWr8=>|%?ahV8n=7R^mwKPtD(V|sx?79to4dw=yX1C jI7W0nF@*>bB1H5J3MMdn676Tz00000NkvXXu0mjfDwV=% literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/trash.png b/app/src/main/res/drawable-hdpi/trash.png new file mode 100644 index 0000000000000000000000000000000000000000..1c0d4a070846fb9907fa8ef327d1989971f6ae43 GIT binary patch literal 513 zcmV+c0{;DpP)7+w7E$p~AV{!CK?e_BiVhw;S_B0d)IkV5^$mg!Qm2ZJUWCxPd5Hz_pdfT< zt*q~4zk&A<(w~iH-Wg+FcrLp;FTV$wopCl4vSrJbt$$OK$z&cRzaatUObx#R9>CiV zT$?IT2@qcJ45B6q>{CDwEPcZEtO(qEaesAY1V9)#AVrhcF-`y>;$Q06*ZQ4T4WST@C?HV(@7^4uOF}fdPj=PoY4ML!ba|6@(W(3!IZV z3wFT?Xwok;3J`Qe&o*hS=#e#LEr`;4KSOV;Wx}OvNmJGUv2k0F*l$sYatc(z3uuE= zPy>6Q3`(F#3)Dx7bgxX$)@W>-dR0x_dH#k9r@*EHfh|sfk^+Ger@)#5fpt!SyaItd zr$A1DK#o%&qd*|TDUebikm3}Gfw9E!qF0PlAOapG3W#12?)}hEqQFqchOR47psPcm zBT=BEL!c#5pru2gAyJ^AL*PoHz@-j>Lx}ktVM6jRe*R45T8N9EkMjd56hW=cnzB6FdRn@2WaB39E6wB z!vThP9I%eomMa7C1UwF?rj^AKK->Vtr-1k<5O+Y?$d+#cVi9UvEC9p>Kzs~pVLiw( zP&r*7t_9+LAWj2fesU~e0b+NkC2>G3j+Dm}f%pK_cYUDXr?&67fOsBSFdhQpY#`nN z<VO|k)Rln#n!`6w82001$>>tsc{$i4so002ovPDHLkV1j&qa>@Vz literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/trash.png b/app/src/main/res/drawable-mdpi/trash.png new file mode 100644 index 0000000000000000000000000000000000000000..f26fc3b13a0bfc806b3136b4e657c0de36a8e12a GIT binary patch literal 349 zcmV-j0iyniP)z1p46if`T6cL$H%C@gO4tMZW~rAOd1S z`fmc}TtNj1RRfs?{F9brym4P41q4VDw>;`E^7|rAP+1V!U>qm z@i_84k$0Bl#+ied@}tIUvolzMF&M~{w?R{A%i2J4Ozwp#a8S&^fhn+22yB=FONGFa zDX>roESLgQg}{_4Fj5GNm;$y!z-9{c6aqb_KuaOeVhUIa0gEY6RtS`s0%6bq+YcI> voVuy`*PSp4vgZB=Dne1#lEIHl5Z}ff56ew*%18ck00000NkvXXu0mjfhwO?7 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/share.png b/app/src/main/res/drawable-xhdpi/share.png new file mode 100644 index 0000000000000000000000000000000000000000..95418b61df5f644c9f1c51c46cb216f088c85b5c GIT binary patch literal 552 zcmV+@0@wYCP)bhL<=Eh3Lljy_-G6$)+vk;EETa;5fw}m#L6P5h=q^FN6xV3Mx2xYOXyU?i^#VA%6~pIY90jGu$JOXf$wg~7-xSO(2yKHCW7{r_#I z1$3#lHNdmOdMjIMTot@^(B{f77zHcf)??xeGh3)hhK_O zPQR)hV9RG8p9Mp%RqVkEmZ^L2?h{TtwOAWP_DtGs{XEaXk(VfpLE3zyWX2` zS_UvjWoMSP3?L-|5D9?&U%<8qK2j-yyq7`tjgYj$)o+IONoJ1hqxHF+d<=4@eQ zdnjrMg6FZgAqbuqBZeTVxf)AQSuOZpj_Lr|UyrjNkYGO|!+S_dhroAC&eJmU9hB4| q@Ew&kG)Me~r9~o1dWsaVWkms}pfd;4Ru{0Jr|qEC1?=W&+h=(JpbFHQSspYJ=Cjih0`SFa zKsOi%3*g{OQLo^wz)A29?0|VN2D(h&Qj2zh05}5AMb7$#@I>ngGnPwA@m_FW!lJWb z#`H=Ma8ZWhKe><~;Hr!Qu2g^k0kJX)h)ED&?%!c>%UJj=jp>whE35{+U<&Mk%U|5{ zbMZ!f?NQ%mjOt2R6gfaE=m$O!q$@WEqF|Yb(y=hL@zFWvT!-$cRLIp1a_r*Jb3;&~ zfCrGK<*<1Mm;gh-LqFvv&_D$^vQS5Dn&=!4^S>| zQ9x3nfCQs}ghTU_ zfJ6a)Mge|_0!A1Gj7StPz$joqq5u!00FOigZHxliBnogd3UEslP|ql!L81UVqX4_q zjnOni@h_5hhEogzQj!I5>(2ugk^3F%hR@o7Bd%9X99MG#ZUYqtR$IrO5|66&zrtmT4yd0000< KMNUMnLSTZ9R0_@j literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/share.png b/app/src/main/res/drawable-xxhdpi/share.png new file mode 100644 index 0000000000000000000000000000000000000000..6000077d11b60dc3aedeba795a632d8811a6a41f GIT binary patch literal 893 zcmV-@1A_dCP)*@4@d9W-9PrPjyv&)zx)%2qANV_;k{Ublhv6&OT4SW{Denh0*+=6;A{@&C+xw|Z066XvFj=2rD(ue z_W*Y0Xnw*PoOKVN+d}{caMnG5J01c!gR|}dJoFGiH_o~TaN9!wr*YOjfO8%K*oU)j z<}VP}Jp|B%yXj;9&MMb^(s&}q<8pc9CyB%2lLzAyw&V0j;~T{;@z$g9#!asN;l^8G zWwUsmV%&FeL42&i{8wT&t`C{NPTX@a?y6WGe`j@-tD?`uLR=p-vB_~{bGKYcQGc5w zE{dNHZP+j8l$e6?QM5?(h#x7YJr$d*drE0!p`x}zb!k4&>JM$EUXUDRWI6ipRJD(qS)-NA6khM<@hMRRSO9AB}$;*zZ#irr$d zV;d8#>f|t_v`N+pF&*OvH#7C7RG#dncS|(?r7PGL_sIh(?Q~gpf$@W;?ax^9`xXB} z8sawU#fG@xo%X#ewu_Ci;E-{hHB4+SixzRi;j>m$Y31fPJb=BPr~SzUs6A~+Iad4p zevih#j)#=2yHp6E$CL3kq&#RlmT|eV`L@>nC1>NUz2gii-2&L+;mSXXv+e*2F-9U~_IDLA0?wJ&bt>4`>7s1dk{M z5(E$F1rh|0sRj}R4{8Sx0!I}T8~}%P6dVA@)f5~62R0QP07sS;8~}&*1u!Sz*vf)K z;NaGR1K{Z507BsK?f^pI`1$}s-~|o=gup9I0t$nd_#lK3LI@#*5JCtcG+Ol=hB`!s T-G#2400000NkvXXu0mjfC+wF^ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/trash.png b/app/src/main/res/drawable-xxhdpi/trash.png new file mode 100644 index 0000000000000000000000000000000000000000..f32286d02bc8863db550402566669fce8a622be6 GIT binary patch literal 976 zcmV;>126oEP)!*402%`TSzpEhG>!$vKSf=u@;gd=t2yP z6e=7Djmm7y|H!<8^PcB{-$w7f=gj-l`*H5QXCe`XVHk#C7=~dOhG7_n zVf@b4)>fHNBOD7sy-?0-1~2{*;kB?KY=+>cFfW{7Rf7o_4q5nordZWr0_F=W;ES-I zmEF65Hw6~(RXD)P{<{G4A8{@KuPC6f0v-okzmEb6E8t$h^>0!@X$4%T01D72z!Xt9 zj4R{@bAbgK@Uuf$h5`Z(IaCX$h08dAe#$H04;ksxa+9;iu8p3awYf zX5j3GkQUyT_yR45KBUp71|J9F>V#H|4JCy!+=9#sYXvCs8n!i$Z70!|X|vYL0l5IX ztr(sWiVJ6i7U8_mAzaC$1HWs*vT>{%Q@cB19NguwkEOpR=(6!4Dbpw1NgLBFU=;_( zRh)U;7S0OCg{orgt8r|pLYuAVLwZ}^K5G{6;V)+^-*L9GfOGMeLPmIsA?*~-U=q8K z#Il1}H-iVYrm^iT+WJ#JK57=Q;J}60f@T3T4hWdlEMUR`0TY@9j5;7-RI`8)2Lz00 z7Lam4KuWWKgaZN+ng#SbAfR8ffL;d#^lBE+?SO!8%>p_d5YVYvK)VA1+BFMkc0fS0 zW&uqO2x!tQAnt&GxMl%$4hX2%ETGx}0o9rX#0vDR&;P>oEv8vO<+gjTHe&i#sab$| zLvq<-0n6%V*pd&pXt99Bi1t|i!p58r0;Vh$Fy(^)o8Ooj_d!6~VgYF%1Poa$V8{mn z4=fgt^g+OY#R3L=5YT6_fIB`2=&@Kpj}HR6EEdq^gMf<`3%KBefJRFvZ_25fDQg!A z!xjp767eONS~6o%@n3j1t)+b6eK;VOa(MckaLx23;%o4FXd8A**&-A@i?-VM2K`PM zWta)qOs;wtFLX@eFLg!uhWS2od0%g`fuF5onH8)viEZ>_Dg%C%Nk}hH+$=b?~IE80000o8Kq1-8kcblJ{M_8syb>Unfx)>bHL)Z$ zMWH;iBtya7(>EYRFO{8vfw9cf#WAGf*4w*h^9~sZv|hY%>i2#_qv#`D@|N>{%-j5C znd;|MgIw0*j9^nh#G3`Gb}tN%{dlFc^%~2Dn*sH^BBa|2q-wUk6G}OLjrRzf!i|?g zf9g5rZ0%fUQF8BD$m~7u(t!#heuNqSc%%D3;6-S|?s$eHa!jm1w!n;v=l=DQCw@KD zyU8G**QC}UH9g^_|HMBzfvOEx{TcfoG-q@&RsHz>y_#XV0|N&GqXGj<1A_nq6Ohwz z_h)^BQ`~>6s;lwbtN}S6-p9|Dbz1*r0q=du10VGHmhAq$*?a--gH(m7xs@Due)w+B zVR%=%_{&`RIS+3$wCOV(7H@dSec%IY!Ve~c8b*nI3_S4=D;SY%VIZ9&vgr?Rw)=zS t9^0JcXQVLSU@%q5X?nK!5(60QxFmdSN%)1N*7wgrd{0+Dmvv4FO#r)ev*Z8( diff --git a/app/src/main/res/layout/recording.xml b/app/src/main/res/layout/recording.xml index 808d39d..c467168 100644 --- a/app/src/main/res/layout/recording.xml +++ b/app/src/main/res/layout/recording.xml @@ -4,10 +4,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" - android:paddingBottom="@dimen/activity_vertical_margin" - android:paddingLeft="@dimen/activity_horizontal_margin" - android:paddingRight="@dimen/activity_horizontal_margin" - android:paddingTop="@dimen/activity_vertical_margin" tools:context=".activities.RecordingActivity"> + android:padding="5dp" + android:text="2016-02-01.wav" + android:textSize="20dp" /> @@ -39,13 +39,17 @@ android:orientation="vertical"> @@ -54,24 +58,72 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - + android:layout_marginLeft="5dp" + android:layout_marginRight="5dp" + android:background="#dedede" + android:orientation="vertical" + android:padding="5dp"> - + android:gravity="center" + android:orientation="horizontal"> - + + + + + + + + - + android:orientation="horizontal"> + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png index e6ee3db3e295fd7478ba7c47f0ea90b324b9af50..c1516f57a89352dc056d27019dd2e54b8188f103 100644 GIT binary patch delta 3171 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 JPDHLkV1hOV6+Hj| delta 821 zcmV-51Iqm87|RBbBYy)DNkl``H9vHeAeVLi{+&}s+XwW0R<=De{(vwA!=XXruxD)?4^S=u#6I+2fYY~O zw{U+3ZM#%HGpFvm)v83_#n{$9jfa_>3&%gfzF}BwiS&#@AqOaD$CAG4>dGc-k!s6@ zVRClFwSS48wd-{jqNz7{`$PZshVr~(GFS3`U3AVIBm2%i#`U1GtqlNJHF*i(5M?W1 z+tGIl_BM!`5wz`0#p^K2%Txg82%LV^@;u%Z4-A;3Mom*tsEvZ8+yIcZSEOA4biE0n z-2~)Wn}R5MT{E1Jr5f_B6)GxfXTVa*WJ zdFeE+hjku;tv3}n7P?8Te>&mte!YJa)`ne~XXe~mRc;98b|}~TPeKfcl?cGl(AEWod{LmXP1)z zsu=PdA^_51QJyL09FWnr))-3QCe^-``xJnv?gQG|)6-*dL^!q&p=!>l`h=nl(@=qT z*WG^x&}JQQ0)OhZyuE}$vGuH(YuH+QD8Q!!c#m%J9w$KC6lE@pVp_aUcbSC#K}`Cq zy6eiWS%(UI9~10WKfihNW}DL_^w9vo3l;FH{W=5)0K~Ir&qQ-`Gf5lKhDFszS6A1b ztgI}PArgA$!DM*^ubB?%gxuA9B4HFJAnn zBVlrcfQ<2YI8EJoN5LOBa6ou^dTPM?3Q3Wmqa?7trMtUZw6(SUsK;hE&V&7@s>3>J zHZ+s4u&@Eat1@@)Ttnu>O@t}+Jbn5!e$YIjw|lTQ>m1gh#h_~8=H_OXKy-Ap(Fi3m zKns5-B!48h^~KuHbO8Q4o#|Ldn!sC2vRW7vpoLVMrlc~$Uq3Le*2QM=9uSaNxT)>! z?RU?fJsa3h3o4_RFJC6+0$%Cr+IBE|gxpc+vm$>(@0# z2w=RZt*sRg9z1Z008N3DcYd3D(I7TCI^XAQPB#L??1orRWuN7*}5Fl{% zyMM!n4;vx?e{DeB6{Qila^=co>_UqX0#BYi5vi%EE)!U{Zk;T+jCwfh}9Mh@hY#asB#rt+6?G?th$E zvu2G*N=g#TmMs(6+1c9fl!FHk%FgY=g$qt4GDOXS(9lp%SZGm+i6aU)f&zm1d= z)B<;Q{P^**r5vn*r@7?j=1SAa%gb}7FR;Q_#p%U_RjXEs!oosv>eMN5^5jXeV}HjEv2x`~fn5`^v9Sc;R2F722M6xJCVWoJC@DO& za@x<&&%d#;vBcSOnu72qcJACMrca;V&j%6{6UB)WC**O9E9Er8ZW%Nf)T5L=&H~va(D%rtG9$JVG2dZk#~( z}vWU^<`H;#8;Vl$(PL&Z~K(j559Xlq&WpZ+|m_L8Mh>wq#nK>XJK+Kvo zODtTtP^6@!hz%Py2sGvnCx0-V?f--MB9!9OeZW&WCbdnQHhqcOrb{_i9MqJGii$*F zV4&R$+*f!AhR|&R=c z%v@4ZVlQl3(P*(~%poSbM~iA`LXvQYy28w6b0HfKT!WrWpE+|zq<^KQiP^Jf%UJK_ z<<$=`lh=d^6J)88nVBgrU%qS)yoDQBT3Wi7Scu8tw>I<#rfPS0_eoV%Revg)kScY= zZaE%mm$eZEb(ZYF9L(&}Y&ggH^XH3z;Ui)h(C!C&!9knD1e1{;_OJ-!MWO_#vy z%?YvGi*~qr_3E$Dh*VJ(;F*)KTAXEv{+UYzA{|#BMJ{ zf-%^c7!+zhBeUM6suhjMOMSCq=M}3(H(r_x=PD>D_yu#va(@l3^`HD30%I`Mie&d8 zdf^%Q`T3bB8_Lj>w{Zv6;}JzWy)N}7A;&O@H8nN0p`$C~9Gr`DIuz%JLK|EJ$;%gu zhG5q|S+Zow7rS=t`l+I#VlT|V%$fz2ZC!J7a}$O4j~_p-xpU`^nPWJX&*0gqoP%?5 zPVD^f|IY+N99oLDK!r>cO)NY-JZ{dMISGpvElQ;Dp5O5|j^S87qjpup`p+J=G{Q)M zM%#TRdL#rI^B800000NkvXXu0mjfp>En7 delta 608 zcmV-m0-ycv5BLO-BYy%vNklbXbkR=Ip<|Z>JqTgjAq*nuB0-TN7*R?EMJ>OcnSCpkUD}V! zI~%_Te$2e@I|I-2&hKMpgkUfj36W0W5$8umBeDe+ZyVMo}^u zr$WJNRsiL4VLLaQjRyJ0-=VUWuvr^yT7Z@_cCHeygA<_SC8h`-30+pLFT&e*H`P1FG1`{f8KpOF9t6_$vF^t zX--@;KQHlo1J4IF1nioav2!Ak!x-}!f`=Vg0iCwlNQ>J>fPEK_CqeEsY|0*T%<PF#uQcE4KSL6ES(w9^n6GpYNy@$J*;|$Of|5 zF}dE{6SW6v6R6>E7XtYxT;>!6yoWuN5|39!5Fh6vFGB@f{63%I*@BS-~iB(i-QsOagg1|z606jEgWDuH3v9- z=R)F1(w`)VWC)ia{u#b=X+a@Q{Ab4uky)sn#^=r?!6dUtqDkUOQb;b76q8hvJRo_< zIUlYymfqOaYP`Xhw%$9-I8aVykhvY?)k4Y|&)R3@-hK5E_tJMaJ{5pQG z^ZeduqmM2__`O)XgY55aB!3~tawU z8vtHYh0r`Kp$eS-~xFZU63B4SdhR55GUuC=o&zaTmStDsKq65!X@ z*Q;z8_$DI8!j-VQsHn)%DwH6cEs`1P+;L7hY8&DDw)h4$lu%b!ccP@Eq=y^>OIm(U z>Qn{?UuENzV^G)%CH(f=Z<%FfW$qT438KN;+FDqCI>1+wa%yU77|{T`eEBlFa^(uU zefu{1_19k&r6eff;lqa+>FMb`6;*;P%mn8jQwsc?oE)}d#R?W49?rUU?aI&vA$E3l z%)`TjO`STG#m2_6ii!%w`~n%niKL_?Cq<$oc??Y8f2IWO+_-Ur&7M7*IXE~p0lhhK zb8}snMyjINxm1PC-Edb9Z-dGx$QLOqqhv(X7!C_XqGxe>O{G zBpeKRelKe5rV?@f+_`g&246^GVxqbIK|L@bDk?sA?p$A!I%Qs5vjfLbJA0LIx}<2< zy?b|)DPZBkg^H9eFw=;N5{UZj1#Tv@e&V?oWwjl%#`<^f-er!CjwVyUv}w~6$q|4L zh2|_jKR?nWvp_f$;%7i z{U0i6{kEgu9Z zmcSq2rUeTYxKajuQC`b1hhQgLN=izjWMpJ0ssLYn}7fTW^_F0dT~{#l<&PuU_q=RUH)y zNJ>ibr*liq9fD4tJlX0LU{0D6p(sU|;J#8xSY%|R#TAg8oUCLrRznIH zty2Lgmr`ejbtu5R3fQ`J>r=cmt*wB=hYt@?f`Wdp3IGMY|Ni?U^(uh4d7w(ADpg7W z*fNObgM)(=RluoJry9RIcI=p93MeTlDPOf})iAvZpfCGU9#CZNFjPoXRFnil@7}$e z>|lQM=#kb#7{&-T`pVngw{KtLcj@WrimVSq0h9;apj;~eSU1@#ghULEAuKG+y|%XY zqEZU@;DZk&5Mb>TqBZ&Mx#ylUnF4n0+STOV@4WMl^trvgy_6Ix^b|gpCUXJ<1A7B& z%|uLE2kz3POZV#P>XS;9BII10kdV;iyX@?2M*T4w{86JuNi#}*?`NNVR{GAz$4Ajp z#O2GE(>itP?9W3&}Yq>rS(0OLVap8_%zj} zN1WvMEG#T!&d$!#_lp)SQi6UOi*ZDE`^c!e0c)+rc`Op3P(;%tM)n#RvzMb^dF2%e z3@0ZicHzPWt?#q4ve@X+qgw?$?)B=cud>R@O0E07{`%{U^rH~}qa5Av;K2j-)mL9_ z1jafSWbk2+9z8mL|NZxKWiL-MdnAOXA8A@jpo|?mR*Nnm*xG?;18&5^*0v*xR z+i$lG0~5+&J{6~qbX4cr-!1D6)6kU=mE-tPj z;}{Q&^({%-VX=Vt(W9oOCQC^L!0IPWn$)O-nKNhVqz_}9y{J231{^tZMDay=a=@1; z+Vcj+O&qZN*u8rW}oiSX=K&RwtFd#WTim=m!oQ zPA@#4j7#*7(k$dDn84qXUM zdA51;W+~*g)Rq*AEK8GU2A_Q%AgYHW&z0`>;(35Crul$_|mXM1VFG@foVbT@( z=o7^G6DCYxG+1d{poR7Wfqqn=AM!y*2vaX$+v4{0ZQHgvlNI%(X&i~0SZaT$X5@4H z_;G`jfCZM8A|fT}2Zcq7EEfaQX8B)ELr4||3>e@~+;v5%x=>4k*V7oHfN|r-S<_n> z*`-UD^1QvhgMn#_^dpX?OP9KUhA6)N2cHFMOV0vZQUJGpb#-+$qOL8#5||qNj2LJL zg}H?b7mgwhEw$uET_MOMkqP(j-(SnoLde3{uwld4rcIlyK>?EU&Cky-r{LgeV7Yef z+D-;5KA+n{{7L8=S8i&Oa$B=`&ymEXDhT zTB8IhDWi~dEDgBK8fJl9f`Wn?6%Z2>V@+>Zl&n8DH}@`C{{&zd6&2OF)emYzW0NLL z>P8yu`|Y>iZsti)hXM?+e$3Fld-uiyJ7Cyq>lX(lI0#AIiFb$Ix^*j8>AV0=3@_$G zB@{9J#*G`<>eZ{+k|j%|f|^jk$dM!2n{U3!XrOG%mMs{(^tLS&?Ua0(pICUIM6$rw z*LMW4Gbr|NZWhd$GY7N4d&iC)i@~$zdT<*Z$9e!jo<4m#qcFHhNun)+s0sC-;lqcs zmtTGvSRqpe>YSVW#UaiSYdE1wM;HY}v{ zT4k!J2t_heEWWo^h+0ibJ=d>aSFKpFVi7O`R@i!C(iit(A%UEoCrz(_goK2R@bsqg z2QR$vf}-HVw_tCO2_M8}+qZB35ZC}CU}f^xR$@AlR=ZI2(VH3?bo%t^eMmN-1Ek)@ zCRc|J9g<4WrreOFDc;`R(xN;fD^rylQ0qT@`0ycM0&MUos>!HF7Zrtsgmj08x3{+s zNl#Bdfz^IEAY+vvUl~hHO_gf+*fD{vIy3sf}IuE?^9M*CMmGFMSW9&kJ+D+l9EXngaZp;VshTsM@0y)C~WkgX*a;t)ipdL zBO_hVQ9J$L0dme)L&>L3ojOZ&ISLp63t(b4>d~bHnN#+qDHxWPmUdD&W^`1xnA0AB zm%oe;u|8;LB*reBu43TJm4H1iVPRoj)Db`G(6BGR{PF;3K)hAGJt#rM`TQ9#)b|h3 zSchZG7&|af9DGeB5chfTnGg~e7q^LG;yUm!&zNm;HVCWdz720cto!Jrk3Pg0F;PH<8M11`2yYDW|%F4>czZK#Ck4w#+bb}QE-@xfcay%S;G!s$_Ty4Qv9j&gX!<5cJ11=jpFrEL`wX>(>3t=xkY@0;CS=_ zeUbi)=l|9pN-1%RMW4}ki~(c8n9QDJnVORDFamYnhtGzPapT5K*}s2(94X=stPCXx z{@*xMoSquYsSFN!1E(1k51FOV5`EgUXHWc?F=M82M;nN~V+>YFIfhaaEXT*k$Afs( zmj)GtDNV8SWQvylNzUyGd<4&=g)-DUauPoqIB=~6nsJ(IyqBOD@t%K#mFUCv?c2A6 zhlfw)bQ6TWqR;5N)l-h4nKSs)+uPeKI5^mkD!;d)~ffvtLor^(X#y1ToJSuvCY z^W?;d6aTbo)v73Rh?^4=6ZfamLDAF&;_9opxw$2Ug@t95@Kr$YJ1MLL-(_cKUr0+! zOHE2j+J|eSqoeYSVFUGbu8>fq z{v_d`i#~n&JRKGm_D6s^ogerepAmhG=adr8uLYc_;)zRAJ^bo+ynQ*J#lZefws`*?;3bR z6oOg{9%|s++=K5lcpQ8UQ00Qp@Ey*tYX6bL8-0#M~5J{RYS>#Tiz Z{{;gz%I4J=*jfMp002ovPDHLkV1g#foooOA delta 1126 zcmV-s1eyE0Bl-xCBYy-zNklr+%9L==QYAPK!hq}creJro5+ML|%}g9Jray1f+91yO>EGDNXb%hPverrn)& zS6z1+!TtZ>W7e73Gy4CZbLN|K&d3-50000000000000000Dk}g004yy`^HM0S4hE5 zQ`AeHJ)w9+pKs8%RtmmS8b%(Ja$9(z%_5O+Qgo5fveyu-g|>Av7%YTxnF?Q4rctfl zL!x%}DSXfPBn>_vDrQvkN&NJMk8cg_s`Wt0fruaSO&nm&PmJfXx|&1L^lN{W3*uX0 z_==%u+6J(b?tdA;7eG-M00RIFfB^sozyJUPU;uytFaW>+7yw`Z3;-|y1^^h~vA}tG zh71NrM1y|z$^a?EaL2VHkwEqtptGyyI-h9pO79F{@156Xr?Rn&X>cwf;k!IEAmQ5V zLpHX6T8bC+$9D{(0bi`&f$zxXn{C4&8gKwNV;BGfvVYxxceVjlUKpU3Dbl_s``A7h zV6E|2naB~R0leBZ19Yu4T5e%skgnBcn_dY6bav4;;Er>@R!aMRXDq&8uhcU4Xt`?9 zZ!Gm)0Rt!nj4dS>!;++`nTX#(-OoH{nS6_VtV{a+qhWyID<(1iSfcR?$FZU!KOH+5 zJD!&KEq_$raz}aUg%7n{-8$zX283ca+&i`?P08NzqFTJrd>5>L!vCV}IrTnSlGe5+ zuKQUJ<)i(wHYcvXKcDP{3M+fjrjc;F>6~kH{!25166~$2%@k*-#&4E^z^J6x2>Zs- zIbZE-JXNg=$~*h}nz&kgT$YshTq|3NZyBY^Zhs{sr$X^WkyL-Lv&(TN)GOgKDpR!@ z!BI=dfte`u6JZ8lWyS9io0 zk?^m3<1C44xz4v*H_$$Xr;Lb~%bc7Llyg5*YV3yrwNMHM3|Rv% znPWz&#s5s*&n77KKTS}}Sq$GKb1pX~e2p4d!_%#|t>IqG0KN^1zgZjLDpebEDfk>-=G z8cr7MO~3v_R^P+ZZT3)h9htL44O2krMB%M@S~cT$SSDr9Q#@9f$+}R zGGt5+1Ij%%pfxL3M5i<$91h#FT-_ds-;S&)Rn{Z486?tvif1n0557}*x2f;no?mLp z5+oX87`bG~OcHIaIS(w@VG{BJZEw-`uDzh^UpzJ^_6566pUPf6UIYu2@avSYbY*7gKKdu?pBHvcQ5W*TuN~*?p`PoDDGCYSkY2izWe_1 z%_O-qH|9fMg0iTERyX_zl#kP{Hl#b8p znF*#2v3^z}c3lWIEj!jODU|e{BrW@)%g%B)kI}ItCtfN3)oewK68|f=^`L~rG<--O zc_|WP5Gp z_;c=m(Q)`iM)d!$+7GlCo{A^Dm3FcZzMfwSs`F`)Fi!X?^+{+OoKDQtk+U+8DZ{DOSiA}j z4i2B>4*JCt)1D^J69nfM`pd+&qtBHtMB6hp8J!f>c;e{L(+Nd9RAX~4OXs66!=Dq) zJ`aN$undeA8(LS6TRM6r`o9dtFGjI#+oZNI>f3;{VMti$(Hb&Z>_}NY>MuAvGg>^` zZ%`36T2tYlRS$WkyF&K!sO?={`{x-A*um@s8a2*y2L)C$+vU%x_T=@iwsDxQSbS^j z96WxWL5W{7;iziq-)D<|*MKN4U{h9BlS{c9%&fYqFjVNY+oVd67F^LpJxYnH?!D4_ z$DPe6izfVu9W600_d7aafp0YR()WiHf=k8F@1Z%KY(2Av1ok*FYDuiccp_hKQ@p+! zPz98$<*7d(C?;zgV~1P|-7^np;-037d=yCC5lNkqF_<2HW1_2TViZ?S_UQzme z!l@3Y7E$TH!NI|vm6a7pE${rHY<*Et5feu>!dMT|&hKu=QfJn8Zm+xlu@54Wj~g=( zha)EUaktte7SX6)DAALik}^Ba4kHK#{hAd&zIKL)9Uu`HmaKXBRFccCN2LBZmMXm9 z87vJQQ>CTvOwP~DJg8On9@SKL0Xur}&V#8P>yvYG*ce$@uv1b}q4>+z-%&K zr>1mCqJLdqyL@l1_?Cagow^x9dhbgJjM>RT zHH)yQC^lE`L&@co&=v-ZS{`UigFhNS|HuBmaapTKCH?SW49qW%plXag=Q>X^*fd+v z`J=gu3l}z-mDXo9s)4mNqvbCSX_x!sL~>!#eeHNO67g&8ZdO)uEEK-%RG6HOKFL}G zGA?D@{&#PSrNYrNz=?S`KUcIpJe5%it~BU4IGktmDdPD#WtPcmZ_c)_;*EBERqSc-lU7Uy`y6R z!>8<>^K6NnGD?c@K}uE@i*bj$O=<}}U!tueC1K=!h5<-E!u0a$s#5dPwbHDw_i~IT zn6(vthD61~!(&1sRdws5UZ#aE|M%}-xl?mokd)ue5nY&GOdU>TY7mS5 zPLP;&)3ZutH@fA^QwC2Pg(PZS#>%KfYRMoRi3jmLnOjcfk1=@=9rlaRqUMi+&W?H@ zsZ5w*$?|~y(aFERf25_Q2UQR|x2H>|M#G+TFveyd>2U#ZA(zdX#pDg0-#6dYNph|C z>tN#I;>E9X1qE%rZPq=HJvwL7e|GYNGA<^#`P1_9y8CPDaB@`Fx%v3MXCyy`bkq?- z;3r^wv)B9Q8(nyK)MCq#p%rz8?RdsefD;lm$4 zAln>1Y&}&P$jNTf`576ygfCtgUPq8KCmI&^II=}8fvi`#(Ian*zd{zWDfSjwSXk_Y zxuW%D&>cX$F&bGVxF^evR(np9SV}cBG?ShrPM{{Bc3BP5SuagQv>5cFjSA86sBtvh z=QNNt7TWP+PjP7^#JX2&@sqk^V`Bv?#vkoLRrpZ$>6sa5YHDhg5dEHS;rzS~RA4`l zAEe94m7bY-XMcS#m0x^)eK@mJjSE^pr^n2{o^RJnLZkhTBA}Yh^!IW{X5ODGY?_ak z_iYtcfe5@LH`gdIU(H+D`CJ8AV`PJD!YoF$(0Q@OkRda_PTS`E{l%s@O)q)XYB_@w zs7g4e*Z;oG^$1ZsiwMm4%CAZ`*vX<^P@{LM^`1P0J&%Z8{@5uX;Hj_Zk8&5!d2h7F z%3LH@MS>XcTd^E88s%cEgUK9Dj>jE>f!qOs%9p7-YE<>ACI`d|1WAwV{=PokJ3Bk0&|glt za;tB)oAD}+`%%I3I0w?Xwf{MqK;at{6x0(EiN!?Xdn5OB=sX&%(}k0dR;0{AqSDmV z6oEh>@IoV_qodJCb|qO`%U$0=jD{NxkTq(X;3X6?!og1uR|)-L<6_ZQg?^kyt#1ts z49LonD!jlLc~CJ{Ha51XE86diB?nJqOG`^BuJ6;XXr>|;BtS9Y)xei+c9Yq&i3x}$ zf$_kB!+cS1+%*$uWeyz3pAe5Q#>3CA^WENP0vDL*&;3OkPYj&l?sMX^_qgZ0eqK(s-# zjsiI(xz)5UC{RJ#taT0~OHk6j-PQuG&@7d=d{sFI@;F;M&~D^ChKtxb1NVzNIcm7a5}$70OSBlH7KG_1EE|;q=CWU zZVWMXe&D7hWrg|9U}ShG#N9?v9_fq4P!zRCs4-KPyFG|kojN+JHRx&t`u8;&;@6LF zU5KQMN=*3B2fQVaj*LZsqvOfnf3xfdcPV?3&Jg?|h({$W!2|-9?fmxHxm$8x_ZUYc4#*8gi82S(MCc7-MCj1yX8z zH>f7&E{d@$s-U3IjEn(Kak_u{ef=%Zd%GV=u8Z58mWSu6Dk0%Dg>5L#%rtzZq^-@H z!OzO*;P7ya{RKSvYHti!AK223G?_nrU3!0)8xDl`3{B^YvaDq;nflkN67sOIDb12% zSiQfxy0ZIPA&f*3@LfcPv;tS07Bs&*5RN{e%yoze&c&k=Ve~guRh``8T@qjewHk{i zv!{sEV2c*A#pdL&oEZFiU)6|ZFQ*PYrYjrPgk04!(+C~iHTB=Qu`DrOQ)@o{NnxmM@MARjS8mqkZY7I(ViX zz@AA8#neWc$6v7Pd;0Yazf&W0?(^->mFCZr?;N}Su znjOJAQG?R$ZS&bMT@M)%S@nDoPr}}Rk4|oUW>)vgii-G{&HT#9jrzhNJ{X0Yz|=Vm z#RT`f?f?yjVp;>Geyfak{B*f9#DD{jeOZHtiOIH?xlPU9bj6vP05nkv(~DQ`W$lM- z>yTdx`1<<#7Tf)ygXwJA5ewD&adi{(;+i|1uHtNjz1ULB4PhGHp7w_v^VfAC?fNFJViDFTVM^znVHO~_JO^>uEuDr`aGIF zgUro~vhn6v)&P;#nHt1`BY?l1`ZZ8NvW5`G63u@@NGMJFyStX^-Gh;vKNUX_IaIE9 zda97|+atE3UAnx^P$VTK!+lFmKx!TyUoIy&>YtpG{Os)PLTfsz^bX9QSPHnev0&M< zMW1B-hNB6*WDDMyb$U2NegvTmfK$GIR)^LmNhHIg2|iiiREZc<+^wuO*~DEAVsm|+ zCX;Gi(Xf3pjww4|;Ih>lh#bb|ZgR&=V9$o<_xE-wH%v_Pup3LhuGPjAK>+9slqkTx zShz&6y-Qun-sfolRleonU=#* z9--t}o=UG@bCyG$vADUtej0qo_%feBK<6BNh38i-l1!nZl}nQPh9OJ~eE#jLg>7`jh(7)y$~v z-3H2rc5n*{DLV?SIQ6_EFn_IB$^EPD7AD%0eMtiX14m%|C(-QKl-B*wm&Va&DZ{>h z950~fy;@pYvA`6+C-pG1_{Z==ssjGr!^0zlf}x45+KYpcC4;IMT}nuYzkK&LWcUaG zY*>oNCT1r(8vAf?**hFcT6B?jUvKvKujx(%9(VCr?x;m5 zw(;3bzqLGFA_iEI8g$jjh4X}lhISrN_XpU{RdeSmlH@~S+8(p50PfM`XJy^%yj}~U zNaN~zYErF?WD85C2`>?Px86VsirIg~##U)R8vnutzGUtDQJ4KO^}Uq=U!&7f-L!0t zh-tTvTcLmEe}kC~d9 z>N3ncg2050m$skP@>lVtMTwxRLt6hv$V28`0yPpTh>34lJg})`mJq%zpy)IQ*h^XH z2NHLtvc&P}>FG8-4xKnyvV9;SAz?xHpYtxFVk2*FZ}g*1<^7dp5@{3I-&1gzyn@2> z1R7SH0H|{5(Hyk0wH3_bv07`?=7n%;Nw$-r6UWCY!=)5%cn0qABJf*mKU;M2bW%g1 zAAUTIblS&HG7Qe4BMu9LU%p*yeN7pY6dOw@;}h@C=4{v*t7gP32Y>G8YeJ!+B%IvzTR-nD8cEv)*7yY*ooqtV)bE(d;%awfcb=LFr=54{(@u6Uj#hteApY$5Vu$eByE;$;BVk&-ETrMkH~fvD$K4=yS~}fQV%qeEITaEJ|XYjr84G z>aE0fU~g})B-|T8=P`~peJY{<9lcF@>Z1VB5`nv`tLx{eo9LLBR}zDlRtCb9{WIhE;SJ^JkY76vuqnB+#^0F$L(9PaBt-^jsrnnI6RuIKXk!mrr;|$`x|S%+AF-t{1KFa9C@t z?HCGnD}c&HF#-Od0Mo?t=khF7XSLhz+sOMrYXcLrCRHZBibG3=&~vZGH@+Uqn>Y`CtIs`%d2Y zslRt?F1z#??$-n9{r>n&rXB7hKkKkQ{AEIR$DTPuuNXC9IW@{X|u?$xVTq;yl4XnoKB{P}M~ zg#ZC}53Pe8bne&S(;UEgCuV17ArhJ7>v8nWDD6fxn&PNDd89l(k+%baerw|M_;$Sz1=*& z*^9vRK&HCd!HP4Yc_k6ikgRB_U|qSfv4K7|I%+z)IGc%*LMNpIma|gDrX9LO)|=@U z`S2LlahBbKbsAO1WXxX^o7!5D9){j*FC#6jHU9cH916s=a@(|u$D=EaIc|v8@umTk z($$Zl-c7~&lbm5J@=Rgyza06O9w;90&LeO>Tqt&1e6$KGg=pXwNSXwd9334ItGJfD zK`XGVF;>YuWJktJYR@y6o|bRio~1bfkRV2w3gc)j+~WvgVGo!#@QFHEw6eg6zF9@0 z#7JHpKvpc8g?Lum$6zWr)Rv;E;^2x`HNnfv)ALMOwvI)K#!qyxF^-4*oKP4Y(IkungE%Jq_U^YKW*R;+tWLA3WAEm*z0_h{2~jpwYKwskh~T2HzSR z84;JiBQC>t`DmLkL1hSPzmdQ&ekDqI8Tp~ho{o2&C!hw|mrpN4vQgKpnnZLeaj#-ReUuyttJW8IJFYi6zN&-+h^IJLv zV@75NJ}@*yCnQXn^acGD1mmk&p`qsCHAa4^gaKR|gFJJL&c$wLB5elYIcMDdUrpWf~xVuM@)}D?>~y9fsI9zzDS_0%o2bIZ>z}r-MW22K7<4 zS%hR;{;M5rXUMobiSg{6p>6^PA*Fjsj+;6Lm6Vo zc)ps9ef($9$mR7L0Nx$}r_M}}jfLNH<-qqCk{VW3MXBru@tPtG?C%#DoCEPIDJh}a zGpvdLPHfy>)E{kDcV~rc#v$Bpw7C?|$EPmzvtJ0~8^%j8?_q(Lm)FcXg?!0p)tp~- z_4OB>fK&`4QeyH5Pr{H`T_NKGBqp#%Jtj(&r{;BU$`4O%?WBFI{V4q*m!%>99SJ{uVeo!KiC=|1m+*&RqBUo-E$q ztsi)5f%KZ?3yHJ*npENy%!e5wY>PsO!9-8^E~5woGrQp?UK9z3k3g(QjQ(?;PzDl7 zTCX+Iqs;HKwKf_xJ*%4{sqj$re<6pw z)w@%5bYZAVqvB-d#%?ZOkepM(v>0LQB zBw%PE{blGxSI-X=$cij?6rhm=lW+gUaOGMjx|gTmM^q52x?aJ7 zR0{b4S{ei`V(B59BZvZ)unrsEQ!&CD#{}G**OBiB#ob&g{paAN?r;v5p5w(6>-})Ht;4H(>TaS0z;Qvw;Nk~Y@ArX$~ z1DkUwM~@t69{kS^35g^9NJslC@thS3{(+~b#&4tasPo%B_yvA>O)e+su|wL_5nUft z{&Wfc_r>0;nU3a zs%=aWeT{1~CzWn9Pr=`_VlPn3e`$eGg*b72g5+Xp}*&6qx(98K9r#+heur;Fc?Mh*M)|gwl6D;9-6;$ zD)D#vBc`cONK~a1api zKfpjh7zp||4xH}=0f+hj*ADmmM4{-7@CKNqpj#nDlE>2JWP;W%mdzF1SSKn`pGMJe z392SN35HC-j;Nk3wvNc$opuEm`;eY;KL>kfd818o#$Tuj`CqJaFFS)O?QWdEm)J@i z)YBi!GttdKUHqigsNal~RsyaBj$fQSQ8^jn1*(jy+db7?6RU0qo-WxMtCf|x^P{}u z;Z}#7@{gbR*;&$7nMbXAUG{Nn0e>zKZitAf?K^wcxMB?bkujJhDFTAoyRsWFotx$Z zvIv`C@;RVDndn`&;U8b^p=rAmdl}IDD3j4eb<(~%3n?= zEZ6koYL>O;xV+ZY53nQ(@YaL`wluB}y_$2xH+p}#sBE8x2|oE+p5Ag)M=nfy#Eb!G zF+9W5x7wv_?Vj_`9^8cN;@ELN}caW)kk&)#DHE5XGJKM$^4_7wS6T)>aJj*-5>Zz5$9G zysf1fQ*XwJOl_x!;Y3|GQgo-WQ&id&l;UjB5`%w!>Rw+_ZDbduvh-S2o5|wkm<3~0 zhO%`fBQRYNydCr+XZ-5}v_MKZV7`rsXn|P_zRXDMy;8iM6vxsu(V|wXZV!A-XvfH{we4b3e3GUu#FdrCkHlO!wrw8+S4LIDQcqR^p;4|I7o8` zJnqzlT24l(@0h85Vz=m>Pm;|Hb##%JK5HR!(JNSeC<*b&BCDY^YdIgjd1pscjN{bB zJjSu+l3jEtj!J${oNo^#n`OJ=|6QQPdb`DxTHonRLZR$1u?_&z`08fNjbc$#1qn@} zTqZGzs)jbcfL&_-DR8jm{#_jow&LW<25=zhxMc2i&(Qk;HQdQfkD>-#DxGSU?GFPu zJZowgU8#oF;S+v?9wO&s>68x3bDQ}K!Qh>By9Sd_w}m{|8sS7sv8STtKkXIHS}t|y zYQ%zaX&0>WhrBZ*fSi}c=l<@+-V&yUhsxb9fdpn_u&pYncpWn%WHctz+z9oxZZyu&RQ2N8%rY0>?x9^ZV~^|C8uzOpXvyZ4 zPJ}D)2|8m@USaR!^!~yM$O64`nMH9UaU{lo(RL>EF|&hjg^xYg$Dt3~c!$UrMQHuEw_-OCEygjscE zM%*d_Uf5fE|6%4VD439Z=?QViw8zG&c|!8wI_B-xxYHJbOo6&u@pi2kqgt~X+lBuo z(B2k3B1}7AKKEA~`@LzSB`w7#HqNr3!8x@3t;_jKT%3~U)YFP*-?$%f4EKt&97eXE jX+aL~dk;fG0<^dL!<5Od@_ZZm%wZ+c$<2`lyPEP}o3~N) diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 8801dec64a72386162a8ae8b202f34fa08c0218d..df019cf2088624de2d8f352f67640eafc5fe09e4 100644 GIT binary patch literal 10371 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 Y8+3YV7CsPMOaB5n+qik0-SP-Gynhq