new dialog style, replaced enums
This commit is contained in:
parent
6adaca9bff
commit
4e8f00de4e
|
@ -7,3 +7,5 @@
|
||||||
/build
|
/build
|
||||||
/captures
|
/captures
|
||||||
.externalNativeBuild
|
.externalNativeBuild
|
||||||
|
/app/release/
|
||||||
|
/.idea/caches/
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||||
<component name="GradleSettings">
|
<component name="GradleSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
<GradleProjectSettings>
|
<GradleProjectSettings>
|
||||||
|
<option name="delegatedBuild" value="false" />
|
||||||
|
<option name="testRunner" value="PLATFORM" />
|
||||||
<option name="distributionType" value="LOCAL" />
|
<option name="distributionType" value="LOCAL" />
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
<option name="gradleHome" value="/opt/Gradle/gradle-6.0.1" />
|
<option name="gradleHome" value="/opt/Gradle/gradle-6.0.1" />
|
||||||
|
@ -13,7 +16,6 @@
|
||||||
</set>
|
</set>
|
||||||
</option>
|
</option>
|
||||||
<option name="resolveModulePerSourceSet" value="false" />
|
<option name="resolveModulePerSourceSet" value="false" />
|
||||||
<option name="testRunner" value="PLATFORM" />
|
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectModuleManager">
|
<component name="ProjectModuleManager">
|
||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/Shitter.iml" filepath="$PROJECT_DIR$/.idea/Shitter.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/Shitter.iml" filepath="$PROJECT_DIR$/.idea/Shitter.iml" group="Shitter" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
|
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" group="Shitter/app" />
|
||||||
</modules>
|
</modules>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
|
@ -1,7 +1,7 @@
|
||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
buildToolsVersion '29.0.2'
|
buildToolsVersion '29.0.3'
|
||||||
compileSdkVersion 29
|
compileSdkVersion 29
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
|
|
|
@ -193,7 +193,7 @@ public class AppSettings extends AppCompatActivity implements OnClickListener, O
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
switch (v.getId()) {
|
switch (v.getId()) {
|
||||||
case R.id.delete_db:
|
case R.id.delete_db:
|
||||||
new Builder(this)
|
new Builder(this, R.style.InfoDialog)
|
||||||
.setMessage(R.string.delete_database_popup)
|
.setMessage(R.string.delete_database_popup)
|
||||||
.setNegativeButton(R.string.no_confirm, null)
|
.setNegativeButton(R.string.no_confirm, null)
|
||||||
.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||||
|
@ -207,7 +207,7 @@ public class AppSettings extends AppCompatActivity implements OnClickListener, O
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case R.id.logout:
|
case R.id.logout:
|
||||||
new Builder(this)
|
new Builder(this, R.style.InfoDialog)
|
||||||
.setMessage(R.string.confirm_log_lout)
|
.setMessage(R.string.confirm_log_lout)
|
||||||
.setNegativeButton(R.string.no_confirm, null)
|
.setNegativeButton(R.string.no_confirm, null)
|
||||||
.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||||
|
|
|
@ -47,6 +47,13 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
public static final String KEY_MEDIA_LINK = "media_link";
|
public static final String KEY_MEDIA_LINK = "media_link";
|
||||||
public static final String KEY_MEDIA_TYPE = "media_type";
|
public static final String KEY_MEDIA_TYPE = "media_type";
|
||||||
|
|
||||||
|
public static final int MEDIAVIEWER_IMAGE = 0;
|
||||||
|
public static final int MEDIAVIEWER_VIDEO = 1;
|
||||||
|
public static final int MEDIAVIEWER_ANGIF = 2;
|
||||||
|
public static final int MEDIAVIEWER_IMG_STORAGE = 3;
|
||||||
|
public static final int MEDIAVIEWER_VIDEO_STORAGE = 4;
|
||||||
|
public static final int MEDIAVIEWER_ANGIF_STORAGE = 5;
|
||||||
|
|
||||||
private static final SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss", Locale.GERMANY);
|
private static final SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss", Locale.GERMANY);
|
||||||
private static final String[] REQ_WRITE_SD = {WRITE_EXTERNAL_STORAGE};
|
private static final String[] REQ_WRITE_SD = {WRITE_EXTERNAL_STORAGE};
|
||||||
private static final int REQCODE_SD = 6;
|
private static final int REQCODE_SD = 6;
|
||||||
|
@ -58,20 +65,11 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
private ImageAdapter adapter;
|
private ImageAdapter adapter;
|
||||||
private VideoView videoView;
|
private VideoView videoView;
|
||||||
private ZoomView zoomImage;
|
private ZoomView zoomImage;
|
||||||
private MediaType type;
|
|
||||||
private String[] link;
|
private String[] link;
|
||||||
|
private int type;
|
||||||
private int width;
|
private int width;
|
||||||
private int lastPos = 0;
|
private int lastPos = 0;
|
||||||
|
|
||||||
public enum MediaType {
|
|
||||||
IMAGE,
|
|
||||||
IMAGE_STORAGE,
|
|
||||||
VIDEO,
|
|
||||||
VIDEO_STORAGE,
|
|
||||||
ANGIF,
|
|
||||||
ANGIF_STORAGE
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle b) {
|
protected void onCreate(Bundle b) {
|
||||||
|
@ -91,14 +89,13 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
Bundle param = getIntent().getExtras();
|
Bundle param = getIntent().getExtras();
|
||||||
if (param != null && param.containsKey(KEY_MEDIA_LINK) && param.containsKey(KEY_MEDIA_TYPE)) {
|
if (param != null && param.containsKey(KEY_MEDIA_LINK) && param.containsKey(KEY_MEDIA_TYPE)) {
|
||||||
link = param.getStringArray(KEY_MEDIA_LINK);
|
link = param.getStringArray(KEY_MEDIA_LINK);
|
||||||
type = (MediaType) param.getSerializable(KEY_MEDIA_TYPE);
|
type = param.getInt(KEY_MEDIA_TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type != null)
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case IMAGE:
|
case MEDIAVIEWER_IMAGE:
|
||||||
case IMAGE_STORAGE:
|
case MEDIAVIEWER_IMG_STORAGE:
|
||||||
case ANGIF_STORAGE:
|
case MEDIAVIEWER_ANGIF_STORAGE:
|
||||||
imageWindow.setVisibility(VISIBLE);
|
imageWindow.setVisibility(VISIBLE);
|
||||||
imageList.setLayoutManager(new LinearLayoutManager(this, HORIZONTAL, false));
|
imageList.setLayoutManager(new LinearLayoutManager(this, HORIZONTAL, false));
|
||||||
imageList.setAdapter(adapter);
|
imageList.setAdapter(adapter);
|
||||||
|
@ -108,15 +105,15 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
width = size.x;
|
width = size.x;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ANGIF:
|
case MEDIAVIEWER_ANGIF:
|
||||||
videoWindow.setVisibility(VISIBLE);
|
videoWindow.setVisibility(VISIBLE);
|
||||||
Uri video = Uri.parse(link[0]);
|
Uri video = Uri.parse(link[0]);
|
||||||
videoView.setOnPreparedListener(this);
|
videoView.setOnPreparedListener(this);
|
||||||
videoView.setVideoURI(video);
|
videoView.setVideoURI(video);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIDEO:
|
case MEDIAVIEWER_VIDEO:
|
||||||
case VIDEO_STORAGE:
|
case MEDIAVIEWER_VIDEO_STORAGE:
|
||||||
videoWindow.setVisibility(VISIBLE);
|
videoWindow.setVisibility(VISIBLE);
|
||||||
video = Uri.parse(link[0]);
|
video = Uri.parse(link[0]);
|
||||||
videoView.setMediaController(videoController);
|
videoView.setMediaController(videoController);
|
||||||
|
@ -124,7 +121,6 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
videoView.setVideoURI(video);
|
videoView.setVideoURI(video);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else finish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -132,7 +128,7 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case IMAGE:
|
case MEDIAVIEWER_IMAGE:
|
||||||
if (imageAsync == null) {
|
if (imageAsync == null) {
|
||||||
imageAsync = new ImageLoader(this, ONLINE);
|
imageAsync = new ImageLoader(this, ONLINE);
|
||||||
imageAsync.execute(link);
|
imageAsync.execute(link);
|
||||||
|
@ -140,17 +136,17 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ANGIF_STORAGE:
|
case MEDIAVIEWER_ANGIF_STORAGE:
|
||||||
case IMAGE_STORAGE:
|
case MEDIAVIEWER_IMG_STORAGE:
|
||||||
if (imageAsync == null) {
|
if (imageAsync == null) {
|
||||||
imageAsync = new ImageLoader(this, STORAGE);
|
imageAsync = new ImageLoader(this, STORAGE);
|
||||||
imageAsync.execute(link);
|
imageAsync.execute(link);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIDEO:
|
case MEDIAVIEWER_VIDEO:
|
||||||
case ANGIF:
|
case MEDIAVIEWER_ANGIF:
|
||||||
case VIDEO_STORAGE:
|
case MEDIAVIEWER_VIDEO_STORAGE:
|
||||||
videoView.start();
|
videoView.start();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -160,7 +156,7 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
@Override
|
@Override
|
||||||
protected void onStop() {
|
protected void onStop() {
|
||||||
super.onStop();
|
super.onStop();
|
||||||
if (type == MediaType.VIDEO || type == MediaType.VIDEO_STORAGE) {
|
if (type == MEDIAVIEWER_VIDEO || type == MEDIAVIEWER_VIDEO_STORAGE) {
|
||||||
lastPos = videoView.getCurrentPosition();
|
lastPos = videoView.getCurrentPosition();
|
||||||
videoView.pause();
|
videoView.pause();
|
||||||
}
|
}
|
||||||
|
@ -183,7 +179,7 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onImageTouch(Bitmap image) {
|
public void onImageTouch(Bitmap image) {
|
||||||
if (type == MediaType.IMAGE) {
|
if (type == MEDIAVIEWER_IMAGE) {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
int check = checkSelfPermission(WRITE_EXTERNAL_STORAGE);
|
int check = checkSelfPermission(WRITE_EXTERNAL_STORAGE);
|
||||||
if (check == PERMISSION_GRANTED) {
|
if (check == PERMISSION_GRANTED) {
|
||||||
|
@ -201,13 +197,13 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
@Override
|
@Override
|
||||||
public void onPrepared(MediaPlayer mp) {
|
public void onPrepared(MediaPlayer mp) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case ANGIF:
|
case MEDIAVIEWER_ANGIF:
|
||||||
mp.setLooping(true);
|
mp.setLooping(true);
|
||||||
mp.start();
|
mp.start();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIDEO:
|
case MEDIAVIEWER_VIDEO:
|
||||||
case VIDEO_STORAGE:
|
case MEDIAVIEWER_VIDEO_STORAGE:
|
||||||
videoController.show(0);
|
videoController.show(0);
|
||||||
mp.seekTo(lastPos);
|
mp.seekTo(lastPos);
|
||||||
mp.start();
|
mp.start();
|
||||||
|
|
|
@ -13,7 +13,7 @@ import android.widget.EditText;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog.Builder;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import org.nuclearfog.twidda.R;
|
import org.nuclearfog.twidda.R;
|
||||||
|
@ -30,7 +30,7 @@ import static android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
|
||||||
import static android.widget.Toast.LENGTH_SHORT;
|
import static android.widget.Toast.LENGTH_SHORT;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_LINK;
|
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_LINK;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_TYPE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_TYPE;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.MediaType.IMAGE_STORAGE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.MEDIAVIEWER_IMG_STORAGE;
|
||||||
|
|
||||||
|
|
||||||
public class MessagePopup extends AppCompatActivity implements OnClickListener {
|
public class MessagePopup extends AppCompatActivity implements OnClickListener {
|
||||||
|
@ -76,7 +76,7 @@ public class MessagePopup extends AppCompatActivity implements OnClickListener {
|
||||||
if (text.getText().toString().isEmpty() && mediaPath.isEmpty()) {
|
if (text.getText().toString().isEmpty() && mediaPath.isEmpty()) {
|
||||||
super.onBackPressed();
|
super.onBackPressed();
|
||||||
} else {
|
} else {
|
||||||
AlertDialog.Builder closeDialog = new AlertDialog.Builder(this);
|
Builder closeDialog = new Builder(this, R.style.InfoDialog);
|
||||||
closeDialog.setMessage(R.string.cancel_message);
|
closeDialog.setMessage(R.string.cancel_message);
|
||||||
closeDialog.setNegativeButton(R.string.no_confirm, null);
|
closeDialog.setNegativeButton(R.string.no_confirm, null);
|
||||||
closeDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
closeDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||||
|
@ -139,7 +139,7 @@ public class MessagePopup extends AppCompatActivity implements OnClickListener {
|
||||||
else {
|
else {
|
||||||
Intent image = new Intent(this, MediaViewer.class);
|
Intent image = new Intent(this, MediaViewer.class);
|
||||||
image.putExtra(KEY_MEDIA_LINK, new String[]{mediaPath});
|
image.putExtra(KEY_MEDIA_LINK, new String[]{mediaPath});
|
||||||
image.putExtra(KEY_MEDIA_TYPE, IMAGE_STORAGE);
|
image.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_IMG_STORAGE);
|
||||||
startActivity(image);
|
startActivity(image);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ import android.widget.ImageView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog.Builder;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
|
|
||||||
|
@ -39,8 +39,8 @@ import static android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
|
||||||
import static android.widget.Toast.LENGTH_SHORT;
|
import static android.widget.Toast.LENGTH_SHORT;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_LINK;
|
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_LINK;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_TYPE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_TYPE;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.MediaType.IMAGE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.MEDIAVIEWER_IMAGE;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.MediaType.IMAGE_STORAGE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.MEDIAVIEWER_IMG_STORAGE;
|
||||||
|
|
||||||
|
|
||||||
public class ProfileEditor extends AppCompatActivity implements OnClickListener {
|
public class ProfileEditor extends AppCompatActivity implements OnClickListener {
|
||||||
|
@ -100,7 +100,7 @@ public class ProfileEditor extends AppCompatActivity implements OnClickListener
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBackPressed() {
|
public void onBackPressed() {
|
||||||
AlertDialog.Builder closeDialog = new AlertDialog.Builder(this);
|
Builder closeDialog = new Builder(this, R.style.InfoDialog);
|
||||||
closeDialog.setMessage(R.string.exit_confirm);
|
closeDialog.setMessage(R.string.exit_confirm);
|
||||||
closeDialog.setNegativeButton(R.string.no_confirm, null);
|
closeDialog.setNegativeButton(R.string.no_confirm, null);
|
||||||
closeDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
closeDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||||
|
@ -180,11 +180,11 @@ public class ProfileEditor extends AppCompatActivity implements OnClickListener
|
||||||
if (!txtImg.getText().toString().isEmpty()) {
|
if (!txtImg.getText().toString().isEmpty()) {
|
||||||
String[] mediaLink = new String[]{txtImg.getText().toString()};
|
String[] mediaLink = new String[]{txtImg.getText().toString()};
|
||||||
image.putExtra(KEY_MEDIA_LINK, mediaLink);
|
image.putExtra(KEY_MEDIA_LINK, mediaLink);
|
||||||
image.putExtra(KEY_MEDIA_TYPE, IMAGE_STORAGE);
|
image.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_IMG_STORAGE);
|
||||||
} else {
|
} else {
|
||||||
String[] mediaLink = new String[]{user.getImageLink()};
|
String[] mediaLink = new String[]{user.getImageLink()};
|
||||||
image.putExtra(KEY_MEDIA_LINK, mediaLink);
|
image.putExtra(KEY_MEDIA_LINK, mediaLink);
|
||||||
image.putExtra(KEY_MEDIA_TYPE, IMAGE);
|
image.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_IMAGE);
|
||||||
}
|
}
|
||||||
startActivity(image);
|
startActivity(image);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,6 @@ import com.squareup.picasso.Picasso;
|
||||||
import org.nuclearfog.tag.Tagger;
|
import org.nuclearfog.tag.Tagger;
|
||||||
import org.nuclearfog.tag.Tagger.OnTagClickListener;
|
import org.nuclearfog.tag.Tagger.OnTagClickListener;
|
||||||
import org.nuclearfog.twidda.R;
|
import org.nuclearfog.twidda.R;
|
||||||
import org.nuclearfog.twidda.activity.UserDetail.UserType;
|
|
||||||
import org.nuclearfog.twidda.adapter.FragmentAdapter;
|
import org.nuclearfog.twidda.adapter.FragmentAdapter;
|
||||||
import org.nuclearfog.twidda.adapter.FragmentAdapter.AdapterType;
|
import org.nuclearfog.twidda.adapter.FragmentAdapter.AdapterType;
|
||||||
import org.nuclearfog.twidda.backend.StatusLoader;
|
import org.nuclearfog.twidda.backend.StatusLoader;
|
||||||
|
@ -60,14 +59,16 @@ import static android.view.View.VISIBLE;
|
||||||
import static android.widget.Toast.LENGTH_SHORT;
|
import static android.widget.Toast.LENGTH_SHORT;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_LINK;
|
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_LINK;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_TYPE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_TYPE;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.MediaType.ANGIF;
|
import static org.nuclearfog.twidda.activity.MediaViewer.MEDIAVIEWER_ANGIF;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.MediaType.IMAGE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.MEDIAVIEWER_IMAGE;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.MediaType.VIDEO;
|
import static org.nuclearfog.twidda.activity.MediaViewer.MEDIAVIEWER_VIDEO;
|
||||||
import static org.nuclearfog.twidda.activity.SearchPage.KEY_SEARCH_QUERY;
|
import static org.nuclearfog.twidda.activity.SearchPage.KEY_SEARCH_QUERY;
|
||||||
import static org.nuclearfog.twidda.activity.TweetPopup.KEY_TWEETPOPUP_PREFIX;
|
import static org.nuclearfog.twidda.activity.TweetPopup.KEY_TWEETPOPUP_PREFIX;
|
||||||
import static org.nuclearfog.twidda.activity.TweetPopup.KEY_TWEETPOPUP_REPLYID;
|
import static org.nuclearfog.twidda.activity.TweetPopup.KEY_TWEETPOPUP_REPLYID;
|
||||||
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_ID;
|
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_ID;
|
||||||
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_MODE;
|
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_MODE;
|
||||||
|
import static org.nuclearfog.twidda.activity.UserDetail.USERLIST_RETWEETS;
|
||||||
|
import static org.nuclearfog.twidda.activity.UserDetail.USERLSIT_FAVORITS;
|
||||||
|
|
||||||
|
|
||||||
public class TweetDetail extends AppCompatActivity implements OnClickListener, OnTouchListener,
|
public class TweetDetail extends AppCompatActivity implements OnClickListener, OnTouchListener,
|
||||||
|
@ -131,7 +132,6 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
|
||||||
getSupportActionBar().setDisplayShowTitleEnabled(false);
|
getSupportActionBar().setDisplayShowTitleEnabled(false);
|
||||||
|
|
||||||
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.TWEET_PAGE, tweetID, username);
|
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.TWEET_PAGE, tweetID, username);
|
||||||
|
|
||||||
FontTool.setViewFont(root, settings.getFontFace());
|
FontTool.setViewFont(root, settings.getFontFace());
|
||||||
tweetLoc.setMovementMethod(LinkMovementMethod.getInstance());
|
tweetLoc.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
tweetText.setMovementMethod(LinkMovementMethod.getInstance());
|
tweetText.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
|
@ -149,7 +149,6 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
|
||||||
rtwButton.setOnLongClickListener(this);
|
rtwButton.setOnLongClickListener(this);
|
||||||
favButton.setOnLongClickListener(this);
|
favButton.setOnLongClickListener(this);
|
||||||
profile_img.setOnClickListener(this);
|
profile_img.setOnClickListener(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -191,7 +190,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
|
||||||
if (statusAsync != null && statusAsync.getStatus() != RUNNING) {
|
if (statusAsync != null && statusAsync.getStatus() != RUNNING) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case R.id.delete_tweet:
|
case R.id.delete_tweet:
|
||||||
Builder deleteDialog = new Builder(this);
|
Builder deleteDialog = new Builder(this, R.style.InfoDialog);
|
||||||
deleteDialog.setMessage(R.string.delete_tweet);
|
deleteDialog.setMessage(R.string.delete_tweet);
|
||||||
deleteDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
deleteDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -244,14 +243,14 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
|
||||||
case R.id.tweet_retweet:
|
case R.id.tweet_retweet:
|
||||||
Intent userList = new Intent(this, UserDetail.class);
|
Intent userList = new Intent(this, UserDetail.class);
|
||||||
userList.putExtra(KEY_USERDETAIL_ID, tweetID);
|
userList.putExtra(KEY_USERDETAIL_ID, tweetID);
|
||||||
userList.putExtra(KEY_USERDETAIL_MODE, UserType.RETWEETS);
|
userList.putExtra(KEY_USERDETAIL_MODE, USERLIST_RETWEETS);
|
||||||
startActivity(userList);
|
startActivity(userList);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case R.id.tweet_favorit:
|
case R.id.tweet_favorit:
|
||||||
userList = new Intent(this, UserDetail.class);
|
userList = new Intent(this, UserDetail.class);
|
||||||
userList.putExtra(KEY_USERDETAIL_ID, tweetID);
|
userList.putExtra(KEY_USERDETAIL_ID, tweetID);
|
||||||
userList.putExtra(KEY_USERDETAIL_MODE, UserType.FAVORITS);
|
userList.putExtra(KEY_USERDETAIL_MODE, USERLSIT_FAVORITS);
|
||||||
startActivity(userList);
|
startActivity(userList);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -383,7 +382,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
Intent media = new Intent(getApplicationContext(), MediaViewer.class);
|
Intent media = new Intent(getApplicationContext(), MediaViewer.class);
|
||||||
media.putExtra(KEY_MEDIA_LINK, tweet.getMediaLinks());
|
media.putExtra(KEY_MEDIA_LINK, tweet.getMediaLinks());
|
||||||
media.putExtra(KEY_MEDIA_TYPE, IMAGE);
|
media.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_IMAGE);
|
||||||
startActivity(media);
|
startActivity(media);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -397,7 +396,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
Intent media = new Intent(getApplicationContext(), MediaViewer.class);
|
Intent media = new Intent(getApplicationContext(), MediaViewer.class);
|
||||||
media.putExtra(KEY_MEDIA_LINK, tweet.getMediaLinks());
|
media.putExtra(KEY_MEDIA_LINK, tweet.getMediaLinks());
|
||||||
media.putExtra(KEY_MEDIA_TYPE, ANGIF);
|
media.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_ANGIF);
|
||||||
startActivity(media);
|
startActivity(media);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -411,7 +410,7 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
Intent media = new Intent(getApplicationContext(), MediaViewer.class);
|
Intent media = new Intent(getApplicationContext(), MediaViewer.class);
|
||||||
media.putExtra(KEY_MEDIA_LINK, tweet.getMediaLinks());
|
media.putExtra(KEY_MEDIA_LINK, tweet.getMediaLinks());
|
||||||
media.putExtra(KEY_MEDIA_TYPE, VIDEO);
|
media.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_VIDEO);
|
||||||
startActivity(media);
|
startActivity(media);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -44,9 +44,9 @@ import static android.widget.Toast.LENGTH_LONG;
|
||||||
import static android.widget.Toast.LENGTH_SHORT;
|
import static android.widget.Toast.LENGTH_SHORT;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_LINK;
|
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_LINK;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_TYPE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_TYPE;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.MediaType.ANGIF_STORAGE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.MEDIAVIEWER_ANGIF_STORAGE;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.MediaType.IMAGE_STORAGE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.MEDIAVIEWER_IMG_STORAGE;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.MediaType.VIDEO_STORAGE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.MEDIAVIEWER_VIDEO_STORAGE;
|
||||||
|
|
||||||
|
|
||||||
public class TweetPopup extends AppCompatActivity implements OnClickListener, LocationListener {
|
public class TweetPopup extends AppCompatActivity implements OnClickListener, LocationListener {
|
||||||
|
@ -54,6 +54,11 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo
|
||||||
public static final String KEY_TWEETPOPUP_REPLYID = "tweet_replyID";
|
public static final String KEY_TWEETPOPUP_REPLYID = "tweet_replyID";
|
||||||
public static final String KEY_TWEETPOPUP_PREFIX = "tweet_prefix";
|
public static final String KEY_TWEETPOPUP_PREFIX = "tweet_prefix";
|
||||||
|
|
||||||
|
private static final int NONE = 0;
|
||||||
|
private static final int IMAGE = 1;
|
||||||
|
private static final int VIDEO = 2;
|
||||||
|
private static final int GIF = 3;
|
||||||
|
|
||||||
private static final String[] PERM_STORAGE = {READ_EXTERNAL_STORAGE};
|
private static final String[] PERM_STORAGE = {READ_EXTERNAL_STORAGE};
|
||||||
private static final String[] PERM_LOCATION = {ACCESS_FINE_LOCATION};
|
private static final String[] PERM_LOCATION = {ACCESS_FINE_LOCATION};
|
||||||
private static final String[] GET_MEDIA = {MediaStore.Images.Media.DATA};
|
private static final String[] GET_MEDIA = {MediaStore.Images.Media.DATA};
|
||||||
|
@ -73,14 +78,7 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo
|
||||||
private EditText tweet;
|
private EditText tweet;
|
||||||
private String addition = "";
|
private String addition = "";
|
||||||
private long inReplyId = 0;
|
private long inReplyId = 0;
|
||||||
private Mode mode = Mode.NONE;
|
private int mode = NONE;
|
||||||
|
|
||||||
private enum Mode {
|
|
||||||
IMAGE,
|
|
||||||
VIDEO,
|
|
||||||
GIF,
|
|
||||||
NONE
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle b) {
|
protected void onCreate(Bundle b) {
|
||||||
|
@ -146,9 +144,9 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case IMAGE:
|
case IMAGE:
|
||||||
if (mode == Mode.NONE)
|
if (mode == NONE)
|
||||||
mode = Mode.IMAGE;
|
mode = IMAGE;
|
||||||
if (mediaPath.size() < MAX_IMAGES && mode == Mode.IMAGE) {
|
if (mediaPath.size() < MAX_IMAGES && mode == IMAGE) {
|
||||||
mediaPath.add(path);
|
mediaPath.add(path);
|
||||||
previewBtn.setVisibility(VISIBLE);
|
previewBtn.setVisibility(VISIBLE);
|
||||||
String count = Integer.toString(mediaPath.size());
|
String count = Integer.toString(mediaPath.size());
|
||||||
|
@ -159,9 +157,9 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ANGIF:
|
case ANGIF:
|
||||||
if (mode == Mode.NONE)
|
if (mode == NONE)
|
||||||
mode = Mode.GIF;
|
mode = GIF;
|
||||||
if (mode == Mode.GIF) {
|
if (mode == GIF) {
|
||||||
mediaPath.add(path);
|
mediaPath.add(path);
|
||||||
previewBtn.setVisibility(VISIBLE);
|
previewBtn.setVisibility(VISIBLE);
|
||||||
mediaBtn.setVisibility(INVISIBLE);
|
mediaBtn.setVisibility(INVISIBLE);
|
||||||
|
@ -169,9 +167,9 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIDEO:
|
case VIDEO:
|
||||||
if (mode == Mode.NONE)
|
if (mode == NONE)
|
||||||
mode = Mode.VIDEO;
|
mode = VIDEO;
|
||||||
if (mode == Mode.VIDEO) {
|
if (mode == VIDEO) {
|
||||||
mediaPath.add(path);
|
mediaPath.add(path);
|
||||||
previewBtn.setVisibility(VISIBLE);
|
previewBtn.setVisibility(VISIBLE);
|
||||||
mediaBtn.setVisibility(INVISIBLE);
|
mediaBtn.setVisibility(INVISIBLE);
|
||||||
|
@ -239,17 +237,17 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case IMAGE:
|
case IMAGE:
|
||||||
image.putExtra(KEY_MEDIA_TYPE, IMAGE_STORAGE);
|
image.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_IMG_STORAGE);
|
||||||
startActivity(image);
|
startActivity(image);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIDEO:
|
case VIDEO:
|
||||||
image.putExtra(KEY_MEDIA_TYPE, VIDEO_STORAGE);
|
image.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_VIDEO_STORAGE);
|
||||||
startActivity(image);
|
startActivity(image);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GIF:
|
case GIF:
|
||||||
image.putExtra(KEY_MEDIA_TYPE, ANGIF_STORAGE);
|
image.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_ANGIF_STORAGE);
|
||||||
startActivity(image);
|
startActivity(image);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -295,7 +293,7 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo
|
||||||
*/
|
*/
|
||||||
private void showClosingMsg() {
|
private void showClosingMsg() {
|
||||||
if (!addition.equals(tweet.getText().toString()) || !mediaPath.isEmpty()) {
|
if (!addition.equals(tweet.getText().toString()) || !mediaPath.isEmpty()) {
|
||||||
Builder closeDialog = new Builder(this);
|
Builder closeDialog = new Builder(this, R.style.InfoDialog);
|
||||||
closeDialog.setMessage(R.string.confirm_cancel_tweet);
|
closeDialog.setMessage(R.string.confirm_cancel_tweet);
|
||||||
closeDialog.setNegativeButton(R.string.no_confirm, null);
|
closeDialog.setNegativeButton(R.string.no_confirm, null);
|
||||||
closeDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
closeDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||||
|
@ -323,14 +321,14 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (accessGranted) {
|
if (accessGranted) {
|
||||||
if (mode == Mode.NONE) {
|
if (mode == NONE) {
|
||||||
Intent mediaIntent = new Intent(ACTION_PICK);
|
Intent mediaIntent = new Intent(ACTION_PICK);
|
||||||
mediaIntent.setDataAndType(EXTERNAL_CONTENT_URI, TYPE_IMAGE + TYPE_VIDEO);
|
mediaIntent.setDataAndType(EXTERNAL_CONTENT_URI, TYPE_IMAGE + TYPE_VIDEO);
|
||||||
if (mediaIntent.resolveActivity(getPackageManager()) != null)
|
if (mediaIntent.resolveActivity(getPackageManager()) != null)
|
||||||
startActivityForResult(mediaIntent, PICK_MEDIA);
|
startActivityForResult(mediaIntent, PICK_MEDIA);
|
||||||
else
|
else
|
||||||
Toast.makeText(getApplicationContext(), R.string.error_no_media_app, LENGTH_SHORT).show();
|
Toast.makeText(getApplicationContext(), R.string.error_no_media_app, LENGTH_SHORT).show();
|
||||||
} else if (mode == Mode.IMAGE) {
|
} else if (mode == IMAGE) {
|
||||||
Intent imageIntent = new Intent(ACTION_PICK);
|
Intent imageIntent = new Intent(ACTION_PICK);
|
||||||
imageIntent.setDataAndType(EXTERNAL_CONTENT_URI, TYPE_IMAGE);
|
imageIntent.setDataAndType(EXTERNAL_CONTENT_URI, TYPE_IMAGE);
|
||||||
if (imageIntent.resolveActivity(getPackageManager()) != null)
|
if (imageIntent.resolveActivity(getPackageManager()) != null)
|
||||||
|
|
|
@ -18,16 +18,14 @@ public class UserDetail extends AppCompatActivity {
|
||||||
public static final String KEY_USERDETAIL_MODE = "userlist_mode";
|
public static final String KEY_USERDETAIL_MODE = "userlist_mode";
|
||||||
public static final String KEY_USERDETAIL_ID = "userlist_owner_id";
|
public static final String KEY_USERDETAIL_ID = "userlist_owner_id";
|
||||||
|
|
||||||
public enum UserType {
|
public static final int USERLIST_FRIENDS = 0;
|
||||||
FRIENDS,
|
public static final int USERLIST_FOLLOWER = 1;
|
||||||
FOLLOWERS,
|
public static final int USERLIST_RETWEETS = 2;
|
||||||
RETWEETS,
|
public static final int USERLSIT_FAVORITS = 3;
|
||||||
FAVORITS,
|
public static final int USERLIST_SUBSCRIBER = 4;
|
||||||
SUBSCRIBER
|
|
||||||
}
|
|
||||||
|
|
||||||
private UserType mode;
|
|
||||||
private long id;
|
private long id;
|
||||||
|
private int mode;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle b) {
|
protected void onCreate(Bundle b) {
|
||||||
|
@ -36,7 +34,7 @@ public class UserDetail extends AppCompatActivity {
|
||||||
|
|
||||||
Bundle param = getIntent().getExtras();
|
Bundle param = getIntent().getExtras();
|
||||||
if (param != null && param.containsKey(KEY_USERDETAIL_MODE) && param.containsKey(KEY_USERDETAIL_ID)) {
|
if (param != null && param.containsKey(KEY_USERDETAIL_MODE) && param.containsKey(KEY_USERDETAIL_ID)) {
|
||||||
mode = (UserType) param.getSerializable(KEY_USERDETAIL_MODE);
|
mode = param.getInt(KEY_USERDETAIL_MODE);
|
||||||
id = param.getLong(KEY_USERDETAIL_ID);
|
id = param.getLong(KEY_USERDETAIL_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,31 +48,31 @@ public class UserDetail extends AppCompatActivity {
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case FRIENDS:
|
case USERLIST_FRIENDS:
|
||||||
if (getSupportActionBar() != null)
|
if (getSupportActionBar() != null)
|
||||||
getSupportActionBar().setTitle(R.string.following);
|
getSupportActionBar().setTitle(R.string.following);
|
||||||
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.FRIENDS_PAGE, id, "");
|
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.FRIENDS_PAGE, id, "");
|
||||||
pager.setAdapter(adapter);
|
pager.setAdapter(adapter);
|
||||||
break;
|
break;
|
||||||
case FOLLOWERS:
|
case USERLIST_FOLLOWER:
|
||||||
if (getSupportActionBar() != null)
|
if (getSupportActionBar() != null)
|
||||||
getSupportActionBar().setTitle(R.string.follower);
|
getSupportActionBar().setTitle(R.string.follower);
|
||||||
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.FOLLOWER_PAGE, id, "");
|
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.FOLLOWER_PAGE, id, "");
|
||||||
pager.setAdapter(adapter);
|
pager.setAdapter(adapter);
|
||||||
break;
|
break;
|
||||||
case RETWEETS:
|
case USERLIST_RETWEETS:
|
||||||
if (getSupportActionBar() != null)
|
if (getSupportActionBar() != null)
|
||||||
getSupportActionBar().setTitle(R.string.retweet);
|
getSupportActionBar().setTitle(R.string.retweet);
|
||||||
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.RETWEETER_PAGE, id, "");
|
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.RETWEETER_PAGE, id, "");
|
||||||
pager.setAdapter(adapter);
|
pager.setAdapter(adapter);
|
||||||
break;
|
break;
|
||||||
case FAVORITS:
|
case USERLSIT_FAVORITS:
|
||||||
if (getSupportActionBar() != null)
|
if (getSupportActionBar() != null)
|
||||||
getSupportActionBar().setTitle(R.string.favorite);
|
getSupportActionBar().setTitle(R.string.favorite);
|
||||||
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.FAVOR_PAGE, id, "");
|
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.FAVOR_PAGE, id, "");
|
||||||
pager.setAdapter(adapter);
|
pager.setAdapter(adapter);
|
||||||
break;
|
break;
|
||||||
case SUBSCRIBER:
|
case USERLIST_SUBSCRIBER:
|
||||||
if (getSupportActionBar() != null)
|
if (getSupportActionBar() != null)
|
||||||
getSupportActionBar().setTitle(R.string.user_list_subscr);
|
getSupportActionBar().setTitle(R.string.user_list_subscr);
|
||||||
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.SUBSCRIBER_PAGE, id, "");
|
adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.SUBSCRIBER_PAGE, id, "");
|
||||||
|
|
|
@ -19,7 +19,6 @@ public class UserList extends AppCompatActivity {
|
||||||
public static final String KEY_USERLIST_ID = "userlist-owner";
|
public static final String KEY_USERLIST_ID = "userlist-owner";
|
||||||
private long userId;
|
private long userId;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle b) {
|
protected void onCreate(Bundle b) {
|
||||||
super.onCreate(b);
|
super.onCreate(b);
|
||||||
|
|
|
@ -55,14 +55,14 @@ import static android.view.View.VISIBLE;
|
||||||
import static android.widget.Toast.LENGTH_SHORT;
|
import static android.widget.Toast.LENGTH_SHORT;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_LINK;
|
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_LINK;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_TYPE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.KEY_MEDIA_TYPE;
|
||||||
import static org.nuclearfog.twidda.activity.MediaViewer.MediaType.IMAGE;
|
import static org.nuclearfog.twidda.activity.MediaViewer.MEDIAVIEWER_IMAGE;
|
||||||
import static org.nuclearfog.twidda.activity.MessagePopup.KEY_DM_PREFIX;
|
import static org.nuclearfog.twidda.activity.MessagePopup.KEY_DM_PREFIX;
|
||||||
import static org.nuclearfog.twidda.activity.SearchPage.KEY_SEARCH_QUERY;
|
import static org.nuclearfog.twidda.activity.SearchPage.KEY_SEARCH_QUERY;
|
||||||
import static org.nuclearfog.twidda.activity.TweetPopup.KEY_TWEETPOPUP_PREFIX;
|
import static org.nuclearfog.twidda.activity.TweetPopup.KEY_TWEETPOPUP_PREFIX;
|
||||||
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_ID;
|
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_ID;
|
||||||
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_MODE;
|
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_MODE;
|
||||||
import static org.nuclearfog.twidda.activity.UserDetail.UserType.FOLLOWERS;
|
import static org.nuclearfog.twidda.activity.UserDetail.USERLIST_FOLLOWER;
|
||||||
import static org.nuclearfog.twidda.activity.UserDetail.UserType.FRIENDS;
|
import static org.nuclearfog.twidda.activity.UserDetail.USERLIST_FRIENDS;
|
||||||
import static org.nuclearfog.twidda.activity.UserList.KEY_USERLIST_ID;
|
import static org.nuclearfog.twidda.activity.UserList.KEY_USERLIST_ID;
|
||||||
import static org.nuclearfog.twidda.backend.ProfileLoader.Action.LDR_PROFILE;
|
import static org.nuclearfog.twidda.backend.ProfileLoader.Action.LDR_PROFILE;
|
||||||
|
|
||||||
|
@ -391,7 +391,7 @@ public class UserProfile extends AppCompatActivity implements OnClickListener,
|
||||||
if (!user.isLocked() || properties.isFriend()) {
|
if (!user.isLocked() || properties.isFriend()) {
|
||||||
Intent following = new Intent(this, UserDetail.class);
|
Intent following = new Intent(this, UserDetail.class);
|
||||||
following.putExtra(KEY_USERDETAIL_ID, userId);
|
following.putExtra(KEY_USERDETAIL_ID, userId);
|
||||||
following.putExtra(KEY_USERDETAIL_MODE, FRIENDS);
|
following.putExtra(KEY_USERDETAIL_MODE, USERLIST_FRIENDS);
|
||||||
startActivity(following);
|
startActivity(following);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -402,7 +402,7 @@ public class UserProfile extends AppCompatActivity implements OnClickListener,
|
||||||
if (!user.isLocked() || properties.isFriend()) {
|
if (!user.isLocked() || properties.isFriend()) {
|
||||||
Intent follower = new Intent(this, UserDetail.class);
|
Intent follower = new Intent(this, UserDetail.class);
|
||||||
follower.putExtra(KEY_USERDETAIL_ID, userId);
|
follower.putExtra(KEY_USERDETAIL_ID, userId);
|
||||||
follower.putExtra(KEY_USERDETAIL_MODE, FOLLOWERS);
|
follower.putExtra(KEY_USERDETAIL_MODE, USERLIST_FOLLOWER);
|
||||||
startActivity(follower);
|
startActivity(follower);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -423,7 +423,7 @@ public class UserProfile extends AppCompatActivity implements OnClickListener,
|
||||||
if (user != null) {
|
if (user != null) {
|
||||||
Intent image = new Intent(this, MediaViewer.class);
|
Intent image = new Intent(this, MediaViewer.class);
|
||||||
image.putExtra(KEY_MEDIA_LINK, new String[]{user.getImageLink()});
|
image.putExtra(KEY_MEDIA_LINK, new String[]{user.getImageLink()});
|
||||||
image.putExtra(KEY_MEDIA_TYPE, IMAGE);
|
image.putExtra(KEY_MEDIA_TYPE, MEDIAVIEWER_IMAGE);
|
||||||
startActivity(image);
|
startActivity(image);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,18 +11,30 @@ import org.nuclearfog.twidda.fragment.ListFragment;
|
||||||
import org.nuclearfog.twidda.fragment.MessageFragment;
|
import org.nuclearfog.twidda.fragment.MessageFragment;
|
||||||
import org.nuclearfog.twidda.fragment.TrendFragment;
|
import org.nuclearfog.twidda.fragment.TrendFragment;
|
||||||
import org.nuclearfog.twidda.fragment.TweetFragment;
|
import org.nuclearfog.twidda.fragment.TweetFragment;
|
||||||
import org.nuclearfog.twidda.fragment.TweetFragment.TweetType;
|
|
||||||
import org.nuclearfog.twidda.fragment.UserFragment;
|
import org.nuclearfog.twidda.fragment.UserFragment;
|
||||||
import org.nuclearfog.twidda.fragment.UserFragment.UserType;
|
|
||||||
|
|
||||||
import static org.nuclearfog.twidda.fragment.ListFragment.KEY_FRAG_LIST;
|
import static org.nuclearfog.twidda.fragment.ListFragment.KEY_FRAG_LIST;
|
||||||
import static org.nuclearfog.twidda.fragment.TweetFragment.KEY_FRAG_TWEET_FIX_LAYOUT;
|
import static org.nuclearfog.twidda.fragment.TweetFragment.KEY_FRAG_TWEET_FIX_LAYOUT;
|
||||||
import static org.nuclearfog.twidda.fragment.TweetFragment.KEY_FRAG_TWEET_ID;
|
import static org.nuclearfog.twidda.fragment.TweetFragment.KEY_FRAG_TWEET_ID;
|
||||||
import static org.nuclearfog.twidda.fragment.TweetFragment.KEY_FRAG_TWEET_MODE;
|
import static org.nuclearfog.twidda.fragment.TweetFragment.KEY_FRAG_TWEET_MODE;
|
||||||
import static org.nuclearfog.twidda.fragment.TweetFragment.KEY_FRAG_TWEET_SEARCH;
|
import static org.nuclearfog.twidda.fragment.TweetFragment.KEY_FRAG_TWEET_SEARCH;
|
||||||
|
import static org.nuclearfog.twidda.fragment.TweetFragment.TWEET_FRAG_ANSWER;
|
||||||
|
import static org.nuclearfog.twidda.fragment.TweetFragment.TWEET_FRAG_FAVORS;
|
||||||
|
import static org.nuclearfog.twidda.fragment.TweetFragment.TWEET_FRAG_HOME;
|
||||||
|
import static org.nuclearfog.twidda.fragment.TweetFragment.TWEET_FRAG_LIST;
|
||||||
|
import static org.nuclearfog.twidda.fragment.TweetFragment.TWEET_FRAG_MENT;
|
||||||
|
import static org.nuclearfog.twidda.fragment.TweetFragment.TWEET_FRAG_SEARCH;
|
||||||
|
import static org.nuclearfog.twidda.fragment.TweetFragment.TWEET_FRAG_TWEETS;
|
||||||
import static org.nuclearfog.twidda.fragment.UserFragment.KEY_FRAG_USER_ID;
|
import static org.nuclearfog.twidda.fragment.UserFragment.KEY_FRAG_USER_ID;
|
||||||
import static org.nuclearfog.twidda.fragment.UserFragment.KEY_FRAG_USER_MODE;
|
import static org.nuclearfog.twidda.fragment.UserFragment.KEY_FRAG_USER_MODE;
|
||||||
import static org.nuclearfog.twidda.fragment.UserFragment.KEY_FRAG_USER_SEARCH;
|
import static org.nuclearfog.twidda.fragment.UserFragment.KEY_FRAG_USER_SEARCH;
|
||||||
|
import static org.nuclearfog.twidda.fragment.UserFragment.USER_FRAG_FAVORIT;
|
||||||
|
import static org.nuclearfog.twidda.fragment.UserFragment.USER_FRAG_FOLLOWS;
|
||||||
|
import static org.nuclearfog.twidda.fragment.UserFragment.USER_FRAG_FRIENDS;
|
||||||
|
import static org.nuclearfog.twidda.fragment.UserFragment.USER_FRAG_LISTS;
|
||||||
|
import static org.nuclearfog.twidda.fragment.UserFragment.USER_FRAG_RETWEET;
|
||||||
|
import static org.nuclearfog.twidda.fragment.UserFragment.USER_FRAG_SEARCH;
|
||||||
|
import static org.nuclearfog.twidda.fragment.UserFragment.USER_FRAG_SUBSCRIBER;
|
||||||
|
|
||||||
public class FragmentAdapter extends FragmentStatePagerAdapter {
|
public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
|
|
||||||
|
@ -47,8 +59,8 @@ public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
super(fManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
|
super(fManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
|
||||||
Bundle home_tl = new Bundle();
|
Bundle home_tl = new Bundle();
|
||||||
Bundle ment_tl = new Bundle();
|
Bundle ment_tl = new Bundle();
|
||||||
home_tl.putSerializable(KEY_FRAG_TWEET_MODE, TweetType.HOME);
|
home_tl.putInt(KEY_FRAG_TWEET_MODE, TWEET_FRAG_HOME);
|
||||||
ment_tl.putSerializable(KEY_FRAG_TWEET_MODE, TweetType.MENT);
|
ment_tl.putInt(KEY_FRAG_TWEET_MODE, TWEET_FRAG_MENT);
|
||||||
home_tl.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, true);
|
home_tl.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, true);
|
||||||
ment_tl.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, true);
|
ment_tl.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, true);
|
||||||
fragments = new Fragment[3];
|
fragments = new Fragment[3];
|
||||||
|
@ -70,8 +82,8 @@ public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
usr_favor.putLong(KEY_FRAG_TWEET_ID, id);
|
usr_favor.putLong(KEY_FRAG_TWEET_ID, id);
|
||||||
usr_tweet.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, false);
|
usr_tweet.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, false);
|
||||||
usr_tweet.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, false);
|
usr_tweet.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, false);
|
||||||
usr_tweet.putSerializable(KEY_FRAG_TWEET_MODE, TweetType.USER_TWEET);
|
usr_tweet.putInt(KEY_FRAG_TWEET_MODE, TWEET_FRAG_TWEETS);
|
||||||
usr_favor.putSerializable(KEY_FRAG_TWEET_MODE, TweetType.USER_FAVOR);
|
usr_favor.putInt(KEY_FRAG_TWEET_MODE, TWEET_FRAG_FAVORS);
|
||||||
fragments = new Fragment[2];
|
fragments = new Fragment[2];
|
||||||
fragments[0] = new TweetFragment();
|
fragments[0] = new TweetFragment();
|
||||||
fragments[1] = new TweetFragment();
|
fragments[1] = new TweetFragment();
|
||||||
|
@ -84,8 +96,8 @@ public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
Bundle userSearch = new Bundle();
|
Bundle userSearch = new Bundle();
|
||||||
tweetSearch.putString(KEY_FRAG_TWEET_SEARCH, search);
|
tweetSearch.putString(KEY_FRAG_TWEET_SEARCH, search);
|
||||||
userSearch.putString(KEY_FRAG_USER_SEARCH, search);
|
userSearch.putString(KEY_FRAG_USER_SEARCH, search);
|
||||||
tweetSearch.putSerializable(KEY_FRAG_TWEET_MODE, TweetType.SEARCH);
|
tweetSearch.putInt(KEY_FRAG_TWEET_MODE, TWEET_FRAG_SEARCH);
|
||||||
userSearch.putSerializable(KEY_FRAG_USER_MODE, UserType.USEARCH);
|
userSearch.putInt(KEY_FRAG_USER_MODE, USER_FRAG_SEARCH);
|
||||||
tweetSearch.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, true);
|
tweetSearch.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, true);
|
||||||
fragments = new Fragment[2];
|
fragments = new Fragment[2];
|
||||||
fragments[0] = new TweetFragment();
|
fragments[0] = new TweetFragment();
|
||||||
|
@ -96,7 +108,7 @@ public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
|
|
||||||
case TWEET_PAGE:
|
case TWEET_PAGE:
|
||||||
Bundle param = new Bundle();
|
Bundle param = new Bundle();
|
||||||
param.putSerializable(KEY_FRAG_TWEET_MODE, TweetType.TWEET_ANSR);
|
param.putInt(KEY_FRAG_TWEET_MODE, TWEET_FRAG_ANSWER);
|
||||||
param.putString(KEY_FRAG_TWEET_SEARCH, search);
|
param.putString(KEY_FRAG_TWEET_SEARCH, search);
|
||||||
param.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, false);
|
param.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, false);
|
||||||
param.putLong(KEY_FRAG_TWEET_ID, id);
|
param.putLong(KEY_FRAG_TWEET_ID, id);
|
||||||
|
@ -113,7 +125,7 @@ public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
case FRIENDS_PAGE:
|
case FRIENDS_PAGE:
|
||||||
Bundle uParam = new Bundle();
|
Bundle uParam = new Bundle();
|
||||||
uParam.putLong(KEY_FRAG_USER_ID, id);
|
uParam.putLong(KEY_FRAG_USER_ID, id);
|
||||||
uParam.putSerializable(KEY_FRAG_USER_MODE, UserType.FRIENDS);
|
uParam.putInt(KEY_FRAG_USER_MODE, USER_FRAG_FRIENDS);
|
||||||
fragments = new Fragment[1];
|
fragments = new Fragment[1];
|
||||||
fragments[0] = new UserFragment();
|
fragments[0] = new UserFragment();
|
||||||
fragments[0].setArguments(uParam);
|
fragments[0].setArguments(uParam);
|
||||||
|
@ -122,7 +134,7 @@ public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
case FOLLOWER_PAGE:
|
case FOLLOWER_PAGE:
|
||||||
uParam = new Bundle();
|
uParam = new Bundle();
|
||||||
uParam.putLong(KEY_FRAG_USER_ID, id);
|
uParam.putLong(KEY_FRAG_USER_ID, id);
|
||||||
uParam.putSerializable(KEY_FRAG_USER_MODE, UserType.FOLLOWS);
|
uParam.putInt(KEY_FRAG_USER_MODE, USER_FRAG_FOLLOWS);
|
||||||
fragments = new Fragment[1];
|
fragments = new Fragment[1];
|
||||||
fragments[0] = new UserFragment();
|
fragments[0] = new UserFragment();
|
||||||
fragments[0].setArguments(uParam);
|
fragments[0].setArguments(uParam);
|
||||||
|
@ -131,7 +143,7 @@ public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
case RETWEETER_PAGE:
|
case RETWEETER_PAGE:
|
||||||
uParam = new Bundle();
|
uParam = new Bundle();
|
||||||
uParam.putLong(KEY_FRAG_USER_ID, id);
|
uParam.putLong(KEY_FRAG_USER_ID, id);
|
||||||
uParam.putSerializable(KEY_FRAG_USER_MODE, UserType.RETWEET);
|
uParam.putInt(KEY_FRAG_USER_MODE, USER_FRAG_RETWEET);
|
||||||
fragments = new Fragment[1];
|
fragments = new Fragment[1];
|
||||||
fragments[0] = new UserFragment();
|
fragments[0] = new UserFragment();
|
||||||
fragments[0].setArguments(uParam);
|
fragments[0].setArguments(uParam);
|
||||||
|
@ -140,7 +152,7 @@ public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
case FAVOR_PAGE:
|
case FAVOR_PAGE:
|
||||||
uParam = new Bundle();
|
uParam = new Bundle();
|
||||||
uParam.putLong(KEY_FRAG_USER_ID, id);
|
uParam.putLong(KEY_FRAG_USER_ID, id);
|
||||||
uParam.putSerializable(KEY_FRAG_USER_MODE, UserType.FAVORIT);
|
uParam.putInt(KEY_FRAG_USER_MODE, USER_FRAG_FAVORIT);
|
||||||
fragments = new Fragment[1];
|
fragments = new Fragment[1];
|
||||||
fragments[0] = new UserFragment();
|
fragments[0] = new UserFragment();
|
||||||
fragments[0].setArguments(uParam);
|
fragments[0].setArguments(uParam);
|
||||||
|
@ -157,7 +169,7 @@ public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
case SUBSCRIBER_PAGE:
|
case SUBSCRIBER_PAGE:
|
||||||
uParam = new Bundle();
|
uParam = new Bundle();
|
||||||
uParam.putLong(KEY_FRAG_USER_ID, id);
|
uParam.putLong(KEY_FRAG_USER_ID, id);
|
||||||
uParam.putSerializable(KEY_FRAG_USER_MODE, UserType.SUBSCR);
|
uParam.putInt(KEY_FRAG_USER_MODE, USER_FRAG_SUBSCRIBER);
|
||||||
fragments = new Fragment[1];
|
fragments = new Fragment[1];
|
||||||
fragments[0] = new UserFragment();
|
fragments[0] = new UserFragment();
|
||||||
fragments[0].setArguments(uParam);
|
fragments[0].setArguments(uParam);
|
||||||
|
@ -168,8 +180,8 @@ public class FragmentAdapter extends FragmentStatePagerAdapter {
|
||||||
Bundle userList = new Bundle();
|
Bundle userList = new Bundle();
|
||||||
tweetList.putLong(KEY_FRAG_TWEET_ID, id);
|
tweetList.putLong(KEY_FRAG_TWEET_ID, id);
|
||||||
userList.putLong(KEY_FRAG_USER_ID, id);
|
userList.putLong(KEY_FRAG_USER_ID, id);
|
||||||
tweetList.putSerializable(KEY_FRAG_TWEET_MODE, TweetType.LIST);
|
tweetList.putInt(KEY_FRAG_TWEET_MODE, TWEET_FRAG_LIST);
|
||||||
userList.putSerializable(KEY_FRAG_USER_MODE, UserType.LIST);
|
userList.putInt(KEY_FRAG_USER_MODE, USER_FRAG_LISTS);
|
||||||
tweetList.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, true);
|
tweetList.putBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, true);
|
||||||
fragments = new Fragment[2];
|
fragments = new Fragment[2];
|
||||||
fragments[0] = new TweetFragment();
|
fragments[0] = new TweetFragment();
|
||||||
|
|
|
@ -32,7 +32,7 @@ import static org.nuclearfog.twidda.activity.ListDetail.KEY_LISTDETAIL_ID;
|
||||||
import static org.nuclearfog.twidda.activity.ListDetail.KEY_LISTDETAIL_NAME;
|
import static org.nuclearfog.twidda.activity.ListDetail.KEY_LISTDETAIL_NAME;
|
||||||
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_ID;
|
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_ID;
|
||||||
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_MODE;
|
import static org.nuclearfog.twidda.activity.UserDetail.KEY_USERDETAIL_MODE;
|
||||||
import static org.nuclearfog.twidda.activity.UserDetail.UserType.SUBSCRIBER;
|
import static org.nuclearfog.twidda.activity.UserDetail.USERLIST_SUBSCRIBER;
|
||||||
import static org.nuclearfog.twidda.activity.UserProfile.KEY_PROFILE_ID;
|
import static org.nuclearfog.twidda.activity.UserProfile.KEY_PROFILE_ID;
|
||||||
import static org.nuclearfog.twidda.backend.ListLoader.Action.DELETE;
|
import static org.nuclearfog.twidda.backend.ListLoader.Action.DELETE;
|
||||||
import static org.nuclearfog.twidda.backend.ListLoader.Action.FOLLOW;
|
import static org.nuclearfog.twidda.backend.ListLoader.Action.FOLLOW;
|
||||||
|
@ -108,7 +108,7 @@ public class ListFragment extends Fragment implements OnRefreshListener, ListCli
|
||||||
case FOLLOW:
|
case FOLLOW:
|
||||||
if (listItem.isFollowing()) {
|
if (listItem.isFollowing()) {
|
||||||
if (getContext() != null) {
|
if (getContext() != null) {
|
||||||
Builder confirmDialog = new Builder(getContext());
|
Builder confirmDialog = new Builder(getContext(), R.style.InfoDialog);
|
||||||
confirmDialog.setMessage(R.string.confirm_unfollow_list);
|
confirmDialog.setMessage(R.string.confirm_unfollow_list);
|
||||||
confirmDialog.setNegativeButton(R.string.no_confirm, null);
|
confirmDialog.setNegativeButton(R.string.no_confirm, null);
|
||||||
confirmDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
confirmDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||||
|
@ -129,7 +129,7 @@ public class ListFragment extends Fragment implements OnRefreshListener, ListCli
|
||||||
case SUBSCRIBER:
|
case SUBSCRIBER:
|
||||||
Intent following = new Intent(getContext(), UserDetail.class);
|
Intent following = new Intent(getContext(), UserDetail.class);
|
||||||
following.putExtra(KEY_USERDETAIL_ID, listItem.getId());
|
following.putExtra(KEY_USERDETAIL_ID, listItem.getId());
|
||||||
following.putExtra(KEY_USERDETAIL_MODE, SUBSCRIBER);
|
following.putExtra(KEY_USERDETAIL_MODE, USERLIST_SUBSCRIBER);
|
||||||
startActivity(following);
|
startActivity(following);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@ public class ListFragment extends Fragment implements OnRefreshListener, ListCli
|
||||||
|
|
||||||
case DELETE:
|
case DELETE:
|
||||||
if (getContext() != null) {
|
if (getContext() != null) {
|
||||||
Builder confirmDialog = new Builder(getContext());
|
Builder confirmDialog = new Builder(getContext(), R.style.InfoDialog);
|
||||||
confirmDialog.setMessage(R.string.confirm_delete_list);
|
confirmDialog.setMessage(R.string.confirm_delete_list);
|
||||||
confirmDialog.setNegativeButton(R.string.no_confirm, null);
|
confirmDialog.setNegativeButton(R.string.no_confirm, null);
|
||||||
confirmDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
confirmDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||||
|
|
|
@ -126,7 +126,7 @@ public class MessageFragment extends Fragment implements OnRefreshListener, OnIt
|
||||||
|
|
||||||
case DELETE:
|
case DELETE:
|
||||||
if (getContext() != null) {
|
if (getContext() != null) {
|
||||||
Builder confirmDialog = new Builder(getContext());
|
Builder confirmDialog = new Builder(getContext(), R.style.InfoDialog);
|
||||||
confirmDialog.setMessage(R.string.confirm_delete_message);
|
confirmDialog.setMessage(R.string.confirm_delete_message);
|
||||||
confirmDialog.setNegativeButton(R.string.no_confirm, null);
|
confirmDialog.setNegativeButton(R.string.no_confirm, null);
|
||||||
confirmDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
confirmDialog.setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() {
|
||||||
|
|
|
@ -34,7 +34,6 @@ public class TrendFragment extends Fragment implements OnRefreshListener, TrendC
|
||||||
private RecyclerView list;
|
private RecyclerView list;
|
||||||
private TrendAdapter adapter;
|
private TrendAdapter adapter;
|
||||||
private GlobalSettings settings;
|
private GlobalSettings settings;
|
||||||
|
|
||||||
private boolean notifyChange;
|
private boolean notifyChange;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -36,28 +36,26 @@ public class TweetFragment extends Fragment implements OnRefreshListener, TweetC
|
||||||
public static final String KEY_FRAG_TWEET_ID = "tweet_id";
|
public static final String KEY_FRAG_TWEET_ID = "tweet_id";
|
||||||
public static final String KEY_FRAG_TWEET_FIX_LAYOUT = "tweet_fix_layout";
|
public static final String KEY_FRAG_TWEET_FIX_LAYOUT = "tweet_fix_layout";
|
||||||
|
|
||||||
|
public static final int TWEET_FRAG_HOME = 0;
|
||||||
|
public static final int TWEET_FRAG_MENT = 1;
|
||||||
|
public static final int TWEET_FRAG_TWEETS = 2;
|
||||||
|
public static final int TWEET_FRAG_FAVORS = 3;
|
||||||
|
public static final int TWEET_FRAG_ANSWER = 4;
|
||||||
|
public static final int TWEET_FRAG_SEARCH = 5;
|
||||||
|
public static final int TWEET_FRAG_LIST = 6;
|
||||||
|
|
||||||
private static final int REQUEST_TWEET_CHANGED = 3;
|
private static final int REQUEST_TWEET_CHANGED = 3;
|
||||||
public static final int RETURN_TWEET_CHANGED = 4;
|
public static final int RETURN_TWEET_CHANGED = 4;
|
||||||
|
|
||||||
public enum TweetType {
|
|
||||||
HOME,
|
|
||||||
MENT,
|
|
||||||
USER_TWEET,
|
|
||||||
USER_FAVOR,
|
|
||||||
TWEET_ANSR,
|
|
||||||
SEARCH,
|
|
||||||
LIST
|
|
||||||
}
|
|
||||||
|
|
||||||
private TweetLoader tweetTask;
|
private TweetLoader tweetTask;
|
||||||
private GlobalSettings settings;
|
private GlobalSettings settings;
|
||||||
private SwipeRefreshLayout reload;
|
private SwipeRefreshLayout reload;
|
||||||
private RecyclerView list;
|
private RecyclerView list;
|
||||||
private TweetAdapter adapter;
|
private TweetAdapter adapter;
|
||||||
|
|
||||||
private TweetType mode;
|
|
||||||
private String search;
|
private String search;
|
||||||
private long id, tweetId;
|
private long id, tweetId;
|
||||||
|
private int mode;
|
||||||
|
|
||||||
private boolean notifyChange;
|
private boolean notifyChange;
|
||||||
|
|
||||||
|
@ -68,7 +66,7 @@ public class TweetFragment extends Fragment implements OnRefreshListener, TweetC
|
||||||
Context context = inflater.getContext();
|
Context context = inflater.getContext();
|
||||||
|
|
||||||
if (b != null) {
|
if (b != null) {
|
||||||
mode = (TweetType) b.getSerializable(KEY_FRAG_TWEET_MODE);
|
mode = b.getInt(KEY_FRAG_TWEET_MODE);
|
||||||
id = b.getLong(KEY_FRAG_TWEET_ID, -1);
|
id = b.getLong(KEY_FRAG_TWEET_ID, -1);
|
||||||
search = b.getString(KEY_FRAG_TWEET_SEARCH, "");
|
search = b.getString(KEY_FRAG_TWEET_SEARCH, "");
|
||||||
fixSize = b.getBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, false);
|
fixSize = b.getBoolean(KEY_FRAG_TWEET_FIX_LAYOUT, false);
|
||||||
|
@ -179,27 +177,27 @@ public class TweetFragment extends Fragment implements OnRefreshListener, TweetC
|
||||||
|
|
||||||
private void load() {
|
private void load() {
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case HOME:
|
case TWEET_FRAG_HOME:
|
||||||
tweetTask = new TweetLoader(this, Mode.TL_HOME);
|
tweetTask = new TweetLoader(this, Mode.TL_HOME);
|
||||||
tweetTask.execute(1);
|
tweetTask.execute(1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MENT:
|
case TWEET_FRAG_MENT:
|
||||||
tweetTask = new TweetLoader(this, Mode.TL_MENT);
|
tweetTask = new TweetLoader(this, Mode.TL_MENT);
|
||||||
tweetTask.execute(1);
|
tweetTask.execute(1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case USER_TWEET:
|
case TWEET_FRAG_TWEETS:
|
||||||
tweetTask = new TweetLoader(this, Mode.USR_TWEETS);
|
tweetTask = new TweetLoader(this, Mode.USR_TWEETS);
|
||||||
tweetTask.execute(id, 1);
|
tweetTask.execute(id, 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case USER_FAVOR:
|
case TWEET_FRAG_FAVORS:
|
||||||
tweetTask = new TweetLoader(this, Mode.USR_FAVORS);
|
tweetTask = new TweetLoader(this, Mode.USR_FAVORS);
|
||||||
tweetTask.execute(id, 1);
|
tweetTask.execute(id, 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TWEET_ANSR:
|
case TWEET_FRAG_ANSWER:
|
||||||
boolean loadAnswer = settings.getAnswerLoad();
|
boolean loadAnswer = settings.getAnswerLoad();
|
||||||
if (tweetTask != null || loadAnswer)
|
if (tweetTask != null || loadAnswer)
|
||||||
tweetTask = new TweetLoader(this, Mode.TWEET_ANS);
|
tweetTask = new TweetLoader(this, Mode.TWEET_ANS);
|
||||||
|
@ -208,12 +206,12 @@ public class TweetFragment extends Fragment implements OnRefreshListener, TweetC
|
||||||
tweetTask.execute(id, search);
|
tweetTask.execute(id, search);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SEARCH:
|
case TWEET_FRAG_SEARCH:
|
||||||
tweetTask = new TweetLoader(this, Mode.TWEET_SEARCH);
|
tweetTask = new TweetLoader(this, Mode.TWEET_SEARCH);
|
||||||
tweetTask.execute(search);
|
tweetTask.execute(search);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LIST:
|
case TWEET_FRAG_LIST:
|
||||||
tweetTask = new TweetLoader(this, Mode.LIST);
|
tweetTask = new TweetLoader(this, Mode.LIST);
|
||||||
tweetTask.execute(id, 1);
|
tweetTask.execute(id, 1);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -34,24 +34,21 @@ public class UserFragment extends Fragment implements OnRefreshListener, UserCli
|
||||||
public static final String KEY_FRAG_USER_SEARCH = "user_search";
|
public static final String KEY_FRAG_USER_SEARCH = "user_search";
|
||||||
public static final String KEY_FRAG_USER_ID = "user_id";
|
public static final String KEY_FRAG_USER_ID = "user_id";
|
||||||
|
|
||||||
public enum UserType {
|
public static final int USER_FRAG_FOLLOWS = 0;
|
||||||
FOLLOWS,
|
public static final int USER_FRAG_FRIENDS = 1;
|
||||||
FRIENDS,
|
public static final int USER_FRAG_RETWEET = 2;
|
||||||
RETWEET,
|
public static final int USER_FRAG_FAVORIT = 3;
|
||||||
FAVORIT,
|
public static final int USER_FRAG_SEARCH = 4;
|
||||||
USEARCH,
|
public static final int USER_FRAG_SUBSCRIBER = 5;
|
||||||
SUBSCR,
|
public static final int USER_FRAG_LISTS = 6;
|
||||||
LIST
|
|
||||||
}
|
|
||||||
|
|
||||||
private SwipeRefreshLayout reload;
|
private SwipeRefreshLayout reload;
|
||||||
private UserAdapter adapter;
|
private UserAdapter adapter;
|
||||||
private UserLoader userTask;
|
private UserLoader userTask;
|
||||||
private RecyclerView list;
|
private RecyclerView list;
|
||||||
private UserType mode;
|
|
||||||
private String search;
|
private String search;
|
||||||
private long id;
|
private long id;
|
||||||
|
private int mode;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup parent, Bundle param) {
|
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup parent, Bundle param) {
|
||||||
|
@ -59,7 +56,7 @@ public class UserFragment extends Fragment implements OnRefreshListener, UserCli
|
||||||
Context context = inflater.getContext();
|
Context context = inflater.getContext();
|
||||||
GlobalSettings settings = GlobalSettings.getInstance(context);
|
GlobalSettings settings = GlobalSettings.getInstance(context);
|
||||||
if (b != null) {
|
if (b != null) {
|
||||||
mode = (UserType) b.getSerializable(KEY_FRAG_USER_MODE);
|
mode = b.getInt(KEY_FRAG_USER_MODE);
|
||||||
id = b.getLong(KEY_FRAG_USER_ID, -1);
|
id = b.getLong(KEY_FRAG_USER_ID, -1);
|
||||||
search = b.getString(KEY_FRAG_USER_SEARCH, "");
|
search = b.getString(KEY_FRAG_USER_SEARCH, "");
|
||||||
}
|
}
|
||||||
|
@ -149,31 +146,31 @@ public class UserFragment extends Fragment implements OnRefreshListener, UserCli
|
||||||
|
|
||||||
private void load() {
|
private void load() {
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case FOLLOWS:
|
case USER_FRAG_FOLLOWS:
|
||||||
userTask = new UserLoader(this, Mode.FOLLOWS);
|
userTask = new UserLoader(this, Mode.FOLLOWS);
|
||||||
userTask.execute(id);
|
userTask.execute(id);
|
||||||
break;
|
break;
|
||||||
case FRIENDS:
|
case USER_FRAG_FRIENDS:
|
||||||
userTask = new UserLoader(this, Mode.FRIENDS);
|
userTask = new UserLoader(this, Mode.FRIENDS);
|
||||||
userTask.execute(id);
|
userTask.execute(id);
|
||||||
break;
|
break;
|
||||||
case RETWEET:
|
case USER_FRAG_RETWEET:
|
||||||
userTask = new UserLoader(this, Mode.RETWEET);
|
userTask = new UserLoader(this, Mode.RETWEET);
|
||||||
userTask.execute(id);
|
userTask.execute(id);
|
||||||
break;
|
break;
|
||||||
case FAVORIT:
|
case USER_FRAG_FAVORIT:
|
||||||
userTask = new UserLoader(this, Mode.FAVORIT);
|
userTask = new UserLoader(this, Mode.FAVORIT);
|
||||||
userTask.execute(id);
|
userTask.execute(id);
|
||||||
break;
|
break;
|
||||||
case USEARCH:
|
case USER_FRAG_SEARCH:
|
||||||
userTask = new UserLoader(this, Mode.SEARCH);
|
userTask = new UserLoader(this, Mode.SEARCH);
|
||||||
userTask.execute(search);
|
userTask.execute(search);
|
||||||
break;
|
break;
|
||||||
case SUBSCR:
|
case USER_FRAG_SUBSCRIBER:
|
||||||
userTask = new UserLoader(this, Mode.SUBSCRIBER);
|
userTask = new UserLoader(this, Mode.SUBSCRIBER);
|
||||||
userTask.execute(id);
|
userTask.execute(id);
|
||||||
break;
|
break;
|
||||||
case LIST:
|
case USER_FRAG_LISTS:
|
||||||
userTask = new UserLoader(this, Mode.LIST);
|
userTask = new UserLoader(this, Mode.LIST);
|
||||||
userTask.execute(id);
|
userTask.execute(id);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -204,7 +204,7 @@
|
||||||
android:layout_height="@dimen/button_dm"
|
android:layout_height="@dimen/button_dm"
|
||||||
android:layout_margin="@dimen/button_margin"
|
android:layout_margin="@dimen/button_margin"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:background="@android:color/holo_red_dark"
|
android:background="@drawable/button"
|
||||||
android:text="@string/delete_database" />
|
android:text="@string/delete_database" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
android:layout_height="@dimen/button_dm"
|
android:layout_height="@dimen/button_dm"
|
||||||
android:layout_margin="@dimen/button_margin"
|
android:layout_margin="@dimen/button_margin"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:background="@android:color/holo_red_dark"
|
android:background="@drawable/button"
|
||||||
android:text="@string/logout" />
|
android:text="@string/logout" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
@ -2,4 +2,5 @@
|
||||||
<resources>
|
<resources>
|
||||||
<color name="halftrancparency">#40000000</color>
|
<color name="halftrancparency">#40000000</color>
|
||||||
<color name="darktrancparency">#80000000</color>
|
<color name="darktrancparency">#80000000</color>
|
||||||
|
<color name="brighttrancparency">#afffffff</color>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -19,6 +19,13 @@
|
||||||
<item name="android:colorBackground">@color/darktrancparency</item>
|
<item name="android:colorBackground">@color/darktrancparency</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="InfoDialog" parent="Theme.AppCompat.Dialog.Alert">
|
||||||
|
<item name="android:colorBackground">@color/brighttrancparency</item>
|
||||||
|
<item name="android:textColor">@android:color/holo_red_dark</item>
|
||||||
|
<item name="android:textColorPrimary">@android:color/black</item>
|
||||||
|
<item name="android:backgroundDimEnabled">true</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<style name="TransactionPending" parent="@android:style/Animation">
|
<style name="TransactionPending" parent="@android:style/Animation">
|
||||||
<item name="android:windowEnterAnimation">@android:anim/fade_in</item>
|
<item name="android:windowEnterAnimation">@android:anim/fade_in</item>
|
||||||
<item name="android:windowExitAnimation">@android:anim/fade_out</item>
|
<item name="android:windowExitAnimation">@android:anim/fade_out</item>
|
||||||
|
|
|
@ -6,7 +6,7 @@ buildscript {
|
||||||
google()
|
google()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.5.3'
|
classpath 'com.android.tools.build:gradle:3.6.1'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#Mon Jul 29 11:05:47 CEST 2019
|
#Wed Feb 26 10:24:58 CET 2020
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
|
||||||
|
|
Loading…
Reference in New Issue