From b4a91112a3fc3ea3ef0a109e26d259d1d4828bf7 Mon Sep 17 00:00:00 2001 From: Vavassor Date: Tue, 7 Feb 2017 02:05:50 -0500 Subject: [PATCH] Initial Alpha release! --- app/.gitignore | 1 + app/build.gradle | 2 +- app/src/main/AndroidManifest.xml | 2 +- app/src/main/ic_launcher-web.png | Bin 0 -> 18481 bytes .../keylesspalace/tusky/AccountActivity.java | 1 - .../keylesspalace/tusky/AccountFragment.java | 9 ++-- .../keylesspalace/tusky/ComposeActivity.java | 9 +++- .../java/com/keylesspalace/tusky/Log.java | 51 ++++++++++++++++++ .../keylesspalace/tusky/LoginActivity.java | 2 +- .../com/keylesspalace/tusky/MainActivity.java | 9 ++-- .../tusky/NotificationsFragment.java | 9 ++-- .../tusky/PullNotificationService.java | 14 ++--- .../com/keylesspalace/tusky/SFragment.java | 1 - .../keylesspalace/tusky/TimelineFragment.java | 1 - app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3418 -> 1673 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2206 -> 1189 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4842 -> 2487 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 7718 -> 4039 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 10486 -> 5686 bytes app/src/main/res/values/strings.xml | 3 ++ 20 files changed, 88 insertions(+), 26 deletions(-) create mode 100644 app/src/main/ic_launcher-web.png create mode 100644 app/src/main/java/com/keylesspalace/tusky/Log.java diff --git a/app/.gitignore b/app/.gitignore index 796b96d1..e493cfc4 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -1 +1,2 @@ /build +app-release.apk \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 0202e99b..d8a06d48 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,7 +8,7 @@ android { minSdkVersion 15 targetSdkVersion 25 versionCode 1 - versionName "1.0" + versionName "1.0.0-alpha.1" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary true } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7de530cf..480c07b6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,7 +8,7 @@ diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..6b0126e91af69f14c7bef9fa46bdd1deecd9754b GIT binary patch literal 18481 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�{$~wntgjbmO-3p~A~N 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 literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java index cbc4b213..e7937bcf 100644 --- a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java +++ b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.java @@ -28,7 +28,6 @@ import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.text.method.LinkMovementMethod; -import android.util.Log; import android.util.TypedValue; import android.view.Menu; import android.view.MenuItem; diff --git a/app/src/main/java/com/keylesspalace/tusky/AccountFragment.java b/app/src/main/java/com/keylesspalace/tusky/AccountFragment.java index 08d6ec0b..af619231 100644 --- a/app/src/main/java/com/keylesspalace/tusky/AccountFragment.java +++ b/app/src/main/java/com/keylesspalace/tusky/AccountFragment.java @@ -45,6 +45,8 @@ import java.util.Map; public class AccountFragment extends Fragment implements AccountActionListener, FooterActionListener { + private static final String TAG = "Account"; + public enum Type { FOLLOWS, FOLLOWERS, @@ -166,7 +168,7 @@ public class AccountFragment extends Fragment implements AccountActionListener, try { accounts = Account.parse(response); } catch (JSONException e) { - onFetchAccountsFailure(); + onFetchAccountsFailure(e); return; } onFetchAccountsSuccess(accounts, fromId != null); @@ -175,7 +177,7 @@ public class AccountFragment extends Fragment implements AccountActionListener, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { - onFetchAccountsFailure(); + onFetchAccountsFailure(error); } }) { @Override @@ -201,8 +203,9 @@ public class AccountFragment extends Fragment implements AccountActionListener, showFetchAccountsRetry(false); } - private void onFetchAccountsFailure() { + private void onFetchAccountsFailure(Exception exception) { showFetchAccountsRetry(true); + Log.e(TAG, "Fetch failure: " + exception.getMessage()); } private void showFetchAccountsRetry(boolean show) { diff --git a/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java b/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java index e3278a1c..82e4ab4d 100644 --- a/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java +++ b/app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java @@ -404,8 +404,9 @@ public class ComposeActivity extends AppCompatActivity { private void readyStatus(final String content, final String visibility, final boolean sensitive, final String spoilerText) { - final ProgressDialog dialog = ProgressDialog.show(this, "Finishing Media Upload", - "Uploading...", true, true); + final ProgressDialog dialog = ProgressDialog.show( + this, getString(R.string.dialog_title_finishing_media_upload), + getString(R.string.dialog_message_uploading_media), true, true); final AsyncTask waitForMediaTask = new AsyncTask() { @Override @@ -734,6 +735,10 @@ public class ComposeActivity extends AppCompatActivity { Uri uri = data.getData(); ContentResolver contentResolver = getContentResolver(); Cursor cursor = getContentResolver().query(uri, null, null, null, null); + if (cursor == null) { + displayTransientError(R.string.error_media_upload_opening); + return; + } int sizeIndex = cursor.getColumnIndex(OpenableColumns.SIZE); cursor.moveToFirst(); long mediaSize = cursor.getLong(sizeIndex); diff --git a/app/src/main/java/com/keylesspalace/tusky/Log.java b/app/src/main/java/com/keylesspalace/tusky/Log.java new file mode 100644 index 00000000..5a55af78 --- /dev/null +++ b/app/src/main/java/com/keylesspalace/tusky/Log.java @@ -0,0 +1,51 @@ +/* Copyright 2017 Andrew Dawson + * + * This file is part of Tusky. + * + * Tusky is free software: you can redistribute it and/or modify it under the terms of the GNU + * General Public License as published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * Tusky is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + * Public License for more details. + * + * You should have received a copy of the GNU General Public License along with Tusky. If not, see + * . */ + +package com.keylesspalace.tusky; + +/**A wrapper for android.util.Log that allows for disabling logging, such as for release builds.*/ +public class Log { + private static final boolean LOGGING_ENABLED = BuildConfig.DEBUG; + + public static void i(String tag, String string) { + if (LOGGING_ENABLED) { + android.util.Log.i(tag, string); + } + } + + public static void e(String tag, String string) { + if (LOGGING_ENABLED) { + android.util.Log.e(tag, string); + } + } + + public static void d(String tag, String string) { + if (LOGGING_ENABLED) { + android.util.Log.d(tag, string); + } + } + + public static void v(String tag, String string) { + if (LOGGING_ENABLED) { + android.util.Log.v(tag, string); + } + } + + public static void w(String tag, String string) { + if (LOGGING_ENABLED) { + android.util.Log.w(tag, string); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/keylesspalace/tusky/LoginActivity.java b/app/src/main/java/com/keylesspalace/tusky/LoginActivity.java index 39352fe3..4f80550b 100644 --- a/app/src/main/java/com/keylesspalace/tusky/LoginActivity.java +++ b/app/src/main/java/com/keylesspalace/tusky/LoginActivity.java @@ -24,7 +24,6 @@ import android.net.Uri; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; -import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -129,6 +128,7 @@ public class LoginActivity extends AppCompatActivity { parameters.put("client_name", getString(R.string.app_name)); parameters.put("redirect_uris", getOauthRedirectUri()); parameters.put("scopes", OAUTH_SCOPES); + parameters.put("website", getString(R.string.app_website)); } catch (JSONException e) { Log.e(TAG, "Unable to build the form data for the authentication request."); return; diff --git a/app/src/main/java/com/keylesspalace/tusky/MainActivity.java b/app/src/main/java/com/keylesspalace/tusky/MainActivity.java index 82b921dc..5ef86cbf 100644 --- a/app/src/main/java/com/keylesspalace/tusky/MainActivity.java +++ b/app/src/main/java/com/keylesspalace/tusky/MainActivity.java @@ -27,7 +27,6 @@ import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.Toolbar; -import android.util.Log; import android.util.TypedValue; import android.view.Menu; import android.view.MenuItem; @@ -137,7 +136,7 @@ public class MainActivity extends AppCompatActivity { id = response.getString("id"); username = response.getString("acct"); } catch (JSONException e) { - onFetchUserInfoFailure(); + onFetchUserInfoFailure(e); return; } onFetchUserInfoSuccess(id, username); @@ -146,7 +145,7 @@ public class MainActivity extends AppCompatActivity { new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { - onFetchUserInfoFailure(); + onFetchUserInfoFailure(error); } }) { @Override @@ -171,9 +170,9 @@ public class MainActivity extends AppCompatActivity { editor.apply(); } - private void onFetchUserInfoFailure() { + private void onFetchUserInfoFailure(Exception exception) { //TODO: help - Log.e(TAG, "Failed to fetch the logged-in user's info."); + Log.e(TAG, "Failed to fetch user info. " + exception.getMessage()); } /* @Unused: For Firebase push notifications, useless for now. diff --git a/app/src/main/java/com/keylesspalace/tusky/NotificationsFragment.java b/app/src/main/java/com/keylesspalace/tusky/NotificationsFragment.java index 7cf6b25b..9209b1eb 100644 --- a/app/src/main/java/com/keylesspalace/tusky/NotificationsFragment.java +++ b/app/src/main/java/com/keylesspalace/tusky/NotificationsFragment.java @@ -42,6 +42,8 @@ import java.util.Map; public class NotificationsFragment extends SFragment implements SwipeRefreshLayout.OnRefreshListener, StatusActionListener, FooterActionListener { + private static final String TAG = "Notifications"; // logging tag + private SwipeRefreshLayout swipeRefreshLayout; private RecyclerView recyclerView; private NotificationsAdapter adapter; @@ -108,13 +110,13 @@ public class NotificationsFragment extends SFragment implements List notifications = Notification.parse(response); onFetchNotificationsSuccess(notifications, fromId != null); } catch (JSONException e) { - onFetchNotificationsFailure(); + onFetchNotificationsFailure(e); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { - onFetchNotificationsFailure(); + onFetchNotificationsFailure(error); } }) { @Override @@ -141,9 +143,10 @@ public class NotificationsFragment extends SFragment implements swipeRefreshLayout.setRefreshing(false); } - private void onFetchNotificationsFailure() { + private void onFetchNotificationsFailure(Exception exception) { showFetchTimelineRetry(true); swipeRefreshLayout.setRefreshing(false); + Log.e(TAG, "Fetch failure: " + exception.getMessage()); } private void showFetchTimelineRetry(boolean show) { diff --git a/app/src/main/java/com/keylesspalace/tusky/PullNotificationService.java b/app/src/main/java/com/keylesspalace/tusky/PullNotificationService.java index a32bc993..d69189c5 100644 --- a/app/src/main/java/com/keylesspalace/tusky/PullNotificationService.java +++ b/app/src/main/java/com/keylesspalace/tusky/PullNotificationService.java @@ -26,7 +26,6 @@ import android.provider.Settings; import android.support.annotation.Nullable; import android.support.v4.app.NotificationCompat; import android.support.v4.app.TaskStackBuilder; -import android.util.Log; import com.android.volley.AuthFailureError; import com.android.volley.Response; @@ -44,7 +43,8 @@ import java.util.List; import java.util.Map; public class PullNotificationService extends IntentService { - private final int NOTIFY_ID = 6; // This is an arbitrary number. + private static final int NOTIFY_ID = 6; // This is an arbitrary number. + private static final String TAG = "PullNotifications"; public PullNotificationService() { super("Tusky Pull Notification Service"); @@ -76,7 +76,7 @@ public class PullNotificationService extends IntentService { try { notifications = Notification.parse(response); } catch (JSONException e) { - onCheckNotificationsFailure(); + onCheckNotificationsFailure(e); return; } onCheckNotificationsSuccess(notifications, lastUpdate); @@ -84,7 +84,7 @@ public class PullNotificationService extends IntentService { }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { - onCheckNotificationsFailure(); + onCheckNotificationsFailure(error); } }) { @Override @@ -134,9 +134,9 @@ public class PullNotificationService extends IntentService { } } - private void onCheckNotificationsFailure() { + private void onCheckNotificationsFailure(Exception exception) { //TODO: not sure if just logging here is enough? - Log.e("Error", "Could not check notifications in the service."); + Log.e(TAG, "Failed to check notifications. " + exception.getMessage()); } private static class MentionResult { @@ -193,7 +193,7 @@ public class PullNotificationService extends IntentService { if (preferences.getBoolean("notificationStyleVibrate", false)) { builder.setVibrate(new long[] { 500, 500 }); } - if (preferences.getBoolean("notificationStyleLight", true)) { + if (preferences.getBoolean("notificationStyleLight", false)) { builder.setLights(0xFF00FF8F, 300, 1000); } for (int i = 0; i < mentions.size(); i++) { diff --git a/app/src/main/java/com/keylesspalace/tusky/SFragment.java b/app/src/main/java/com/keylesspalace/tusky/SFragment.java index 515b838c..a4652ec7 100644 --- a/app/src/main/java/com/keylesspalace/tusky/SFragment.java +++ b/app/src/main/java/com/keylesspalace/tusky/SFragment.java @@ -24,7 +24,6 @@ import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v7.widget.PopupMenu; import android.support.v7.widget.RecyclerView; -import android.util.Log; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/com/keylesspalace/tusky/TimelineFragment.java b/app/src/main/java/com/keylesspalace/tusky/TimelineFragment.java index 208a05f9..5cebce5e 100644 --- a/app/src/main/java/com/keylesspalace/tusky/TimelineFragment.java +++ b/app/src/main/java/com/keylesspalace/tusky/TimelineFragment.java @@ -24,7 +24,6 @@ import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.DividerItemDecoration; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png index cde69bcccec65160d92116f20ffce4fce0b5245c..8bdc4459717bec157ba5bcbc32952fe140f3b720 100644 GIT binary patch delta 1657 zcmV-<28Q|C8i@^%BYy@^Nklf*3*O zPte4~1euHZ~+YJe-V;jTyaXc6OE=KYm;*($=nBOU|A>OC~2L&5NKHFJ6!h z8#ZtOpeMe6|1SH%@QGc$dX-pNS!s#dxN#%t>gqBNf`1wt8;QNWJ=ge&6DP>epFdai zfVXeorX)W;y^fBKUz;GjWk*Lxu3^k03kwVX>LJU^%c`B2iIM+#=!W=}G$f`l##Ao;~BPp}l?k_K~HfCG`kuXlT$rd_X|Js^=Yj z7#SHM4h|057&~_CFdCz(s)`~tH#e8Mo{^D3T}K~OA!u=Nk^7wwbnDhFRpx~J{CuiI z#>y^`7()NNygcgqwQJW5e!7YgBz#jCvKZQG0Dn44xT+Z&sr-D%TXAtQb^Y<<$JBLq zcXw*8QjDOTJ9lb>goTBvy0Sz^M^l}utE-dr8yp~2T^PO;qmFyC#?wO4dqcW zf`5X7C?7vRKgsrde0=ndNJR)bbm$NjptiPFbpa=o6ENgzLiG3d>x`cB=g&*F6&xI_ zcj8xsAmQo-d-(97>IC5>2xG2azn*;l{8@WFJ3Cv4phu4$Nwx*GFZ8>6_pY)8A&C?Q zxPSk?>I5P2b#-;6;vyvhpojuAB=cz=)|KYmEI6&V>x`C>&@lpySn2?Id3n*wLf zoT1|4Qvt4AxuP?A&Ye4_x1ETH2+H@tg9pkIggTGhhfxx3ZEZS4KnXiLJL~-3+uN(R zo$cGVQ@%()6eTD#Gm{E{ok>#wf)3S3VQjvNAT;D~hT3p)a-#e(!7ED8ojZ4^0DmZQ z$*CMF0esHJ_ST!5n++;+u|H&lq6A3=K{e16n3Z{05ONs|j?-(EO8_m?&A*M1Lad<>jU0-`d)$Ucn57dT~G~+?Ow3Do)I|Z{J9I zdb+FwP{`X3A3jWO+_=G2IUz%&Ryzn@ap^?yl51L8noeL;0hK&Y^y<|s9qpoo6%`e! zUz7g&^($8ol6rucm>8}!vRVuc4Uv?T6!FO~N?wT52Dyf802`Jj+4ey$w10c|ZoQqr z%7LN&_U&7vLh#L-H>9krjO(~?6H#n-c6OwuriS}O1c#nv8H6IXyiK}sh>?_(lw|bb zur&lSV`F1E|K#Lk5*HUocJ10lTwGjabr5A$VUY_(u&k^sS@+^BqM3AI1OVKr#s}lSycH- zN=i6242b}}f;lK5A%Uy+Ag4o(cyx4>{1;$H@EAdiAVv@)$czYTg>o}?A}s~SjvZUk ze>Ez2O;TT9Z}#LsR0`6aemMk%Xl#jBv)H}BsSb0rkdP4Z{(qL-e;nrUBw3JE%l*e8 zkKg|JKj(nPhRxIlHP)!H#Fdi6z`(%3z`(%3VBz>1JFvdKiKPs#00000NkvXXu0mjf DE{{1s literal 3418 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 delta 2195 zcmV;E2yFMI37!#004R>004l5008;`004mK z004C`008P>0026e000+ooVrmw00006VoOIv00000008+zyMF)x010qNS#tmY3ljhU z3ljkVnw%H_00*E+L_t(&-tAdkY!ufO{?475^{#iq-c;^Dmy#{tlF zn2UDq+?oI&B7XskqVt14KD48|Z|2gspW4!NjY-f0yVrcCZHvtAf9?KnMZp(|!29oH z21uZ${mz;f0I1iHfV!f0?jb3Sns?v0Fc8I9Q3%Mx2i|z^lXDZt;&r^?splVDAE6(G ze9B_k_1t~y<7uqB@b`&Ve|zw~(*U>@6A1>4^+}vU}5!#{kHC?rGQ7Y+rpxY>wQfCgoNV z##{y$v463{hy((3%FgE0mkO8pmxuQL_0*X&X9@tszTe&dY^o8DoH+W)6TkU!{|f-d zucik8K#j-at$U7ac&)yrw(G(v+1D^%X-_oKexc~|z&2o8`~(1inTzdgD5K*U-Ze2| z47GOCTVo$ho!tAtu}uIn018np8&wEEqPutLU4PpTbRPo<4CzExH39p7vh;rX*vY=L z?+*0?n2HKYsfNJv8hbJGL1hvZ>p(|GM{LcbZNFD*c)4xWqGdTKXsRIOeX_>WQs{Z` z@x`woLeZ>5K-qqvXHR@C^}2wEf_H+uvOKW+ChB;@_g>z#6BVMQTqEszc57GTXT=d8 zL1ChYk%#g27yiTmWxn;r8 zQ^yC#!p1Gx+V$jfPz7dN?& zCr=};q>z_WI5qkzE{vZH?WxAmmVejkpF4l@<4IpzfWBz!O0KH};#~Fw&Sg&&trVyo zP$TR&IeiSrhks!!mK_HGZtqI>y$u}pS|TWfltiO?UnyXmA1@e=2;RHZa4Cj@cGjC@ zv)B@3@E`(OGDTks8_@YLbm9Q;-jPDVhRB?`T5lu*D^_&WYH_M%aAd$v;D2G@1Iu2S z(D7D#rADNeE^SFvB0#O3^{I+TL%@ewx!TYPR0mMEqM;U^<<#ercuI}svV~zok`QFL zlqDjDm@E@z_FOmem(+`3@1;Dc^JK9vWG9aTVR))dSR>%&?)-GA1XUaMCFz8VkYb)BPL zi72XxP8O`x_T&K-mrdI%c0L3FF9Y5ptLw9s3t2#QFHb@-Yl4)e&>=fXsTBJprL&@y zjrSn%Y!B`cUkK>|`;AH>RBN+kZ86NHwX}lR;OSF=2lT?M^v&&k@wYz>U7FQ(-{Cn( zoQEA!7>Z(V7=PIHZG-n8OxZV982FhPIq{cc=P!FP_--Y}$7e|z+CLU{roXIe!oPnl zBV=vZ?1hKPT=&@#I#I3e)XGijldu15;2R&jf9Wg$-94vY6ae*_hMN~IYi?2$<%(A- z!zf(w1*u^eY=4iO{clFs@ezP509P1=rK|u@gKPUI)qkkMF#p_?_ku4+AZq*dBymIj zFXewDA7BDFxU!7^001R)MObuXVRU6WV{&C-bY%cCFflYOFgYzSHB>P$IyE;sH8?FW zH##sdyvITA0000bbVXQnWMOn=I&E)cX=ZrgFgH3d VFwL6zQVak9002ovPDHLkV1gTG3DE!m diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png index bfa42f0e7b91d006d22352c9ff2f134e504e3c1d..88090fec8537e74286739ea1738a8ad9b6834a13 100644 GIT binary patch delta 2478 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 literal 4842 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 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 324e72cdd7480cb983fa1bcc7ce686e51ef87fe7..3b5fa2c88c7d82e40d852cc062994fc85fa94195 100644 GIT binary patch literal 4039 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 literal 7718 zcmZ{JWl)?=u?hpbj?h-6mfK3P*Eck~k0Tzeg5-hkABxtZea0_k$f-mlF z0S@Qqtva`>x}TYzc}9LrO?P#qj+P1@HZ?W?0C;Muih9o&|G$cb@ocx1*PEUJ%~tM} z901hB;rx4#{@jOHs_MN00ADr$2n+#$yJuJ64gh!x0KlF(07#?(0ENrf7G3D`0EUHz zisCaq%dJ9dz%zhdRNuG*01nCjDhiPCl@b8xIMfv7^t~4jVRrSTGYyZUWqY@yW=)V_ z&3sUP1SK9v1f{4lDSN(agrKYULc;#EGDVeU*5b@#MOSY5JBn#QG8wqxQh+mdR638{mo5f>O zLUdZIPSjFk0~F26zDrM3y_#P^P91oWtLlPaZrhnM$NR%qsbHHK#?fN?cX?EvAhY1Sr9A(1;Kw4@87~|;2QP~ z(kKOGvCdB}qr4m#)1DwQFlh^NdBZvNLkld&yg%&GU`+boBMsoj5o?8tVuY^b0?4;E zsxoLxz8?S$y~a~x0{?dqk+6~Dd(EG7px_yH(X&NX&qEtHPUhu*JHD258=5$JS12rQ zcN+7p>R>tbFJ3NzEcRIpS98?}YEYxBIA8}1Y8zH9wq0c{hx+EXY&ZQ!-Hvy03X zLTMo4EZwtKfwb294-cY5XhQRxYJSybphcrNJWW2FY+b?|QB^?$5ZN=JlSs9Og(;8+ z*~-#CeeEOxt~F#aWn8wy-N_ilDDe_o+SwJD>4y?j5Lpj z2&!EX)RNxnadPBAa?fOj5D1C{l1E0X?&G3+ckcVfk`?%2FTsoUf4@~eaS#th=zq7v zMEJR@1T?Pi4;$xiPv`3)9rsrbVUH&b0e2{YTEG%;$GGzKUKEim;R6r>F@Q-}9JR-< zOPpQI>W0Vt6&7d?~$d&}chKTr_rELu} zWY;KTvtpJFr?P~ReHL4~2=ABn1`GN4Li%OI_1{mMRQi1Bf?+^Va?xdn4>h)Bq#ZRK zYo%R_h5etrv|!$1QF8fu80fN?1oXe(Jx#e6H^$+>C}N{*i$bNbELsXDA>cxlh|iFq zh~$yJ?1lTdcFd1Yv+Hr^PP!yupP!0H@Y6(wFcaVE+0?qjDJ1;*-Q8qL{NNPc{GAoi z_kBH`kw^(^7ShmzArk^A-!3_$W%!M-pGaZC=K`p-ch&iT%CV0>ofS74aPd7oT&cRr zXI30fVV6#PR*Z?c*orR0!$K6SUl9!H>hG+%`LdifNk`!Sw7Hon{Wn=|qV{a%v9nEq zAdBW*5kq6il=yA}x8cZQt^c+RBS|TRn;!?$ue?@jIV~0w1dt1FJRYI-K5>z-^01)R z)r}A&QXp^?-?}Uj`}ZPqB#}xO-?{0wrmi|eJOEjzdXbey4$rtKNHz)M*o?Ov+;S=K z-l~`)xV`%7Gvzy5wfvwqc0|80K29k0G~1nuBO+y-6)w11Kz2{>yD{HTt-uybe2pe? zUZK*Eij7TT4NwF1Jr@6R7gMuu^@qn#zPIgRtF?-SJL83LBDrh7k#{F^222EXPg}S0d4Lf0!|1 z|2k$^b~)^8$Z-yH{B-vo%7sVU@ZCvXN+Am)-fy$afZ_4HAUpK}j4p`UyXRel-+(VS z#K>-=-oA1pH+Lo$&|!lYB|M7Y&&bF##Oi@y_G3p1X$0I{jS1!NEdTz#x0`H`d*l%X z*8Y3>L*>j@ZQGOdPqwY(GzbA4nxqT(UAP<-tBf{_cb&Hn8hO5gEAotoV;tF6K4~wr2-M0v|2acQ!E@G*g$J z)~&_lvwN%WW>@U_taX5YX@a~pnG7A~jGwQwd4)QKk|^d_x9j+3JYmI5H`a)XMKwDt zk(nmso_I$Kc5m+8iVbIhY<4$34Oz!sg3oZF%UtS(sc6iq3?e8Z;P<{OFU9MACE6y( zeVprnhr!P;oc8pbE%A~S<+NGI2ZT@4A|o9bByQ0er$rYB3(c)7;=)^?$%a${0@70N zuiBVnAMd|qX7BE)8})+FAI&HM|BIb3e=e`b{Do8`J0jc$H>gl$zF26=haG31FDaep zd~i}CHSn$#8|WtE06vcA%1yxiy_TH|RmZ5>pI5*8pJZk0X54JDQQZgIf1Pp3*6hepV_cXe)L2iW$Ov=RZ4T)SP^a_8V} z+Nl?NJL7fAi<)Gt98U+LhE>x4W=bfo4F>5)qBx@^8&5-b>y*Wq19MyS(72ka8XFr2 zf*j(ExtQkjwN|4B?D z7+WzS*h6e_Po+Iqc-2n)gTz|de%FcTd_i9n+Y5*Vb=E{8xj&|h`CcUC*(yeCf~#Mf zzb-_ji&PNcctK6Xhe#gB0skjFFK5C4=k%tQQ}F|ZvEnPcH=#yH4n%z78?McMh!vek zVzwC0*OpmW2*-A6xz0=pE#WdXHMNxSJ*qGY(RoV9)|eu)HSSi_+|)IgT|!7HRx~ zjM$zp%LEBY)1AKKNI?~*>9DE3Y2t5p#jeqeq`1 zsjA-8eQKC*!$%k#=&jm+JG?UD(}M!tI{wD*3FQFt8jgv2xrRUJ}t}rWx2>XWz9ndH*cxl()ZC zoq?di!h6HY$fsglgay7|b6$cUG-f!U4blbj(rpP^1ZhHv@Oi~;BBvrv<+uC;%6QK!nyQ!bb3i3D~cvnpDAo3*3 zXRfZ@$J{FP?jf(NY7~-%Kem>jzZ2+LtbG!9I_fdJdD*;^T9gaiY>d+S$EdQrW9W62 z6w8M&v*8VWD_j)fmt?+bdavPn>oW8djd zRnQ}{XsIlwYWPp;GWLXvbSZ8#w25z1T}!<{_~(dcR_i1U?hyAe+lL*(Y6c;j2q7l! zMeN(nuA8Z9$#w2%ETSLjF{A#kE#WKus+%pal;-wx&tTsmFPOcbJtT?j&i(#-rB}l@ zXz|&%MXjD2YcYCZ3h4)?KnC*X$G%5N)1s!0!Ok!F9KLgV@wxMiFJIVH?E5JcwAnZF zU8ZPDJ_U_l81@&npI5WS7Y@_gf3vTXa;511h_(@{y1q-O{&bzJ z*8g>?c5=lUH6UfPj3=iuuHf4j?KJPq`x@en2Bp>#zIQjX5(C<9-X4X{a^S znWF1zJ=7rEUwQ&cZgyV4L12f&2^eIc^dGIJP@ToOgrU_Qe=T)utR;W$_2Vb7NiZ+d z$I0I>GFIutqOWiLmT~-Q<(?n5QaatHWj**>L8sxh1*pAkwG>siFMGEZYuZ)E!^Hfs zYBj`sbMQ5MR;6=1^0W*qO*Zthx-svsYqrUbJW)!vTGhWKGEu8c+=Yc%xi}Rncu3ph zTT1j_>={i3l#~$!rW!%ZtD9e6l6k-k8l{2w53!mmROAD^2yB^e)3f9_Qyf&C#zk`( z|5RL%r&}#t(;vF4nO&n}`iZpIL=p9tYtYv3%r@GzLWJ6%y_D(icSF^swYM`e8-n43iwo$C~>G<)dd0ze@5}n(!^YD zHf#OVbQ$Li@J}-qcOYn_iWF=_%)EXhrVuaYiai|B<1tXwNsow(m;XfL6^x~|Tr%L3~cs0@c) zDvOFU-AYn1!A;RBM0S}*EhYK49H$mBAxus)CB*KW(87#!#_C0wDr<0*dZ+GN&(3wR z6)cFLiDvOfs*-7Q75ekTAx)k!dtENUKHbP|2y4=tf*d_BeZ(9kR*m;dVzm&0fkKuD zVw5y9N>pz9C_wR+&Ql&&y{4@2M2?fWx~+>f|F%8E@fIfvSM$Dsk26(UL32oNvTR;M zE?F<7<;;jR4)ChzQaN((foV z)XqautTdMYtv<=oo-3W-t|gN7Q43N~%fnClny|NNcW9bIPPP5KK7_N8g!LB8{mK#! zH$74|$b4TAy@hAZ!;irT2?^B0kZ)7Dc?(7xawRUpO~AmA#}eX9A>+BA7{oDi)LA?F ze&CT`Cu_2=;8CWI)e~I_65cUmMPw5fqY1^6v))pc_TBArvAw_5Y8v0+fFFT`T zHP3&PYi2>CDO=a|@`asXnwe>W80%%<>JPo(DS}IQiBEBaNN0EF6HQ1L2i6GOPMOdN zjf3EMN!E(ceXhpd8~<6;6k<57OFRs;mpFM6VviPN>p3?NxrpNs0>K&nH_s ze)2#HhR9JHPAXf#viTkbc{-5C7U`N!`>J-$T!T6%=xo-)1_WO=+BG{J`iIk%tvxF39rJtK49Kj#ne;WG1JF1h7;~wauZ)nMvmBa2PPfrqREMKWX z@v}$0&+|nJrAAfRY-%?hS4+$B%DNMzBb_=Hl*i%euVLI5Ts~UsBVi(QHyKQ2LMXf` z0W+~Kz7$t#MuN|X2BJ(M=xZDRAyTLhPvC8i&9b=rS-T{k34X}|t+FMqf5gwQirD~N1!kK&^#+#8WvcfENOLA`Mcy@u~ zH10E=t+W=Q;gn}&;`R1D$n(8@Nd6f)9=F%l?A>?2w)H}O4avWOP@7IMVRjQ&aQDb) zzj{)MTY~Nk78>B!^EbpT{&h zy{wTABQlVVQG<4;UHY?;#Je#-E;cF3gVTx520^#XjvTlEX>+s{?KP#Rh@hM6R;~DE zaQY16$Axm5ycukte}4FtY-VZHc>=Ps8mJDLx3mwVvcF<^`Y6)v5tF`RMXhW1kE-;! z7~tpIQvz5a6~q-8@hTfF9`J;$QGQN%+VF#`>F4K3>h!tFU^L2jEagQ5Pk1U_I5&B> z+i<8EMFGFO$f7Z?pzI(jT0QkKnV)gw=j74h4*jfkk3UsUT5PemxD`pO^Y#~;P2Cte zzZ^pr>SQHC-576SI{p&FRy36<`&{Iej&&A&%>3-L{h(fUbGnb)*b&eaXj>i>gzllk zLXjw`pp#|yQIQ@;?mS=O-1Tj+ZLzy+aqr7%QwWl?j=*6dw5&4}>!wXqh&j%NuF{1q zzx$OXeWiAue+g#nkqQ#Uej@Zu;D+@z^VU*&HuNqqEm?V~(Z%7D`W5KSy^e|yF6kM7 z8Z9fEpcs^ElF9Vnolfs7^4b0fsNt+i?LwUX8Cv|iJeR|GOiFV!JyHdq+XQ&dER(KSqMxW{=M)lA?Exe&ZEB~6SmHg`zkcD7x#myq0h61+zhLr_NzEIjX zr~NGX_Uh~gdcrvjGI(&5K_zaEf}1t*)v3uT>~Gi$r^}R;H+0FEE5El{y;&DniH2@A z@!71_8mFHt1#V8MVsIYn={v&*0;3SWf4M$yLB^BdewOxz;Q=+gakk`S{_R_t!z2b| z+0d^C?G&7U6$_-W9@eR6SH%+qLx_Tf&Gu5%pn*mOGU0~kv~^K zhPeqYZMWWoA(Y+4GgQo9nNe6S#MZnyce_na@78ZnpwFenVafZC3N2lc5Jk-@V`{|l zhaF`zAL)+($xq8mFm{7fXtHru+DANoGz-A^1*@lTnE;1?03lz8kAnD{zQU=Pb^3f` zT5-g`z5|%qOa!WTBed-8`#AQ~wb9TrUZKU)H*O7!LtNnEd!r8!Oda)u!Gb5P`9(`b z`lMP6CLh4OzvXC#CR|@uo$EcHAyGr=)LB7)>=s3 zvU;aR#cN3<5&CLMFU@keW^R-Tqyf4fdkOnwI(H$x#@I1D6#dkUo@YW#7MU0@=NV-4 zEh2K?O@+2e{qW^7r?B~QTO)j}>hR$q9*n$8M(4+DOZ00WXFonLlk^;os8*zI>YG#? z9oq$CD~byz>;`--_NMy|iJRALZ#+qV8OXn=AmL^GL&|q1Qw-^*#~;WNNNbk(96Tnw zGjjscNyIyM2CYwiJ2l-}u_7mUGcvM+puPF^F89eIBx27&$|p_NG)fOaafGv|_b9G$;1LzZ-1aIE?*R6kHg}dy%~K(Q5S2O6086 z{lN&8;0>!pq^f*Jlh=J%Rmaoed<=uf@$iKl+bieC83IT!09J&IF)9H)C?d!eW1UQ}BQwxaqQY47DpOk@`zZ zo>#SM@oI^|nrWm~Ol7=r`!Bp9lQNbBCeHcfN&X$kjj0R(@?f$OHHt|fWe6jDrYg3(mdEd$8P2Yzjt9*EM zLE|cp-Tzsdyt(dvLhU8}_IX&I?B=|yoZ!&<`9&H5PtApt=VUIB4l0a1NH v0SQqt3DM`an1p};^>=lX|A*k@Y-MNT^ZzF}9G-1G696?OEyXH%^Pv9$0dR%J diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index aee44e138434630332d88b1680f33c4b24c70ab3..94bd03d7306886a96e3293492fe788f145e95d67 100644 GIT binary patch literal 5686 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 EAH27^4gdfE literal 10486 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 Tusky + http://tusky.keylesspalace.com com.keylesspalace.tusky oauth2redirect @@ -112,6 +113,8 @@ websites.\n\nSo, find the address of one you\'d like to join and enter it here. This will direct you there to either make an account or log in. + Finishing Media Upload + Uploading… Show on public timeline Do not display on public timeline