From a5a77fca04debc52d7ac02181f0d6e0e9b8db052 Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Fri, 30 Aug 2019 11:35:44 +0800 Subject: [PATCH] View crosspost parent in ViewPostDetailActivity when clicking the crosspost icon or select Crosspost parent menu item in toolbar. Filter NSFW posts in FilteredThingActivity is now available. --- .idea/caches/build_file_checksums.ser | Bin 533 -> 533 bytes .idea/caches/gradle_models.ser | Bin 309771 -> 309732 bytes app/build.gradle | 2 +- .../CommentAndPostRecyclerViewAdapter.java | 13 +++++++++ .../FilteredThingActivity.java | 7 +++-- .../infinityforreddit/ParsePost.java | 19 +++++++----- .../infinityforreddit/Post.java | 12 ++++++++ .../infinityforreddit/PostFragment.java | 2 +- .../PostRecyclerViewAdapter.java | 10 +++++++ .../infinityforreddit/PostViewModel.java | 4 +++ .../ViewPostDetailActivity.java | 27 +++++++++++++----- .../res/menu/view_post_detail_activity.xml | 27 +++++++++++------- app/src/main/res/values/strings.xml | 3 ++ build.gradle | 2 +- 14 files changed, 99 insertions(+), 29 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index b4c3a5c81ef539f609e19b56527bfa937697aa28..d2551b59efbeba89b8e2d80e5d3a8830ff8ea4c1 100644 GIT binary patch delta 53 zcmV-50LuTB1eFAkm;~IurtFcNpAeuD9@L>%V?t L-_)&Jv$w!_iW?a( delta 53 zcmV-50LuTB1eFAkm;}};#Nm;gpAa#AeqRA6x&TqoLmz(1xge8E0l5*YDz?iTJC3>< Lqj$?iEw~$aSC1A; diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser index 321d1240257103881a74eed8ccd8368e8f8b7d2d..5191ed486b8eb7b2b77fa1a5bc79aa074ece3286 100644 GIT binary patch delta 1946 zcmb7FYfKzf6y7^?cr@$M3JbeSu)DTMwGo&d*xBV(mejTNkys2(s7VR4yE9v`A{11j zDTru@QEc&MIR#p6CDcL{i~D12&_dHxh^B;SEd61ug(iv-f~i)mHFahm{_xkBOzzyw z{qA?p`SP7PZ~U5m{YLtk{4G#>yZ=PQxn+X@?$()=h;Q#a!0YTQsS%t1B!R(&smaKN zz|$mk_f_R~bDJTb3ex6eztkpjPFgQbgK^;UD$SL*+VA2E_yR6JcC_%t6>E#3gSp(Q zu7>nB!*N=*-%Us4?8M#A<;r_v*n&p!zzd9_uwBElsq?-pzZz&OChq}9b`0WGAUzytqW~jw>Y;+h{i!%8S&DKAxnaPDO4WcM)LOkz`>svhO4PPWWmRpn6w0~ z7^7uPG1_JR;V`WputTSB9%jx(D9*e z^rn$iE%>|;r(gAaK80a5Vq0w;KiWM@EqTu!OT?{;xcSFwP7 zlZ+WO@#w@SS<%d;>(;`Un(E8N34)6clmz8sQ4|GE5;(p@4!DDoTMlxf#0P^CCq-GJ zHDXgc;q^tuuVs>ps~x)WHJ!w#pE`#g|0Ny&>eNjyzD%CdM{kbHb3kg1`ms6B9exeZ zm+93TX#>f_!jE*PmfJ`ixVlj{{#A*+8>btIu{&p3$yp}t2ch9BlU+F?Gxw&z&pC4; z{OlR#MY<_uj@mr#RHeR&nSKPG2%j9qYg4R8pBl!v8e&6mKXrt%G=r{>eeU85(2kGs#za_Rpr;<%FyGFA-Dt`H;>-JV`E^!?tRb$+sW$hnAQN5wt3%!KWdYNwM18wwzV$K zc|KL-2I#rZX0Ls|T02R4^WXEN-lM{!lbC!6WO(+y*(s&@5VTk!gN;0=tUm+&1Ya73 zQ5df&-i?QEkW%!Ifg6qtmVBsX@D^;YW%8B6)9@{@(%KA8oCdS<$NSJtaAX38q3x$z P7g5bWQxQLgv6O!RyJUJG delta 2019 zcmb7FYfPI}81DJ{(l*1Eu3TESNk`Zqu#M7>(%WD_lpme@fy^6 zG;vYcXgz^9WhsNr%!o_}jrlYh(ugKF;w5g=I4?6{1~6(&M&{**vn{mIpXblXN#6H) zp7)&dyyv}nOZUo#?$Ut@hy>o+5jR(8tuS&(tc$li{slm|IaCxcc3&WHxIEDiU-TR& zs%wKSdqRD(YK%PsWlG_RP?u1{(@rq~4eX)95cgGY za+T@&WasEymyIU;+vr7~Hp{T+Yuveos6Hn2Jk7~W{V9Z8bsfLdhR_(~is*;O^9%W= zWH^*!Tu;X}`(F0+&~|?bZ0N;ux;#`*TW{vm%YJp1`+I+VW*;|pt=6dK*T#QM9%4V$ zL`yTOO~NLvT)jza`DyqD-0Wu{7BN!`uKaXffm(dtm2-u_Q91>ZVW|;37OTT-b&EEKhxgeQ< zDVqNG1SVUpwNB){K7n^w1drDun!PsBY_p4QpU3QWIIK2Ht(o__|3mv&717bN6FfsH zH22K?4C&ahk7%&6oG@zWX=_4$gqJ$6NzePZQl%=lWB9O4CL`E9LM)r^ zEi}mUs6J}Qm{xKHxr9sg!>ndDo5@nL&LG#(dshtFt=>&_QL;C4A{hBcZed^|JdU=( zK?X$9ZaOSF3M?vkImi`oIb%2-AS}4F){Y05v~qaUv0wlrzq2Vxu{<=6a`|}ogTUef zjP8`{af%U?w44@qJ;bC$mnZMSkH2PmUP!i5FK&OAW4ZODC#L%4b_P!n{$%e0C-pAK zjT5>0+kfklrsgu!swCsl0BE>O~U5;j3J} zR3bo|0tSSOuVJ4bK7~tTpMQoeT`&oj+--MowF?@HujATyYBI_7=~bQD8aDLL&Pt5| zIJviYP4(ztDv~pjjpv-AwI6+pH%@~O#(w@rl3b(EZGbE1+uEgt*P)Sv8@K$GNM@iL v{#f`eiYI2^G%PlqtCLi3!gm0xwvmBU<~YHjIXJJln)mixre^0n%qaf_U%Y{~ diff --git a/app/build.gradle b/app/build.gradle index 3ddc20d7..05b8c29d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,7 +55,7 @@ dependencies { androidTestImplementation "androidx.room:room-testing:$rootProject.roomVersion" // Lifecycle components implementation "androidx.lifecycle:lifecycle-extensions:$rootProject.archLifecycleVersion" - annotationProcessor "androidx.lifecycle:lifecycle-compiler:$rootProject.archLifecycleVersion" + annotationProcessor "androidx.lifecycle:lifecycle-common-java8:$rootProject.archLifecycleVersion" implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' implementation 'io.reactivex.rxjava2:rxjava:2.2.0' implementation 'com.squareup.retrofit2:retrofit:2.6.1' diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java index 8952cf12..17314525 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/CommentAndPostRecyclerViewAdapter.java @@ -315,6 +315,11 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter { + Intent crosspostIntent = new Intent(mActivity, ViewPostDetailActivity.class); + crosspostIntent.putExtra(ViewPostDetailActivity.EXTRA_POST_ID, mPost.getCrosspostParentId()); + mActivity.startActivity(crosspostIntent); + }); ((PostDetailViewHolder) holder).mCrosspostImageView.setVisibility(View.VISIBLE); } @@ -356,6 +361,14 @@ class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter { + Intent intent = new Intent(mActivity, FilteredThingActivity.class); + intent.putExtra(FilteredThingActivity.EXTRA_NAME, mSubredditNamePrefixed.substring(2)); + intent.putExtra(FilteredThingActivity.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT); + intent.putExtra(FilteredThingActivity.EXTRA_SORT_TYPE, PostDataSource.SORT_TYPE_HOT); + intent.putExtra(FilteredThingActivity.EXTRA_FILTER, Post.NSFW_TYPE); + mActivity.startActivity(intent); + }); ((PostDetailViewHolder) holder).mNSFWChip.setVisibility(View.VISIBLE); } else { ((PostDetailViewHolder) holder).mNSFWChip.setVisibility(View.GONE); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/FilteredThingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/FilteredThingActivity.java index 37142432..f4425773 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/FilteredThingActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/FilteredThingActivity.java @@ -217,6 +217,9 @@ public class FilteredThingActivity extends AppCompatActivity implements SortType } switch (filter) { + case Post.NSFW_TYPE: + toolbar.setSubtitle(R.string.nsfw); + break; case Post.TEXT_TYPE: toolbar.setSubtitle(R.string.text); break; @@ -243,10 +246,10 @@ public class FilteredThingActivity extends AppCompatActivity implements SortType bundle.putInt(PostFragment.EXTRA_FILTER, filter); bundle.putString(PostFragment.EXTRA_ACCESS_TOKEN, mAccessToken); if(postType == PostDataSource.TYPE_USER) { - bundle.putString(PostFragment.EXTRA_USER_WHERE, getIntent().getExtras().getString(EXTRA_USER_WHERE)); + bundle.putString(PostFragment.EXTRA_USER_WHERE, getIntent().getStringExtra(EXTRA_USER_WHERE)); } if(postType == PostDataSource.TYPE_SEARCH) { - bundle.putString(PostFragment.EXTRA_QUERY, getIntent().getExtras().getString(EXTRA_QUERY)); + bundle.putString(PostFragment.EXTRA_QUERY, getIntent().getStringExtra(EXTRA_QUERY)); } mFragment.setArguments(bundle); getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout_filtered_posts_activity, mFragment).commit(); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java b/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java index c6e75042..3271b434 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/ParsePost.java @@ -98,7 +98,7 @@ class ParsePost { try { JSONObject data = allData.getJSONObject(0).getJSONObject(JSONUtils.DATA_KEY); - post = parseBasicData(data, locale, -1); + post = parseBasicData(data, locale); } catch (JSONException e) { Log.e("parsing post error", "message: " + e.getMessage()); parseFailed = true; @@ -115,7 +115,7 @@ class ParsePost { for (int i = 0; i < size; i++) { try { JSONObject data = allData.getJSONObject(i).getJSONObject(JSONUtils.DATA_KEY); - Post post = parseBasicData(data, locale, i); + Post post = parseBasicData(data, locale); if(!(!nsfw && post.isNSFW())) { if (filter == PostFragment.EXTRA_NO_FILTER) { newPosts.add(post); @@ -123,6 +123,8 @@ class ParsePost { newPosts.add(post); } else if (filter == Post.LINK_TYPE && post.getPostType() == Post.NO_PREVIEW_LINK_TYPE) { newPosts.add(post); + } else if(filter == Post.NSFW_TYPE && post.isNSFW()) { + newPosts.add(post); } } } catch (JSONException e) { @@ -151,7 +153,7 @@ class ParsePost { } } - private static Post parseBasicData(JSONObject data, Locale locale, int i) throws JSONException { + private static Post parseBasicData(JSONObject data, Locale locale) throws JSONException { String id = data.getString(JSONUtils.ID_KEY); String fullName = data.getString(JSONUtils.NAME_KEY); String subredditName = data.getString(JSONUtils.SUBREDDIT_KEY); @@ -200,15 +202,18 @@ class ParsePost { if(data.has(JSONUtils.CROSSPOST_PARENT_LIST)) { //Cross post data = data.getJSONArray(JSONUtils.CROSSPOST_PARENT_LIST).getJSONObject(0); - return parseData(data, permalink, id, fullName, subredditName, subredditNamePrefixed, + Post crosspostParent = parseBasicData(data, locale); + Post post = parseData(data, permalink, id, fullName, subredditName, subredditNamePrefixed, author, formattedPostTime, title, previewUrl, previewWidth, previewHeight, score, voteType, gilded, flair, spoiler, nsfw, stickied, archived, locked, saved, - true, i); + true); + post.setCrosspostParentId(crosspostParent.getId()); + return post; } else { return parseData(data, permalink, id, fullName, subredditName, subredditNamePrefixed, author, formattedPostTime, title, previewUrl, previewWidth, previewHeight, score, voteType, gilded, flair, spoiler, nsfw, stickied, archived, locked, saved, - false, i); + false); } } @@ -217,7 +222,7 @@ class ParsePost { String formattedPostTime, String title, String previewUrl, int previewWidth, int previewHeight, int score, int voteType, int gilded, String flair, boolean spoiler, boolean nsfw, boolean stickied, boolean archived, - boolean locked, boolean saved, boolean isCrosspost, int i) throws JSONException { + boolean locked, boolean saved, boolean isCrosspost) throws JSONException { Post post; boolean isVideo = data.getBoolean(JSONUtils.IS_VIDEO_KEY); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Post.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Post.java index 99236eac..9a5371c2 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Post.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Post.java @@ -8,6 +8,7 @@ import android.os.Parcelable; */ class Post implements Parcelable { + static final int NSFW_TYPE = -1; static final int TEXT_TYPE = 0; static final int IMAGE_TYPE = 1; static final int LINK_TYPE = 2; @@ -47,6 +48,7 @@ class Post implements Parcelable { private boolean isCrosspost; private boolean isDashVideo; private boolean isDownloadableGifOrVideo; + private String crosspostParentId; Post(String id, String fullName, String subredditName, String subredditNamePrefixed, String author, String postTime, String title, String previewUrl, String permalink, int score, int postType, @@ -166,6 +168,7 @@ class Post implements Parcelable { isCrosspost = in.readByte() != 0; isDashVideo = in.readByte() != 0; isDownloadableGifOrVideo = in.readByte() != 0; + crosspostParentId = in.readString(); } public static final Creator CREATOR = new Creator() { @@ -373,6 +376,14 @@ class Post implements Parcelable { return isCrosspost; } + public String getCrosspostParentId() { + return crosspostParentId; + } + + public void setCrosspostParentId(String crosspostParentId) { + this.crosspostParentId = crosspostParentId; + } + @Override public void writeToParcel(Parcel parcel, int i) { parcel.writeString(id); @@ -407,5 +418,6 @@ class Post implements Parcelable { parcel.writeByte((byte) (isCrosspost ? 1 : 0)); parcel.writeByte((byte) (isDashVideo ? 1 : 0)); parcel.writeByte((byte) (isDownloadableGifOrVideo ? 1 : 0)); + parcel.writeString(crosspostParentId); } } \ No newline at end of file diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java index 1a65da3d..379c3f7d 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/PostFragment.java @@ -60,7 +60,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator { static final String EXTRA_POST_TYPE = "EPT"; static final String EXTRA_SORT_TYPE = "EST"; static final String EXTRA_FILTER = "EF"; - static final int EXTRA_NO_FILTER = -1; + static final int EXTRA_NO_FILTER = -2; static final String EXTRA_ACCESS_TOKEN = "EAT"; private static final String IS_IN_LAZY_MODE_STATE = "IILMS"; diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/PostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/PostRecyclerViewAdapter.java index fc2b4024..3cc6ed8f 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/PostRecyclerViewAdapter.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/PostRecyclerViewAdapter.java @@ -309,6 +309,16 @@ class PostRecyclerViewAdapter extends PagedListAdapter { + Intent intent = new Intent(mContext, FilteredThingActivity.class); + intent.putExtra(FilteredThingActivity.EXTRA_NAME, post.getSubredditNamePrefixed().substring(2)); + intent.putExtra(FilteredThingActivity.EXTRA_POST_TYPE, PostDataSource.TYPE_SUBREDDIT); + intent.putExtra(FilteredThingActivity.EXTRA_SORT_TYPE, PostDataSource.SORT_TYPE_HOT); + intent.putExtra(FilteredThingActivity.EXTRA_FILTER, Post.NSFW_TYPE); + mContext.startActivity(intent); + }); + } ((DataViewHolder) holder).nsfwChip.setVisibility(View.VISIBLE); } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/PostViewModel.java b/app/src/main/java/ml/docilealligator/infinityforreddit/PostViewModel.java index aef2a574..97fc836b 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/PostViewModel.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/PostViewModel.java @@ -48,6 +48,7 @@ public class PostViewModel extends ViewModel { (new PagedList.Config.Builder()) .setEnablePlaceholders(false) .setPageSize(25) + .setInitialLoadSizeHint(75) .build(); posts = Transformations.switchMap(NSFWAndSortTypeLiveData, sort -> { @@ -79,6 +80,7 @@ public class PostViewModel extends ViewModel { (new PagedList.Config.Builder()) .setEnablePlaceholders(false) .setPageSize(25) + .setInitialLoadSizeHint(75) .build(); posts = Transformations.switchMap(NSFWAndSortTypeLiveData, sort -> { @@ -110,6 +112,7 @@ public class PostViewModel extends ViewModel { (new PagedList.Config.Builder()) .setEnablePlaceholders(false) .setPageSize(25) + .setInitialLoadSizeHint(75) .build(); posts = Transformations.switchMap(NSFWAndSortTypeLiveData, sort -> { @@ -141,6 +144,7 @@ public class PostViewModel extends ViewModel { (new PagedList.Config.Builder()) .setEnablePlaceholders(false) .setPageSize(25) + .setInitialLoadSizeHint(75) .build(); posts = Transformations.switchMap(sortTypeLiveData, sort -> { diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java index bdff4479..fc2cab68 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/ViewPostDetailActivity.java @@ -340,6 +340,8 @@ public class ViewPostDetailActivity extends AppCompatActivity implements FlairBo mMenu.findItem(R.id.action_edit_flair_view_post_detail_activity).setVisible(true); } + + mMenu.findItem(R.id.action_view_crosspost_parent_view_post_detail_activity).setVisible(mPost.getCrosspostParentId() != null); } mAdapter = new CommentAndPostRecyclerViewAdapter(ViewPostDetailActivity.this, mRetrofit, @@ -429,13 +431,15 @@ public class ViewPostDetailActivity extends AppCompatActivity implements FlairBo } else { saveItem.setVisible(false); } - } - if(mMenu != null && mPost.getAuthor().equals(mAccountName)) { - if(mPost.getPostType() == Post.TEXT_TYPE) { - mMenu.findItem(R.id.action_edit_view_post_detail_activity).setVisible(true); + if(mPost.getAuthor().equals(mAccountName)) { + if(mPost.getPostType() == Post.TEXT_TYPE) { + mMenu.findItem(R.id.action_edit_view_post_detail_activity).setVisible(true); + } + mMenu.findItem(R.id.action_delete_view_post_detail_activity).setVisible(true); } - mMenu.findItem(R.id.action_delete_view_post_detail_activity).setVisible(true); + + mMenu.findItem(R.id.action_view_crosspost_parent_view_post_detail_activity).setVisible(mPost.getCrosspostParentId() != null); } mAdapter = new CommentAndPostRecyclerViewAdapter(ViewPostDetailActivity.this, @@ -637,6 +641,8 @@ public class ViewPostDetailActivity extends AppCompatActivity implements FlairBo } else { saveItem.setVisible(false); } + + mMenu.findItem(R.id.action_view_crosspost_parent_view_post_detail_activity).setVisible(mPost.getCrosspostParentId() != null); } } @@ -654,7 +660,7 @@ public class ViewPostDetailActivity extends AppCompatActivity implements FlairBo mProgressBar.setVisibility(View.GONE); mFetchPostInfoLinearLayout.setVisibility(View.VISIBLE); mFetchPostInfoLinearLayout.setOnClickListener(view -> fetchPostAndCommentsById(subredditId)); - mFetchPostInfoTextView.setText(R.string.load_posts_error); + mFetchPostInfoTextView.setText(R.string.load_post_error); mGlide.load(R.drawable.error_image).into(mFetchPostInfoImageView); } @@ -838,6 +844,8 @@ public class ViewPostDetailActivity extends AppCompatActivity implements FlairBo menu.findItem(R.id.action_edit_flair_view_post_detail_activity).setVisible(true); } + + menu.findItem(R.id.action_view_crosspost_parent_view_post_detail_activity).setVisible(mPost.getCrosspostParentId() != null); } return true; } @@ -915,7 +923,12 @@ public class ViewPostDetailActivity extends AppCompatActivity implements FlairBo }); } } - break; + return true; + case R.id.action_view_crosspost_parent_view_post_detail_activity: + Intent crosspostIntent = new Intent(this, ViewPostDetailActivity.class); + crosspostIntent.putExtra(ViewPostDetailActivity.EXTRA_POST_ID, mPost.getCrosspostParentId()); + startActivity(crosspostIntent); + return true; case R.id.action_edit_view_post_detail_activity: Intent editPostItent = new Intent(this, EditPostActivity.class); editPostItent.putExtra(EditPostActivity.EXTRA_ACCESS_TOKEN, mAccessToken); diff --git a/app/src/main/res/menu/view_post_detail_activity.xml b/app/src/main/res/menu/view_post_detail_activity.xml index 756f51b7..83888218 100644 --- a/app/src/main/res/menu/view_post_detail_activity.xml +++ b/app/src/main/res/menu/view_post_detail_activity.xml @@ -11,7 +11,7 @@ @@ -22,34 +22,41 @@ app:showAsAction="never" /> + + - - + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1cde4e7a..0eb7335c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -23,6 +23,8 @@ Download Refresh Add a comment + Save post + Crosspost parent Search Start Lazy Mode Stop Lazy Mode @@ -44,6 +46,7 @@ Error loading image. Tap to retry. Error loading posts.\nTap to retry. + Error loading this post.\nTap to retry. Error searching subreddits.\nTap to retry. Error searching users.\nTap to retry. No posts found diff --git a/build.gradle b/build.gradle index e08c9801..fe345c9d 100644 --- a/build.gradle +++ b/build.gradle @@ -31,6 +31,6 @@ task clean(type: Delete) { } ext { - roomVersion = '2.2.0-alpha02' + roomVersion = '2.2.0-beta01' archLifecycleVersion = '2.2.0-alpha03' } \ No newline at end of file