|
|
|
@ -33,10 +33,12 @@ import android.view.View; |
|
|
|
|
import android.widget.ImageView; |
|
|
|
|
|
|
|
|
|
import com.keylesspalace.tusky.entity.Account; |
|
|
|
|
import com.mikepenz.google_material_typeface_library.GoogleMaterial; |
|
|
|
|
import com.mikepenz.materialdrawer.AccountHeader; |
|
|
|
|
import com.mikepenz.materialdrawer.AccountHeaderBuilder; |
|
|
|
|
import com.mikepenz.materialdrawer.Drawer; |
|
|
|
|
import com.mikepenz.materialdrawer.DrawerBuilder; |
|
|
|
|
import com.mikepenz.materialdrawer.model.DividerDrawerItem; |
|
|
|
|
import com.mikepenz.materialdrawer.model.PrimaryDrawerItem; |
|
|
|
|
import com.mikepenz.materialdrawer.model.ProfileDrawerItem; |
|
|
|
|
import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem; |
|
|
|
@ -86,22 +88,8 @@ public class MainActivity extends BaseActivity { |
|
|
|
|
headerResult = new AccountHeaderBuilder() |
|
|
|
|
.withActivity(this) |
|
|
|
|
.withSelectionListEnabledForSingleProfile(false) |
|
|
|
|
.withTranslucentStatusBar(true) |
|
|
|
|
.withDividerBelowHeader(false) |
|
|
|
|
.withCompactStyle(true) |
|
|
|
|
.withOnAccountHeaderProfileImageListener(new AccountHeader.OnAccountHeaderProfileImageListener() { |
|
|
|
|
@Override |
|
|
|
|
public boolean onProfileImageClick(View view, IProfile profile, boolean current) { |
|
|
|
|
Intent intent = new Intent(MainActivity.this, AccountActivity.class); |
|
|
|
|
intent.putExtra("id", loggedInAccountId); |
|
|
|
|
startActivity(intent); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean onProfileImageLongClick(View view, IProfile profile, boolean current) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
.build(); |
|
|
|
|
|
|
|
|
|
DrawerImageLoader.init(new AbstractDrawerImageLoader() { |
|
|
|
@ -119,15 +107,16 @@ public class MainActivity extends BaseActivity { |
|
|
|
|
drawer = new DrawerBuilder() |
|
|
|
|
.withActivity(this) |
|
|
|
|
.withToolbar(toolbar) |
|
|
|
|
.withTranslucentStatusBar(true) |
|
|
|
|
.withAccountHeader(headerResult) |
|
|
|
|
.withHasStableIds(true) |
|
|
|
|
.withSelectedItem(-1) |
|
|
|
|
.addDrawerItems( |
|
|
|
|
new PrimaryDrawerItem().withIdentifier(1).withName(getString(R.string.action_view_favourites)).withSelectable(false), |
|
|
|
|
new PrimaryDrawerItem().withIdentifier(2).withName(getString(R.string.action_view_blocks)).withSelectable(false), |
|
|
|
|
new PrimaryDrawerItem().withIdentifier(3).withName(getString(R.string.action_view_preferences)).withSelectable(false), |
|
|
|
|
new PrimaryDrawerItem().withIdentifier(4).withName(getString(R.string.action_logout)).withSelectable(false) |
|
|
|
|
new PrimaryDrawerItem().withIdentifier(0).withName(R.string.action_view_profile).withSelectable(false).withIcon(GoogleMaterial.Icon.gmd_person), |
|
|
|
|
new PrimaryDrawerItem().withIdentifier(1).withName(getString(R.string.action_view_favourites)).withSelectable(false).withIcon(GoogleMaterial.Icon.gmd_star), |
|
|
|
|
new PrimaryDrawerItem().withIdentifier(2).withName(getString(R.string.action_view_blocks)).withSelectable(false).withIcon(GoogleMaterial.Icon.gmd_block), |
|
|
|
|
new DividerDrawerItem(), |
|
|
|
|
new SecondaryDrawerItem().withIdentifier(3).withName(getString(R.string.action_view_preferences)).withSelectable(false), |
|
|
|
|
new SecondaryDrawerItem().withIdentifier(4).withName(getString(R.string.action_logout)).withSelectable(false) |
|
|
|
|
) |
|
|
|
|
.withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { |
|
|
|
|
@Override |
|
|
|
@ -135,7 +124,11 @@ public class MainActivity extends BaseActivity { |
|
|
|
|
if (drawerItem != null) { |
|
|
|
|
long drawerItemIdentifier = drawerItem.getIdentifier(); |
|
|
|
|
|
|
|
|
|
if (drawerItemIdentifier == 1) { |
|
|
|
|
if (drawerItemIdentifier == 0) { |
|
|
|
|
Intent intent = new Intent(MainActivity.this, AccountActivity.class); |
|
|
|
|
intent.putExtra("id", loggedInAccountId); |
|
|
|
|
startActivity(intent); |
|
|
|
|
} else if (drawerItemIdentifier == 1) { |
|
|
|
|
Intent intent = new Intent(MainActivity.this, FavouritesActivity.class); |
|
|
|
|
startActivity(intent); |
|
|
|
|
} else if (drawerItemIdentifier == 2) { |
|
|
|
@ -236,39 +229,40 @@ public class MainActivity extends BaseActivity { |
|
|
|
|
final String domain = preferences.getString("domain", null); |
|
|
|
|
String id = preferences.getString("loggedInAccountId", null); |
|
|
|
|
String username = preferences.getString("loggedInAccountUsername", null); |
|
|
|
|
//if (id != null && username != null) {
|
|
|
|
|
// loggedInAccountId = id;
|
|
|
|
|
// loggedInAccountUsername = username;
|
|
|
|
|
//} else {
|
|
|
|
|
mastodonAPI.accountVerifyCredentials().enqueue(new Callback<Account>() { |
|
|
|
|
@Override |
|
|
|
|
public void onResponse(Call<Account> call, retrofit2.Response<Account> response) { |
|
|
|
|
Account me = response.body(); |
|
|
|
|
ImageView background = headerResult.getHeaderBackgroundView(); |
|
|
|
|
|
|
|
|
|
Picasso.with(MainActivity.this) |
|
|
|
|
.load(me.header) |
|
|
|
|
.placeholder(R.drawable.account_header_missing) |
|
|
|
|
.resize(background.getWidth(), background.getHeight()) |
|
|
|
|
.centerCrop() |
|
|
|
|
.into(background); |
|
|
|
|
|
|
|
|
|
headerResult.addProfiles( |
|
|
|
|
new ProfileDrawerItem() |
|
|
|
|
.withName(me.displayName) |
|
|
|
|
.withEmail(String.format("%s@%s", me.username, domain)) |
|
|
|
|
.withIcon(me.avatar) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
//onFetchUserInfoSuccess(response.body().id, response.body().username);
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onFailure(Call<Account> call, Throwable t) { |
|
|
|
|
onFetchUserInfoFailure((Exception) t); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
//}
|
|
|
|
|
if (id != null && username != null) { |
|
|
|
|
loggedInAccountId = id; |
|
|
|
|
loggedInAccountUsername = username; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
mastodonAPI.accountVerifyCredentials().enqueue(new Callback<Account>() { |
|
|
|
|
@Override |
|
|
|
|
public void onResponse(Call<Account> call, retrofit2.Response<Account> response) { |
|
|
|
|
Account me = response.body(); |
|
|
|
|
ImageView background = headerResult.getHeaderBackgroundView(); |
|
|
|
|
|
|
|
|
|
Picasso.with(MainActivity.this) |
|
|
|
|
.load(me.header) |
|
|
|
|
.placeholder(R.drawable.account_header_missing) |
|
|
|
|
.resize(background.getWidth(), background.getHeight()) |
|
|
|
|
.centerCrop() |
|
|
|
|
.into(background); |
|
|
|
|
|
|
|
|
|
headerResult.addProfiles( |
|
|
|
|
new ProfileDrawerItem() |
|
|
|
|
.withName(me.displayName) |
|
|
|
|
.withEmail(String.format("%s@%s", me.username, domain)) |
|
|
|
|
.withIcon(me.avatar) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
//onFetchUserInfoSuccess(response.body().id, response.body().username);
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onFailure(Call<Account> call, Throwable t) { |
|
|
|
|
onFetchUserInfoFailure((Exception) t); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void onFetchUserInfoSuccess(String id, String username) { |
|
|
|
|