use of com.winsonchiu.reader.data.reddit.Replyable in project Reader by TheKeeperOfPie.
the class ControllerSearch method setReplyTextLinksSubreddit.
public boolean setReplyTextLinksSubreddit(String name, String text, boolean collapsed) {
for (int index = 0; index < linksSubreddit.getChildren().size(); index++) {
Thing thing = linksSubreddit.getChildren().get(index);
if (thing.getName().equals(name)) {
((Replyable) thing).setReplyText(text);
((Replyable) thing).setReplyExpanded(!collapsed);
eventHolder.callLinksSubreddit(new RxAdapterEvent<>(getLinksSubredditModel(), RxAdapterEvent.Type.CHANGE, index + 1));
return true;
}
}
return false;
}
use of com.winsonchiu.reader.data.reddit.Replyable in project Reader by TheKeeperOfPie.
the class ControllerProfile method setReplyText.
@Override
public boolean setReplyText(String name, String text, boolean collapsed) {
if (topLink != null && name.equals(topLink.getName())) {
topLink.setReplyText(text);
topLink.setReplyExpanded(!collapsed);
for (Listener listener : listeners) {
listener.getAdapter().notifyItemChanged(2);
}
return true;
}
if (topComment != null && name.equals(topComment.getName())) {
topComment.setReplyText(text);
topComment.setReplyExpanded(!collapsed);
for (Listener listener : listeners) {
listener.getAdapter().notifyItemChanged(4);
}
return true;
}
for (int index = 0; index < data.getChildren().size(); index++) {
Thing thing = data.getChildren().get(index);
if (thing.getName().equals(name)) {
((Replyable) thing).setReplyText(text);
((Replyable) thing).setReplyExpanded(!collapsed);
for (Listener listener : listeners) {
listener.getAdapter().notifyItemChanged(index + 6);
}
return true;
}
}
return false;
}
use of com.winsonchiu.reader.data.reddit.Replyable in project Reader by TheKeeperOfPie.
the class ControllerHistory method setReplyText.
@Override
public boolean setReplyText(String name, String text, boolean collapsed) {
for (int index = 0; index < history.getChildren().size(); index++) {
Thing thing = history.getChildren().get(index);
if (thing.getName().equals(name)) {
((Replyable) thing).setReplyText(text);
((Replyable) thing).setReplyExpanded(!collapsed);
eventHolder.call(new RxAdapterEvent<>(getData(), RxAdapterEvent.Type.CHANGE, index + 1));
return true;
}
}
return false;
}
use of com.winsonchiu.reader.data.reddit.Replyable in project Reader by TheKeeperOfPie.
the class ActivityMain method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
componentActivity = (ComponentActivity) getLastCustomNonConfigurationInstance();
if (componentActivity == null) {
componentActivity = CustomApplication.getComponentMain().componentActivity();
}
componentActivity.inject(this);
themer = new Themer(this);
int colorResourcePrimary = UtilsColor.showOnWhite(themer.getColorPrimary()) ? R.color.darkThemeIconFilter : R.color.lightThemeIconFilter;
int resourceIcon = UtilsColor.showOnWhite(themer.getColorPrimary()) ? R.mipmap.app_icon_white_outline : R.mipmap.app_icon_dark_outline;
colorFilterPrimary = new CustomColorFilter(ContextCompat.getColor(this, colorResourcePrimary), PorterDuff.Mode.MULTIPLY);
/**
* Required for {@link YouTubePlayerSupportFragment} to inflate proper UI
*/
getLayoutInflater().setFactory(this);
super.onCreate(savedInstanceState);
handler = new Handler();
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
inflateNavigationDrawer();
Receiver.setAlarm(this);
layoutDrawer.addDrawerListener(new DrawerLayout.SimpleDrawerListener() {
@Override
public void onDrawerClosed(View drawerView) {
if (loadId != 0) {
selectNavigationItem(loadId, null, true);
}
setAccountsVisible(false);
}
});
eventListenerBase = new EventListenerBase(componentActivity) {
@Override
public void onClickComments(Link link, AdapterLink.ViewHolderLink viewHolderLink, Source source) {
int color = viewHolderLink.getBackgroundColor();
FragmentBase fragment = (FragmentBase) getSupportFragmentManager().findFragmentById(R.id.frame_fragment);
fragment.onWindowTransitionStart();
FragmentComments fragmentComments = FragmentComments.newInstance(viewHolderLink, color);
fragmentComments.setFragmentToHide(fragment, viewHolderLink.itemView);
getSupportFragmentManager().beginTransaction().add(R.id.frame_fragment, fragmentComments, FragmentComments.TAG).addToBackStack(null).commit();
controllerCommentsTop.setLink(link, source);
}
@Override
public void loadUrl(String urlString) {
if (sharedPreferences.getBoolean(AppSettings.PREF_EXTERNAL_BROWSER, false)) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(urlString));
startActivity(intent);
return;
}
Log.d(TAG, "loadUrl: " + loadId);
URL url = null;
try {
url = new URL(urlString);
} catch (MalformedURLException e) {
e.printStackTrace();
}
if (url != null && url.getHost().contains("reddit.com")) {
Intent intent = new Intent(ActivityMain.this, ActivityMain.class);
intent.setAction(Intent.ACTION_VIEW);
intent.putExtra(REDDIT_PAGE, urlString);
startActivity(intent);
return;
}
launchUrl(urlString, false);
}
@Override
public void downloadImage(String title, String fileName, String url) {
imageDownload = new ImageDownload(title, fileName, url);
ActivityCompat.requestPermissions(ActivityMain.this, new String[] { android.Manifest.permission.WRITE_EXTERNAL_STORAGE }, REQUEST_PERMISSION_WRITE_EXTERNAL_STORAGE);
}
@Override
public void editLink(Link link) {
FragmentNewPost fragmentNewPost = FragmentNewPost.newInstanceEdit(controllerUser.getUser().getName(), link);
getSupportFragmentManager().beginTransaction().hide(getSupportFragmentManager().findFragmentById(R.id.frame_fragment)).add(R.id.frame_fragment, fragmentNewPost, FragmentNewPost.TAG).addToBackStack(null).commit();
}
@Override
public void showReplyEditor(Replyable replyable) {
FragmentReply fragmentReply = FragmentReply.newInstance(replyable);
fragmentReply.setFragmentToHide(getSupportFragmentManager().findFragmentById(R.id.frame_fragment));
getSupportFragmentManager().beginTransaction().add(R.id.frame_fragment, fragmentReply, FragmentReply.TAG).addToBackStack(null).commit();
}
@Override
public void loadWebFragment(String url) {
launchUrl(url, false);
}
@Override
public void launchScreen(Intent intent) {
startActivity(intent);
}
};
eventListenerComment = (comment, subreddit, linkId) -> {
if (comment.getCount() == 0) {
Intent intentCommentThread = new Intent(ActivityMain.this, ActivityMain.class);
intentCommentThread.setAction(Intent.ACTION_VIEW);
// Double slashes used to trigger parseUrl correctly
intentCommentThread.putExtra(REDDIT_PAGE, Reddit.BASE_URL + "/r/" + subreddit + "/comments/" + linkId + "/title/" + comment.getParentId() + "/");
startActivity(intentCommentThread);
return true;
}
return false;
};
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ActivityManager.TaskDescription taskDescription = new ActivityManager.TaskDescription("Reader", BitmapFactory.decodeResource(getResources(), resourceIcon), themer.getColorPrimary());
setTaskDescription(taskDescription);
}
customTabsServiceConnection = new CustomTabsServiceConnection() {
@Override
public void onCustomTabsServiceConnected(ComponentName componentName, CustomTabsClient customTabsClient) {
customTabsClient.warmup(0);
customTabsSession = customTabsClient.newSession(new CustomTabsCallback() {
@Override
public void onNavigationEvent(int navigationEvent, Bundle extras) {
super.onNavigationEvent(navigationEvent, extras);
Log.d(TAG, "onNavigationEvent() called with: " + "navigationEvent = [" + navigationEvent + "], extras = [" + extras + "]");
}
@Override
public void extraCallback(String callbackName, Bundle args) {
super.extraCallback(callbackName, args);
Log.d(TAG, "extraCallback() called with: " + "callbackName = [" + callbackName + "], args = [" + args + "]");
}
});
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
};
CustomTabsClient.bindCustomTabsService(this, getPackageName(), customTabsServiceConnection);
handleFirstLaunch(savedInstanceState);
showBetaNotice();
loadAccount();
UtilsImage.checkMaxTextureSize(handler, () -> {
});
}
use of com.winsonchiu.reader.data.reddit.Replyable in project Reader by TheKeeperOfPie.
the class ControllerComments method setReplyText.
public boolean setReplyText(ReplyModel replyModel) {
String name = replyModel.getNameParent();
String text = replyModel.getText();
boolean collapsed = replyModel.isCollapsed();
if (name.equals(link.getName())) {
link.setReplyText(text);
link.setReplyExpanded(!collapsed);
eventHolder.call(new RxAdapterEvent<>(getData(), RxAdapterEvent.Type.CHANGE, 0));
return true;
}
for (int index = 0; index < listingComments.getChildren().size(); index++) {
Thing thing = listingComments.getChildren().get(index);
if (thing.getName().equals(name)) {
((Replyable) thing).setReplyText(text);
((Replyable) thing).setReplyExpanded(!collapsed);
eventHolder.call(new RxAdapterEvent<>(getData(), RxAdapterEvent.Type.CHANGE, index + 1));
return true;
}
}
return false;
}
Aggregations