Merge branch 'Gargron-master'

This commit is contained in:
Vavassor 2017-03-07 22:35:02 -05:00
commit 7519ad5455
15 changed files with 130 additions and 51 deletions

View file

@ -15,29 +15,43 @@
package com.keylesspalace.tusky;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
public class SplashActivity extends AppCompatActivity {
public class SplashActivity extends Activity {
private static int SPLASH_TIME_OUT = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
/* Determine whether the user is currently logged in, and if so go ahead and load the
* timeline. Otherwise, start the activity_login screen. */
SharedPreferences preferences = getSharedPreferences(
getString(R.string.preferences_file_key), Context.MODE_PRIVATE);
String domain = preferences.getString("domain", null);
String accessToken = preferences.getString("accessToken", null);
Intent intent;
final Intent intent;
if (domain != null && accessToken != null) {
intent = new Intent(this, MainActivity.class);
} else {
intent = new Intent(this, LoginActivity.class);
}
startActivity(intent);
finish();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(intent);
finish();
}
}, SPLASH_TIME_OUT);
}
}

View file

@ -34,6 +34,9 @@ import android.widget.ToggleButton;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;
import com.squareup.picasso.Picasso;
import com.varunest.sparkbutton.SparkButton;
import com.varunest.sparkbutton.SparkButtonBuilder;
import com.varunest.sparkbutton.SparkEventListener;
import java.util.Date;
@ -47,8 +50,8 @@ class StatusViewHolder extends RecyclerView.ViewHolder {
private View rebloggedBar;
private TextView rebloggedByDisplayName;
private ImageButton replyButton;
private ImageButton reblogButton;
private ImageButton favouriteButton;
private SparkButton reblogButton;
private SparkButton favouriteButton;
private ImageButton moreButton;
private boolean favourited;
private boolean reblogged;
@ -72,8 +75,8 @@ class StatusViewHolder extends RecyclerView.ViewHolder {
rebloggedBar = itemView.findViewById(R.id.status_reblogged_bar);
rebloggedByDisplayName = (TextView) itemView.findViewById(R.id.status_reblogged);
replyButton = (ImageButton) itemView.findViewById(R.id.status_reply);
reblogButton = (ImageButton) itemView.findViewById(R.id.status_reblog);
favouriteButton = (ImageButton) itemView.findViewById(R.id.status_favourite);
reblogButton = (SparkButton) itemView.findViewById(R.id.status_reblog);
favouriteButton = (SparkButton) itemView.findViewById(R.id.status_favourite);
moreButton = (ImageButton) itemView.findViewById(R.id.status_more);
reblogged = false;
favourited = false;
@ -187,35 +190,25 @@ class StatusViewHolder extends RecyclerView.ViewHolder {
private void setReblogged(boolean reblogged) {
this.reblogged = reblogged;
int attribute;
if (reblogged) {
attribute = R.attr.status_reblog_button_marked_tint;
} else {
attribute = R.attr.status_reblog_button_tint;
}
ThemeUtils.setImageViewTint(reblogButton, attribute);
reblogButton.setChecked(reblogged);
}
/** This should only be called after setReblogged, in order to override the tint correctly. */
private void setRebloggingEnabled(boolean enabled) {
reblogButton.setEnabled(enabled);
if (enabled) {
reblogButton.setImageResource(R.drawable.ic_repeat_24dp);
reblogButton.setInactiveImage(R.drawable.reblog_inactive);
reblogButton.setActiveImage(R.drawable.reblog_active);
} else {
ThemeUtils.setImageViewTint(reblogButton, R.attr.status_reblog_button_disabled_tint);
reblogButton.setImageResource(R.drawable.ic_lock_24dp);
reblogButton.setInactiveImage(R.drawable.reblog_disabled);
reblogButton.setActiveImage(R.drawable.reblog_disabled);
}
}
private void setFavourited(boolean favourited) {
this.favourited = favourited;
int attribute;
if (favourited) {
attribute = R.attr.status_favourite_button_marked_tint;
} else {
attribute = R.attr.status_favourite_button_tint;
}
ThemeUtils.setImageViewTint(favouriteButton, attribute);
favouriteButton.setChecked(favourited);
}
private void setMediaPreviews(final Status.MediaAttachment[] attachments,
@ -313,15 +306,15 @@ class StatusViewHolder extends RecyclerView.ViewHolder {
listener.onReply(getAdapterPosition());
}
});
reblogButton.setOnClickListener(new View.OnClickListener() {
reblogButton.setEventListener(new SparkEventListener() {
@Override
public void onClick(View v) {
public void onEvent(ImageView button, boolean buttonState) {
listener.onReblog(!reblogged, getAdapterPosition());
}
});
favouriteButton.setOnClickListener(new View.OnClickListener() {
favouriteButton.setEventListener(new SparkEventListener() {
@Override
public void onClick(View v) {
public void onEvent(ImageView button, boolean buttonState) {
listener.onFavourite(!favourited, getAdapterPosition());
}
});