Improve media activity
This commit is contained in:
parent
e755dc79ec
commit
a1e0d13663
|
@ -1,153 +1,26 @@
|
||||||
package app.fedilab.android.activities;
|
package app.fedilab.android.activities;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.ProgressDialog;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.content.res.Configuration;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.os.StrictMode;
|
|
||||||
import android.view.ActionMode;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.Toast;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.core.app.ActivityCompat;
|
|
||||||
import androidx.core.content.ContextCompat;
|
|
||||||
|
|
||||||
import com.franmontiel.localechanger.LocaleChanger;
|
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
|
||||||
import com.jaredrummler.cyanea.app.CyaneaAppCompatActivity;
|
|
||||||
import com.vanniktech.emoji.EmojiManager;
|
import com.vanniktech.emoji.EmojiManager;
|
||||||
import com.vanniktech.emoji.one.EmojiOneProvider;
|
import com.vanniktech.emoji.one.EmojiOneProvider;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.Timer;
|
|
||||||
|
|
||||||
import app.fedilab.android.BuildConfig;
|
|
||||||
import app.fedilab.android.helper.Helper;
|
import app.fedilab.android.helper.Helper;
|
||||||
import es.dmoral.toasty.Toasty;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Thomas on 12/12/2017.
|
* Created by Thomas on 16/05/2020.
|
||||||
* Base activity which updates security provider
|
* Fragment base activity which updates security provider
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@SuppressLint("Registered")
|
@SuppressLint("Registered")
|
||||||
public class BaseFragmentActivity extends CyaneaAppCompatActivity {
|
public class BaseFragmentActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
|
||||||
public static final int READ_WRITE_STORAGE = 52;
|
|
||||||
public static Timer timer;
|
|
||||||
public static boolean canShowActionMode = true;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
Helper.installProvider();
|
Helper.installProvider();
|
||||||
EmojiManager.install(new EmojiOneProvider());
|
EmojiManager.install(new EmojiOneProvider());
|
||||||
}
|
}
|
||||||
|
|
||||||
private ProgressDialog mProgressDialog;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
|
|
||||||
if (BuildConfig.DEBUG) {
|
|
||||||
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
|
|
||||||
.detectDiskReads()
|
|
||||||
.detectDiskWrites()
|
|
||||||
.detectAll()
|
|
||||||
.penaltyLog()
|
|
||||||
.build());
|
|
||||||
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
|
|
||||||
.detectLeakedSqlLiteObjects()
|
|
||||||
.detectLeakedClosableObjects()
|
|
||||||
.detectLeakedRegistrationObjects()
|
|
||||||
.detectActivityLeaks()
|
|
||||||
.penaltyLog()
|
|
||||||
// .penaltyDeath()
|
|
||||||
.build());
|
|
||||||
}
|
|
||||||
canShowActionMode = true;
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDestroy() {
|
|
||||||
super.onDestroy();
|
|
||||||
if (timer != null) {
|
|
||||||
timer.cancel();
|
|
||||||
timer = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onConfigurationChanged(@NotNull Configuration newConfig) {
|
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
LocaleChanger.onConfigurationChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void attachBaseContext(@NotNull Context newBase) {
|
|
||||||
newBase = LocaleChanger.configureBaseContext(newBase);
|
|
||||||
super.attachBaseContext(newBase);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean requestPermission(String permission) {
|
|
||||||
boolean isGranted = ContextCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED;
|
|
||||||
if (!isGranted) {
|
|
||||||
ActivityCompat.requestPermissions(
|
|
||||||
this,
|
|
||||||
new String[]{permission},
|
|
||||||
READ_WRITE_STORAGE);
|
|
||||||
}
|
|
||||||
return isGranted;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void isPermissionGranted(boolean isGranted, String permission) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
|
||||||
if (requestCode == READ_WRITE_STORAGE) {
|
|
||||||
isPermissionGranted(grantResults[0] == PackageManager.PERMISSION_GRANTED, permissions[0]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void showLoading(@NonNull String message) {
|
|
||||||
mProgressDialog = new ProgressDialog(this);
|
|
||||||
mProgressDialog.setMessage(message);
|
|
||||||
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
|
||||||
mProgressDialog.setCancelable(false);
|
|
||||||
mProgressDialog.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void hideLoading() {
|
|
||||||
if (mProgressDialog != null) {
|
|
||||||
mProgressDialog.dismiss();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void showSnackbar(@NonNull String message) {
|
|
||||||
View view = findViewById(android.R.id.content);
|
|
||||||
if (view != null) {
|
|
||||||
Snackbar.make(view, message, Snackbar.LENGTH_SHORT).show();
|
|
||||||
} else {
|
|
||||||
Toasty.info(BaseFragmentActivity.this, message, Toast.LENGTH_SHORT).show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onActionModeStarted(ActionMode mode) {
|
|
||||||
if (!canShowActionMode) {
|
|
||||||
mode.finish();
|
|
||||||
}
|
|
||||||
super.onActionModeStarted(mode);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -411,52 +411,6 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class commentTask extends AsyncTask<Void, Void, app.fedilab.android.client.Entities.Status>{
|
|
||||||
|
|
||||||
private WeakReference<Context> contextReference;
|
|
||||||
private Peertube peertube;
|
|
||||||
|
|
||||||
commentTask(WeakReference<Context> contextReference, Peertube peertube){
|
|
||||||
this.peertube = peertube;
|
|
||||||
this.contextReference = contextReference;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected app.fedilab.android.client.Entities.Status doInBackground(Void... voids) {
|
|
||||||
|
|
||||||
List<app.fedilab.android.client.Entities.Status> remoteStatuses = null;
|
|
||||||
if (peertube != null) {
|
|
||||||
APIResponse search = new API(contextReference.get()).search("https://" + peertube.getAccount().getHost() + "/videos/watch/" + peertube.getUuid());
|
|
||||||
if (search != null && search.getResults() != null) {
|
|
||||||
remoteStatuses = search.getResults().getStatuses();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if( remoteStatuses != null && remoteStatuses.size() > 0) {
|
|
||||||
return remoteStatuses.get(0);
|
|
||||||
}else {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPostExecute(app.fedilab.android.client.Entities.Status remoteStatuses) {
|
|
||||||
Intent intent = new Intent(contextReference.get(), TootActivity.class);
|
|
||||||
Bundle b = new Bundle();
|
|
||||||
if (remoteStatuses == null) {
|
|
||||||
Toasty.error(contextReference.get(), contextReference.get().getString(R.string.toast_error), Toast.LENGTH_SHORT).show();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (remoteStatuses.getReblog() != null) {
|
|
||||||
b.putParcelable("tootReply", remoteStatuses.getReblog());
|
|
||||||
} else {
|
|
||||||
b.putParcelable("tootReply", remoteStatuses);
|
|
||||||
}
|
|
||||||
intent.putExtras(b); //Put your id to your next Intent
|
|
||||||
contextReference.get().startActivity(intent);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public FullScreenMediaController.fullscreen getFullscreen() {
|
public FullScreenMediaController.fullscreen getFullscreen() {
|
||||||
return fullscreen;
|
return fullscreen;
|
||||||
}
|
}
|
||||||
|
@ -601,12 +555,12 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
||||||
String userAgent = sharedpreferences.getString(Helper.SET_CUSTOM_USER_AGENT, Helper.USER_AGENT);
|
String userAgent = sharedpreferences.getString(Helper.SET_CUSTOM_USER_AGENT, Helper.USER_AGENT);
|
||||||
int video_cache = sharedpreferences.getInt(Helper.SET_VIDEO_CACHE, Helper.DEFAULT_VIDEO_CACHE_MB);
|
int video_cache = sharedpreferences.getInt(Helper.SET_VIDEO_CACHE, Helper.DEFAULT_VIDEO_CACHE_MB);
|
||||||
ProgressiveMediaSource videoSource;
|
ProgressiveMediaSource videoSource;
|
||||||
if( video_cache == 0) {
|
if (video_cache == 0) {
|
||||||
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(PeertubeActivity.this,
|
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(PeertubeActivity.this,
|
||||||
Util.getUserAgent(PeertubeActivity.this, userAgent), null);
|
Util.getUserAgent(PeertubeActivity.this, userAgent), null);
|
||||||
videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
|
videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
|
||||||
.createMediaSource(Uri.parse(apiResponse.getPeertubes().get(0).getFileUrl(null, apiResponse.getPeertubes().get(0).isStreamService())));
|
.createMediaSource(Uri.parse(apiResponse.getPeertubes().get(0).getFileUrl(null, apiResponse.getPeertubes().get(0).isStreamService())));
|
||||||
}else{
|
} else {
|
||||||
CacheDataSourceFactory cacheDataSourceFactory = new CacheDataSourceFactory(PeertubeActivity.this, video_cache * 1024 * 1024, 5 * 1024 * 1024);
|
CacheDataSourceFactory cacheDataSourceFactory = new CacheDataSourceFactory(PeertubeActivity.this, video_cache * 1024 * 1024, 5 * 1024 * 1024);
|
||||||
videoSource = new ProgressiveMediaSource.Factory(cacheDataSourceFactory)
|
videoSource = new ProgressiveMediaSource.Factory(cacheDataSourceFactory)
|
||||||
.createMediaSource(Uri.parse(apiResponse.getPeertubes().get(0).getFileUrl(null, apiResponse.getPeertubes().get(0).isStreamService())));
|
.createMediaSource(Uri.parse(apiResponse.getPeertubes().get(0).getFileUrl(null, apiResponse.getPeertubes().get(0).isStreamService())));
|
||||||
|
@ -684,7 +638,6 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConfigurationChanged(@NotNull Configuration newConfig) {
|
public void onConfigurationChanged(@NotNull Configuration newConfig) {
|
||||||
super.onConfigurationChanged(newConfig);
|
super.onConfigurationChanged(newConfig);
|
||||||
|
@ -767,7 +720,6 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
@ -811,12 +763,12 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
||||||
String userAgent = sharedpreferences.getString(Helper.SET_CUSTOM_USER_AGENT, Helper.USER_AGENT);
|
String userAgent = sharedpreferences.getString(Helper.SET_CUSTOM_USER_AGENT, Helper.USER_AGENT);
|
||||||
int video_cache = sharedpreferences.getInt(Helper.SET_VIDEO_CACHE, Helper.DEFAULT_VIDEO_CACHE_MB);
|
int video_cache = sharedpreferences.getInt(Helper.SET_VIDEO_CACHE, Helper.DEFAULT_VIDEO_CACHE_MB);
|
||||||
ProgressiveMediaSource videoSource;
|
ProgressiveMediaSource videoSource;
|
||||||
if( video_cache == 0) {
|
if (video_cache == 0) {
|
||||||
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(PeertubeActivity.this,
|
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(PeertubeActivity.this,
|
||||||
Util.getUserAgent(PeertubeActivity.this, userAgent), null);
|
Util.getUserAgent(PeertubeActivity.this, userAgent), null);
|
||||||
videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
|
videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
|
||||||
.createMediaSource(Uri.parse(peertube.getFileUrl(res, peertube.isStreamService())));
|
.createMediaSource(Uri.parse(peertube.getFileUrl(res, peertube.isStreamService())));
|
||||||
}else{
|
} else {
|
||||||
CacheDataSourceFactory cacheDataSourceFactory = new CacheDataSourceFactory(PeertubeActivity.this, video_cache * 1024 * 1024, 5 * 1024 * 1024);
|
CacheDataSourceFactory cacheDataSourceFactory = new CacheDataSourceFactory(PeertubeActivity.this, video_cache * 1024 * 1024, 5 * 1024 * 1024);
|
||||||
videoSource = new ProgressiveMediaSource.Factory(cacheDataSourceFactory)
|
videoSource = new ProgressiveMediaSource.Factory(cacheDataSourceFactory)
|
||||||
.createMediaSource(Uri.parse(peertube.getFileUrl(res, peertube.isStreamService())));
|
.createMediaSource(Uri.parse(peertube.getFileUrl(res, peertube.isStreamService())));
|
||||||
|
@ -839,7 +791,6 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void initFullscreenDialog() {
|
private void initFullscreenDialog() {
|
||||||
|
|
||||||
fullScreenDialog = new Dialog(this, android.R.style.Theme_Black_NoTitleBar_Fullscreen) {
|
fullScreenDialog = new Dialog(this, android.R.style.Theme_Black_NoTitleBar_Fullscreen) {
|
||||||
|
@ -860,7 +811,6 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
||||||
fullScreenDialog.show();
|
fullScreenDialog.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void closeFullscreenDialog() {
|
private void closeFullscreenDialog() {
|
||||||
|
|
||||||
((ViewGroup) playerView.getParent()).removeView(playerView);
|
((ViewGroup) playerView.getParent()).removeView(playerView);
|
||||||
|
@ -890,7 +840,6 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
||||||
resolution.setOnClickListener(v -> displayResolution());
|
resolution.setOnClickListener(v -> displayResolution());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void changeColor() {
|
private void changeColor() {
|
||||||
if (peertube.getMyRating() != null && peertube.getMyRating().equals("like")) {
|
if (peertube.getMyRating() != null && peertube.getMyRating().equals("like")) {
|
||||||
changeDrawableColor(PeertubeActivity.this, R.drawable.ic_thumb_up_peertube, R.color.positive_thumbs);
|
changeDrawableColor(PeertubeActivity.this, R.drawable.ic_thumb_up_peertube, R.color.positive_thumbs);
|
||||||
|
@ -912,4 +861,49 @@ public class PeertubeActivity extends BaseActivity implements OnRetrievePeertube
|
||||||
playlists = apiResponse.getPlaylists();
|
playlists = apiResponse.getPlaylists();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static class commentTask extends AsyncTask<Void, Void, app.fedilab.android.client.Entities.Status> {
|
||||||
|
|
||||||
|
private WeakReference<Context> contextReference;
|
||||||
|
private Peertube peertube;
|
||||||
|
|
||||||
|
commentTask(WeakReference<Context> contextReference, Peertube peertube) {
|
||||||
|
this.peertube = peertube;
|
||||||
|
this.contextReference = contextReference;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected app.fedilab.android.client.Entities.Status doInBackground(Void... voids) {
|
||||||
|
|
||||||
|
List<app.fedilab.android.client.Entities.Status> remoteStatuses = null;
|
||||||
|
if (peertube != null) {
|
||||||
|
APIResponse search = new API(contextReference.get()).search("https://" + peertube.getAccount().getHost() + "/videos/watch/" + peertube.getUuid());
|
||||||
|
if (search != null && search.getResults() != null) {
|
||||||
|
remoteStatuses = search.getResults().getStatuses();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (remoteStatuses != null && remoteStatuses.size() > 0) {
|
||||||
|
return remoteStatuses.get(0);
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPostExecute(app.fedilab.android.client.Entities.Status remoteStatuses) {
|
||||||
|
Intent intent = new Intent(contextReference.get(), TootActivity.class);
|
||||||
|
Bundle b = new Bundle();
|
||||||
|
if (remoteStatuses == null) {
|
||||||
|
Toasty.error(contextReference.get(), contextReference.get().getString(R.string.toast_error), Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (remoteStatuses.getReblog() != null) {
|
||||||
|
b.putParcelable("tootReply", remoteStatuses.getReblog());
|
||||||
|
} else {
|
||||||
|
b.putParcelable("tootReply", remoteStatuses);
|
||||||
|
}
|
||||||
|
intent.putExtras(b); //Put your id to your next Intent
|
||||||
|
contextReference.get().startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -737,6 +737,7 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
|
||||||
attachments.add(attachment);
|
attachments.add(attachment);
|
||||||
intent.putParcelableArrayListExtra("mediaArray", attachments);
|
intent.putParcelableArrayListExtra("mediaArray", attachments);
|
||||||
b.putInt("position", 1);
|
b.putInt("position", 1);
|
||||||
|
b.putInt("bgcolor", getResources().getColor(R.color.cyanea_primary_dark));
|
||||||
intent.putExtras(b);
|
intent.putExtras(b);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -24,7 +24,6 @@ import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.graphics.Color;
|
|
||||||
import android.graphics.Point;
|
import android.graphics.Point;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
@ -49,11 +48,6 @@ import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||||
import androidx.viewpager.widget.PagerAdapter;
|
import androidx.viewpager.widget.PagerAdapter;
|
||||||
import androidx.viewpager.widget.ViewPager;
|
import androidx.viewpager.widget.ViewPager;
|
||||||
|
|
||||||
import com.r0adkll.slidr.Slidr;
|
|
||||||
import com.r0adkll.slidr.model.SlidrConfig;
|
|
||||||
import com.r0adkll.slidr.model.SlidrInterface;
|
|
||||||
import com.r0adkll.slidr.model.SlidrPosition;
|
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -72,7 +66,7 @@ import es.dmoral.toasty.Toasty;
|
||||||
* Media Activity
|
* Media Activity
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class SlideMediaActivity extends BaseActivity implements OnDownloadInterface {
|
public class SlideMediaActivity extends BaseFragmentActivity implements OnDownloadInterface {
|
||||||
|
|
||||||
int flags;
|
int flags;
|
||||||
private ArrayList<Attachment> attachments;
|
private ArrayList<Attachment> attachments;
|
||||||
|
@ -80,13 +74,13 @@ public class SlideMediaActivity extends BaseActivity implements OnDownloadInterf
|
||||||
private ViewPager mPager;
|
private ViewPager mPager;
|
||||||
private long downloadID;
|
private long downloadID;
|
||||||
private boolean fullscreen;
|
private boolean fullscreen;
|
||||||
private SlidrInterface slidrInterface;
|
|
||||||
private TextView media_description;
|
private TextView media_description;
|
||||||
private Handler handler;
|
private Handler handler;
|
||||||
private boolean swipeEnabled;
|
|
||||||
private int minTouch, maxTouch;
|
private int minTouch, maxTouch;
|
||||||
private float startX;
|
private float startX;
|
||||||
private float startY;
|
private float startY;
|
||||||
|
private int bgColor;
|
||||||
|
|
||||||
private BroadcastReceiver onDownloadComplete = new BroadcastReceiver() {
|
private BroadcastReceiver onDownloadComplete = new BroadcastReceiver() {
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
@ -131,21 +125,24 @@ public class SlideMediaActivity extends BaseActivity implements OnDownloadInterf
|
||||||
media_description = findViewById(R.id.media_description);
|
media_description = findViewById(R.id.media_description);
|
||||||
final int med_desc_timeout = sharedpreferences.getInt(Helper.SET_MED_DESC_TIMEOUT, 3) * 1000;
|
final int med_desc_timeout = sharedpreferences.getInt(Helper.SET_MED_DESC_TIMEOUT, 3) * 1000;
|
||||||
flags = getWindow().getDecorView().getSystemUiVisibility();
|
flags = getWindow().getDecorView().getSystemUiVisibility();
|
||||||
|
if (getIntent().getExtras() != null) {
|
||||||
|
mediaPosition = getIntent().getExtras().getInt("position", 1);
|
||||||
|
bgColor = getIntent().getExtras().getInt("bgcolor", -1);
|
||||||
|
}
|
||||||
|
|
||||||
swipeEnabled = true;
|
|
||||||
ActionBar actionBar = getSupportActionBar();
|
ActionBar actionBar = getSupportActionBar();
|
||||||
if (actionBar != null) {
|
if (actionBar != null) {
|
||||||
//actionBar.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(SlideMediaActivity.this, R.color.cyanea_primary)));
|
actionBar.setBackgroundDrawable(new ColorDrawable(bgColor));
|
||||||
LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);
|
LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);
|
||||||
assert inflater != null;
|
assert inflater != null;
|
||||||
View view = inflater.inflate(R.layout.media_action_bar, new LinearLayout(SlideMediaActivity.this), false);
|
View view = inflater.inflate(R.layout.media_action_bar, new LinearLayout(SlideMediaActivity.this), false);
|
||||||
view.setBackground(new ColorDrawable(ContextCompat.getColor(SlideMediaActivity.this, R.color.cyanea_primary)));
|
view.setBackgroundColor(bgColor);
|
||||||
actionBar.setCustomView(view, new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
|
actionBar.setCustomView(view, new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
|
||||||
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
|
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
|
||||||
ImageView toolbar_close = actionBar.getCustomView().findViewById(R.id.toolbar_close);
|
ImageView toolbar_close = actionBar.getCustomView().findViewById(R.id.toolbar_close);
|
||||||
TextView toolbar_title = actionBar.getCustomView().findViewById(R.id.toolbar_title);
|
TextView toolbar_title = actionBar.getCustomView().findViewById(R.id.toolbar_title);
|
||||||
ImageView media_save = getSupportActionBar().getCustomView().findViewById(R.id.media_save);
|
ImageView media_save = actionBar.getCustomView().findViewById(R.id.media_save);
|
||||||
ImageView media_share = getSupportActionBar().getCustomView().findViewById(R.id.media_share);
|
ImageView media_share = actionBar.getCustomView().findViewById(R.id.media_share);
|
||||||
toolbar_close.setOnClickListener(v -> finish());
|
toolbar_close.setOnClickListener(v -> finish());
|
||||||
media_save.setOnClickListener(view12 -> {
|
media_save.setOnClickListener(view12 -> {
|
||||||
int position = mPager.getCurrentItem();
|
int position = mPager.getCurrentItem();
|
||||||
|
@ -198,8 +195,7 @@ public class SlideMediaActivity extends BaseActivity implements OnDownloadInterf
|
||||||
}
|
}
|
||||||
|
|
||||||
attachments = getIntent().getParcelableArrayListExtra("mediaArray");
|
attachments = getIntent().getParcelableArrayListExtra("mediaArray");
|
||||||
if (getIntent().getExtras() != null)
|
|
||||||
mediaPosition = getIntent().getExtras().getInt("position", 1);
|
|
||||||
|
|
||||||
if (attachments == null || attachments.size() == 0)
|
if (attachments == null || attachments.size() == 0)
|
||||||
finish();
|
finish();
|
||||||
|
@ -246,19 +242,7 @@ public class SlideMediaActivity extends BaseActivity implements OnDownloadInterf
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
SlidrConfig config = new SlidrConfig.Builder()
|
|
||||||
.sensitivity(1f)
|
|
||||||
.scrimColor(Color.BLACK)
|
|
||||||
.scrimStartAlpha(0.8f)
|
|
||||||
.scrimEndAlpha(0f)
|
|
||||||
.position(SlidrPosition.VERTICAL)
|
|
||||||
.velocityThreshold(2400)
|
|
||||||
.distanceThreshold(0.25f)
|
|
||||||
.edgeSize(0.18f)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
|
|
||||||
slidrInterface = Slidr.attach(SlideMediaActivity.this, config);
|
|
||||||
setFullscreen(true);
|
setFullscreen(true);
|
||||||
Display display = getWindowManager().getDefaultDisplay();
|
Display display = getWindowManager().getDefaultDisplay();
|
||||||
Point size = new Point();
|
Point size = new Point();
|
||||||
|
@ -352,15 +336,6 @@ public class SlideMediaActivity extends BaseActivity implements OnDownloadInterf
|
||||||
super.onPostResume();
|
super.onPostResume();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enableSliding(boolean enable) {
|
|
||||||
if (enable && !swipeEnabled) {
|
|
||||||
slidrInterface.unlock();
|
|
||||||
swipeEnabled = true;
|
|
||||||
} else if (!enable && swipeEnabled) {
|
|
||||||
slidrInterface.lock();
|
|
||||||
swipeEnabled = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean getFullScreen() {
|
public boolean getFullScreen() {
|
||||||
return this.fullscreen;
|
return this.fullscreen;
|
||||||
|
@ -419,6 +394,7 @@ public class SlideMediaActivity extends BaseActivity implements OnDownloadInterf
|
||||||
MediaSliderFragment mediaSliderFragment = new MediaSliderFragment();
|
MediaSliderFragment mediaSliderFragment = new MediaSliderFragment();
|
||||||
bundle.putInt("position", position);
|
bundle.putInt("position", position);
|
||||||
bundle.putParcelable("attachment", attachments.get(position));
|
bundle.putParcelable("attachment", attachments.get(position));
|
||||||
|
bundle.putInt("bgcolor", bgColor);
|
||||||
mediaSliderFragment.setArguments(bundle);
|
mediaSliderFragment.setArguments(bundle);
|
||||||
return mediaSliderFragment;
|
return mediaSliderFragment;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3708,7 +3708,8 @@ public class API {
|
||||||
newStatus.setArt_attachment(attachment);
|
newStatus.setArt_attachment(attachment);
|
||||||
apiResponseReply.getStatuses().add(newStatus);
|
apiResponseReply.getStatuses().add(newStatus);
|
||||||
}
|
}
|
||||||
}catch (Exception ignored){}
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,6 +173,7 @@ public class ArtListAdapter extends RecyclerView.Adapter implements OnPostAction
|
||||||
else if (status.getMedia_attachments() != null && status.getMedia_attachments().size() > 0)
|
else if (status.getMedia_attachments() != null && status.getMedia_attachments().size() > 0)
|
||||||
attachments.add(status.getMedia_attachments().get(0));
|
attachments.add(status.getMedia_attachments().get(0));
|
||||||
intent.putParcelableArrayListExtra("mediaArray", attachments);
|
intent.putParcelableArrayListExtra("mediaArray", attachments);
|
||||||
|
b.putInt("bgcolor", context.getResources().getColor(R.color.cyanea_primary_dark));
|
||||||
b.putInt("position", 1);
|
b.putInt("position", 1);
|
||||||
intent.putExtras(b);
|
intent.putExtras(b);
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
|
|
|
@ -84,6 +84,7 @@ public class ImageAdapter extends RecyclerView.Adapter {
|
||||||
}
|
}
|
||||||
intent.putParcelableArrayListExtra("mediaArray", attachmentsTmp);
|
intent.putParcelableArrayListExtra("mediaArray", attachmentsTmp);
|
||||||
b.putInt("position", (viewHolder.getAdapterPosition() + 1));
|
b.putInt("position", (viewHolder.getAdapterPosition() + 1));
|
||||||
|
b.putInt("bgcolor", context.getResources().getColor(R.color.cyanea_primary_dark));
|
||||||
intent.putExtras(b);
|
intent.putExtras(b);
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -1184,6 +1184,7 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On
|
||||||
Bundle b = new Bundle();
|
Bundle b = new Bundle();
|
||||||
intent.putParcelableArrayListExtra("mediaArray", notification.getStatus().getMedia_attachments());
|
intent.putParcelableArrayListExtra("mediaArray", notification.getStatus().getMedia_attachments());
|
||||||
b.putInt("position", finalPosition);
|
b.putInt("position", finalPosition);
|
||||||
|
b.putInt("bgcolor", context.getResources().getColor(R.color.cyanea_primary_dark));
|
||||||
intent.putExtras(b);
|
intent.putExtras(b);
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -397,6 +397,7 @@ public class PixelfedListAdapter extends RecyclerView.Adapter implements OnPostA
|
||||||
Bundle b = new Bundle();
|
Bundle b = new Bundle();
|
||||||
intent.putParcelableArrayListExtra("mediaArray", status.getMedia_attachments());
|
intent.putParcelableArrayListExtra("mediaArray", status.getMedia_attachments());
|
||||||
b.putInt("position", 1);
|
b.putInt("position", 1);
|
||||||
|
b.putInt("bgcolor", context.getResources().getColor(R.color.cyanea_primary_dark));
|
||||||
intent.putExtras(b);
|
intent.putExtras(b);
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -134,6 +134,7 @@ public class PixelfedStoriesListAdapter extends RecyclerView.Adapter {
|
||||||
Bundle b = new Bundle();
|
Bundle b = new Bundle();
|
||||||
intent.putParcelableArrayListExtra("mediaArray", attachments);
|
intent.putParcelableArrayListExtra("mediaArray", attachments);
|
||||||
b.putInt("position", 1);
|
b.putInt("position", 1);
|
||||||
|
b.putInt("bgcolor", context.getResources().getColor(R.color.cyanea_primary_dark));
|
||||||
intent.putExtras(b);
|
intent.putExtras(b);
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -107,6 +107,7 @@ public class SliderAdapter extends SliderViewAdapter<SliderAdapter.SliderAdapter
|
||||||
|
|
||||||
intent.putParcelableArrayListExtra("mediaArray", attachments);
|
intent.putParcelableArrayListExtra("mediaArray", attachments);
|
||||||
b.putInt("position", (position + 1));
|
b.putInt("position", (position + 1));
|
||||||
|
b.putInt("bgcolor", contextWeakReference.get().getResources().getColor(R.color.cyanea_primary_dark));
|
||||||
intent.putExtras(b);
|
intent.putExtras(b);
|
||||||
contextWeakReference.get().startActivity(intent);
|
contextWeakReference.get().startActivity(intent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -3404,6 +3404,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
Intent intent = new Intent(context, SlideMediaActivity.class);
|
Intent intent = new Intent(context, SlideMediaActivity.class);
|
||||||
Bundle b = new Bundle();
|
Bundle b = new Bundle();
|
||||||
intent.putParcelableArrayListExtra("mediaArray", attachmentArrayList);
|
intent.putParcelableArrayListExtra("mediaArray", attachmentArrayList);
|
||||||
|
b.putInt("bgcolor", context.getResources().getColor(R.color.cyanea_primary_dark));
|
||||||
b.putInt("position", finalPosition);
|
b.putInt("position", finalPosition);
|
||||||
intent.putExtras(b);
|
intent.putExtras(b);
|
||||||
context.startActivity(intent);
|
context.startActivity(intent);
|
||||||
|
|
|
@ -21,7 +21,6 @@ import android.app.TimePickerDialog;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.ContentUris;
|
import android.content.ContentUris;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
@ -470,7 +469,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
|
||||||
|
|
||||||
Button update_tracking_domains = rootView.findViewById(R.id.update_tracking_domains);
|
Button update_tracking_domains = rootView.findViewById(R.id.update_tracking_domains);
|
||||||
update_tracking_domains.setOnClickListener(v ->
|
update_tracking_domains.setOnClickListener(v ->
|
||||||
new DownloadTrackingDomainsAsyncTask(Objects.requireNonNull(getActivity()), update_tracking_domains).execute()
|
new DownloadTrackingDomainsAsyncTask(Objects.requireNonNull(getActivity()), update_tracking_domains).execute()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -1028,7 +1027,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
|
||||||
|
|
||||||
int video_cache_size = sharedpreferences.getInt(Helper.SET_VIDEO_CACHE, Helper.DEFAULT_VIDEO_CACHE_MB);
|
int video_cache_size = sharedpreferences.getInt(Helper.SET_VIDEO_CACHE, Helper.DEFAULT_VIDEO_CACHE_MB);
|
||||||
SeekBar set_video_cache_size = rootView.findViewById(R.id.set_video_cache_size);
|
SeekBar set_video_cache_size = rootView.findViewById(R.id.set_video_cache_size);
|
||||||
set_video_cache_size.setMax(5*Helper.DEFAULT_VIDEO_CACHE_MB);
|
set_video_cache_size.setMax(5 * Helper.DEFAULT_VIDEO_CACHE_MB);
|
||||||
set_video_cache_size.setProgress(video_cache_size);
|
set_video_cache_size.setProgress(video_cache_size);
|
||||||
TextView set_video_cache = rootView.findViewById(R.id.set_video_cache);
|
TextView set_video_cache = rootView.findViewById(R.id.set_video_cache);
|
||||||
set_video_cache.setText(String.valueOf(video_cache_size));
|
set_video_cache.setText(String.valueOf(video_cache_size));
|
||||||
|
@ -1051,7 +1050,6 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int truncate_toots_size = sharedpreferences.getInt(Helper.SET_TRUNCATE_TOOTS_SIZE, 0);
|
int truncate_toots_size = sharedpreferences.getInt(Helper.SET_TRUNCATE_TOOTS_SIZE, 0);
|
||||||
SeekBar set_truncate_size = rootView.findViewById(R.id.set_truncate_size);
|
SeekBar set_truncate_size = rootView.findViewById(R.id.set_truncate_size);
|
||||||
set_truncate_size.setMax(20);
|
set_truncate_size.setMax(20);
|
||||||
|
|
|
@ -20,6 +20,7 @@ import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.media.MediaPlayer;
|
import android.media.MediaPlayer;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
@ -51,12 +52,16 @@ import com.github.chrisbanes.photoview.PhotoView;
|
||||||
import com.google.android.exoplayer2.ExoPlayerFactory;
|
import com.google.android.exoplayer2.ExoPlayerFactory;
|
||||||
import com.google.android.exoplayer2.Player;
|
import com.google.android.exoplayer2.Player;
|
||||||
import com.google.android.exoplayer2.SimpleExoPlayer;
|
import com.google.android.exoplayer2.SimpleExoPlayer;
|
||||||
|
|
||||||
import com.google.android.exoplayer2.source.ProgressiveMediaSource;
|
import com.google.android.exoplayer2.source.ProgressiveMediaSource;
|
||||||
import com.google.android.exoplayer2.ui.PlayerView;
|
import com.google.android.exoplayer2.ui.PlayerView;
|
||||||
import com.google.android.exoplayer2.upstream.DataSource;
|
import com.google.android.exoplayer2.upstream.DataSource;
|
||||||
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
|
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
|
||||||
import com.google.android.exoplayer2.util.Util;
|
import com.google.android.exoplayer2.util.Util;
|
||||||
|
import com.r0adkll.slidr.Slidr;
|
||||||
|
import com.r0adkll.slidr.model.SlidrConfig;
|
||||||
|
import com.r0adkll.slidr.model.SlidrInterface;
|
||||||
|
import com.r0adkll.slidr.model.SlidrListener;
|
||||||
|
import com.r0adkll.slidr.model.SlidrPosition;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
@ -107,6 +112,9 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
|
||||||
private ImageButton playView;
|
private ImageButton playView;
|
||||||
private GLAudioVisualizationView visualizerView;
|
private GLAudioVisualizationView visualizerView;
|
||||||
private View rootView;
|
private View rootView;
|
||||||
|
private SlidrInterface slidrInterface;
|
||||||
|
private boolean swipeEnabled;
|
||||||
|
private int bgColor;
|
||||||
|
|
||||||
public MediaSliderFragment() {
|
public MediaSliderFragment() {
|
||||||
}
|
}
|
||||||
|
@ -120,8 +128,10 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
|
||||||
|
|
||||||
if (bundle != null) {
|
if (bundle != null) {
|
||||||
attachment = bundle.getParcelable("attachment");
|
attachment = bundle.getParcelable("attachment");
|
||||||
}
|
bgColor = bundle.getInt("bgcolor", R.color.black);
|
||||||
|
|
||||||
|
}
|
||||||
|
swipeEnabled = true;
|
||||||
message_ready = rootView.findViewById(R.id.message_ready);
|
message_ready = rootView.findViewById(R.id.message_ready);
|
||||||
|
|
||||||
RelativeLayout content_audio = rootView.findViewById(R.id.content_audio);
|
RelativeLayout content_audio = rootView.findViewById(R.id.content_audio);
|
||||||
|
@ -154,9 +164,9 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
|
||||||
if (!((SlideMediaActivity) context).getFullScreen()) {
|
if (!((SlideMediaActivity) context).getFullScreen()) {
|
||||||
((SlideMediaActivity) context).setFullscreen(true);
|
((SlideMediaActivity) context).setFullscreen(true);
|
||||||
}
|
}
|
||||||
((SlideMediaActivity) context).enableSliding(false);
|
enableSliding(false);
|
||||||
} else {
|
} else {
|
||||||
((SlideMediaActivity) context).enableSliding(true);
|
enableSliding(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
ProgressBar pbar_inf = rootView.findViewById(R.id.pbar_inf);
|
ProgressBar pbar_inf = rootView.findViewById(R.id.pbar_inf);
|
||||||
|
@ -173,6 +183,11 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
|
||||||
attachment.setType(type);
|
attachment.setType(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (bgColor != -1) {
|
||||||
|
RelativeLayout media_fragment_container = rootView.findViewById(R.id.media_fragment_container);
|
||||||
|
media_fragment_container.setBackgroundColor(bgColor);
|
||||||
|
}
|
||||||
|
|
||||||
switch (type.toLowerCase()) {
|
switch (type.toLowerCase()) {
|
||||||
case "image":
|
case "image":
|
||||||
pbar_inf.setScaleY(1f);
|
pbar_inf.setScaleY(1f);
|
||||||
|
@ -242,12 +257,12 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
|
||||||
String userAgent = sharedpreferences.getString(Helper.SET_CUSTOM_USER_AGENT, Helper.USER_AGENT);
|
String userAgent = sharedpreferences.getString(Helper.SET_CUSTOM_USER_AGENT, Helper.USER_AGENT);
|
||||||
int video_cache = sharedpreferences.getInt(Helper.SET_VIDEO_CACHE, Helper.DEFAULT_VIDEO_CACHE_MB);
|
int video_cache = sharedpreferences.getInt(Helper.SET_VIDEO_CACHE, Helper.DEFAULT_VIDEO_CACHE_MB);
|
||||||
ProgressiveMediaSource videoSource;
|
ProgressiveMediaSource videoSource;
|
||||||
if( video_cache == 0) {
|
if (video_cache == 0) {
|
||||||
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context,
|
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context,
|
||||||
Util.getUserAgent(context, userAgent), null);
|
Util.getUserAgent(context, userAgent), null);
|
||||||
videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
|
videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
|
||||||
.createMediaSource(uri);
|
.createMediaSource(uri);
|
||||||
}else{
|
} else {
|
||||||
CacheDataSourceFactory cacheDataSourceFactory = new CacheDataSourceFactory(context, video_cache * 1024 * 1024, 5 * 1024 * 1024);
|
CacheDataSourceFactory cacheDataSourceFactory = new CacheDataSourceFactory(context, video_cache * 1024 * 1024, 5 * 1024 * 1024);
|
||||||
videoSource = new ProgressiveMediaSource.Factory(cacheDataSourceFactory)
|
videoSource = new ProgressiveMediaSource.Factory(cacheDataSourceFactory)
|
||||||
.createMediaSource(uri);
|
.createMediaSource(uri);
|
||||||
|
@ -291,9 +306,7 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
|
||||||
webview_video.getSettings().setDomStorageEnabled(true);
|
webview_video.getSettings().setDomStorageEnabled(true);
|
||||||
webview_video.getSettings().setAppCacheEnabled(true);
|
webview_video.getSettings().setAppCacheEnabled(true);
|
||||||
String user_agent = sharedpreferences.getString(Helper.SET_CUSTOM_USER_AGENT, Helper.USER_AGENT);
|
String user_agent = sharedpreferences.getString(Helper.SET_CUSTOM_USER_AGENT, Helper.USER_AGENT);
|
||||||
if (user_agent != null) {
|
webview_video.getSettings().setUserAgentString(user_agent);
|
||||||
webview_video.getSettings().setUserAgentString(user_agent);
|
|
||||||
}
|
|
||||||
webview_video.getSettings().setMediaPlaybackRequiresUserGesture(false);
|
webview_video.getSettings().setMediaPlaybackRequiresUserGesture(false);
|
||||||
webview_video.setWebViewClient(new MastalabWebViewClient((Activity) context));
|
webview_video.setWebViewClient(new MastalabWebViewClient((Activity) context));
|
||||||
webview_video.loadUrl(attachment.getUrl());
|
webview_video.loadUrl(attachment.getUrl());
|
||||||
|
@ -491,8 +504,49 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
|
||||||
visualizerView.onResume();
|
visualizerView.onResume();
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
}
|
}
|
||||||
|
if (slidrInterface == null && rootView != null) {
|
||||||
|
slidrInterface = Slidr.replace(rootView.findViewById(R.id.media_fragment_container), new SlidrConfig.Builder().sensitivity(1f)
|
||||||
|
.scrimColor(Color.BLACK)
|
||||||
|
.scrimStartAlpha(0.8f)
|
||||||
|
.scrimEndAlpha(0f)
|
||||||
|
.position(SlidrPosition.VERTICAL)
|
||||||
|
.velocityThreshold(2400)
|
||||||
|
.distanceThreshold(0.25f)
|
||||||
|
.edgeSize(0.18f)
|
||||||
|
.listener(new SlidrListener() {
|
||||||
|
@Override
|
||||||
|
public void onSlideStateChanged(int state) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSlideChange(float percent) {
|
||||||
|
((SlideMediaActivity) context).setFullscreen(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSlideOpened() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onSlideClosed() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.build());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void enableSliding(boolean enable) {
|
||||||
|
if (enable && !swipeEnabled) {
|
||||||
|
slidrInterface.unlock();
|
||||||
|
swipeEnabled = true;
|
||||||
|
} else if (!enable && swipeEnabled) {
|
||||||
|
slidrInterface.lock();
|
||||||
|
swipeEnabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCompletion(MediaPlayer mp) {
|
public void onCompletion(MediaPlayer mp) {
|
||||||
|
|
|
@ -472,8 +472,6 @@ public class Helper {
|
||||||
public static final String EP_AUTHORIZE = "/oauth/authorize";
|
public static final String EP_AUTHORIZE = "/oauth/authorize";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Proxy
|
//Proxy
|
||||||
public static final String SET_PROXY_ENABLED = "set_proxy_enabled";
|
public static final String SET_PROXY_ENABLED = "set_proxy_enabled";
|
||||||
public static final String SET_PROXY_TYPE = "set_proxy_type";
|
public static final String SET_PROXY_TYPE = "set_proxy_type";
|
||||||
|
|
|
@ -81,7 +81,7 @@ public class TextEditorDialogFragment extends DialogFragment {
|
||||||
public void onViewCreated(@NotNull View view, @Nullable Bundle savedInstanceState) {
|
public void onViewCreated(@NotNull View view, @Nullable Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
mAddTextEditText = view.findViewById(R.id.add_text_edit_text);
|
mAddTextEditText = view.findViewById(R.id.add_text_edit_text);
|
||||||
if( getActivity() != null) {
|
if (getActivity() != null) {
|
||||||
mInputMethodManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
|
mInputMethodManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||||
TextView mAddTextDoneTextView = view.findViewById(R.id.add_text_done_tv);
|
TextView mAddTextDoneTextView = view.findViewById(R.id.add_text_done_tv);
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
android:animateLayoutChanges="true">
|
android:animateLayoutChanges="true">
|
||||||
|
|
||||||
<androidx.viewpager.widget.ViewPager
|
<androidx.viewpager.widget.ViewPager
|
||||||
|
|
|
@ -1,178 +1,186 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<FrameLayout
|
||||||
|
android:id="@+id/main_container"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
android:background="@android:color/transparent">
|
||||||
|
|
||||||
<!-- Main Loader -->
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/loader"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentTop="true"
|
|
||||||
android:gravity="center">
|
|
||||||
|
|
||||||
<ProgressBar
|
|
||||||
android:id="@+id/pbar_inf"
|
|
||||||
style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:indeterminate="false"
|
|
||||||
android:max="100"
|
|
||||||
android:progress="0" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/loader_progress"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textColor="@color/dark_text"
|
|
||||||
android:textSize="12sp" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_centerInParent="true">
|
|
||||||
|
|
||||||
<app.fedilab.android.webview.CustomWebview
|
|
||||||
android:id="@+id/webview_video"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:visibility="gone" />
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
android:id="@+id/media_picture_container"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_centerInParent="true">
|
|
||||||
<!-- Description is set dynamically -->
|
|
||||||
<com.github.chrisbanes.photoview.PhotoView
|
|
||||||
android:id="@+id/media_picture"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:adjustViewBounds="true"
|
|
||||||
android:visibility="gone" />
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:id="@+id/content_audio"
|
android:background="@color/black"
|
||||||
|
android:id="@+id/media_fragment_container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent">
|
||||||
android:gravity="center"
|
<!-- Main Loader -->
|
||||||
android:orientation="vertical"
|
<RelativeLayout
|
||||||
android:visibility="gone">
|
android:id="@+id/loader"
|
||||||
|
android:layout_width="match_parent"
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_centerHorizontal="true"
|
android:gravity="center">
|
||||||
android:layout_marginTop="50dp"
|
|
||||||
android:orientation="vertical">
|
<ProgressBar
|
||||||
|
android:id="@+id/pbar_inf"
|
||||||
|
style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:indeterminate="false"
|
||||||
|
android:max="100"
|
||||||
|
android:progress="0" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/status"
|
android:id="@+id/loader_progress"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="-10dp"
|
android:layout_gravity="center"
|
||||||
android:fontFamily="sans-serif-light"
|
android:gravity="center"
|
||||||
android:textColor="@android:color/white"
|
android:textColor="@color/dark_text"
|
||||||
android:textSize="20sp"
|
android:textSize="12sp" />
|
||||||
android:visibility="invisible" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/timer"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:fontFamily="sans-serif-thin"
|
|
||||||
android:text="00:00:00"
|
|
||||||
android:textColor="@android:color/white"
|
|
||||||
android:textSize="60sp"
|
|
||||||
tools:ignore="HardcodedText" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="@dimen/aar_footer_height"
|
|
||||||
android:layout_alignParentBottom="true">
|
|
||||||
|
|
||||||
<ImageButton
|
|
||||||
android:id="@+id/play"
|
|
||||||
style="@style/Widget.AppCompat.Button.Borderless"
|
|
||||||
android:layout_width="80dp"
|
|
||||||
android:layout_height="80dp"
|
|
||||||
android:layout_centerInParent="true"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_marginTop="50dp"
|
|
||||||
android:contentDescription="@string/play_video"
|
|
||||||
android:onClick="togglePlaying"
|
|
||||||
android:padding="10dp"
|
|
||||||
android:scaleType="fitCenter"
|
|
||||||
android:src="@drawable/aar_ic_play" />
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_centerInParent="true">
|
||||||
|
|
||||||
|
<app.fedilab.android.webview.CustomWebview
|
||||||
|
android:id="@+id/webview_video"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:visibility="gone" />
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:id="@+id/media_picture_container"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_centerInParent="true">
|
||||||
|
<!-- Description is set dynamically -->
|
||||||
|
<com.github.chrisbanes.photoview.PhotoView
|
||||||
|
android:id="@+id/media_picture"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:visibility="gone" />
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/content_audio"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="50dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/status"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="-10dp"
|
||||||
|
android:fontFamily="sans-serif-light"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:visibility="invisible" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/timer"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:fontFamily="sans-serif-thin"
|
||||||
|
android:text="00:00:00"
|
||||||
|
android:textColor="@android:color/white"
|
||||||
|
android:textSize="60sp"
|
||||||
|
tools:ignore="HardcodedText" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/aar_footer_height"
|
||||||
|
android:layout_alignParentBottom="true">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/play"
|
||||||
|
style="@style/Widget.AppCompat.Button.Borderless"
|
||||||
|
android:layout_width="80dp"
|
||||||
|
android:layout_height="80dp"
|
||||||
|
android:layout_centerInParent="true"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_marginTop="50dp"
|
||||||
|
android:contentDescription="@string/play_video"
|
||||||
|
android:onClick="togglePlaying"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
|
android:src="@drawable/aar_ic_play" />
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<com.google.android.exoplayer2.ui.PlayerView
|
||||||
|
android:id="@+id/media_video"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_centerInParent="true"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/media_prev"
|
||||||
|
android:layout_width="30dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:layout_alignParentStart="true"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_marginStart="5dp"
|
||||||
|
android:layout_marginLeft="5dp"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:layout_marginEnd="5dp"
|
||||||
|
android:layout_marginRight="5dp"
|
||||||
|
android:layout_marginBottom="5dp"
|
||||||
|
android:background="@color/transparent_grey"
|
||||||
|
android:contentDescription="@string/previous"
|
||||||
|
android:src="@drawable/ic_first_page"
|
||||||
|
android:tint="@color/white"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/media_next"
|
||||||
|
android:layout_width="30dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_marginStart="5dp"
|
||||||
|
android:layout_marginLeft="5dp"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:layout_marginEnd="5dp"
|
||||||
|
android:layout_marginRight="5dp"
|
||||||
|
android:layout_marginBottom="5dp"
|
||||||
|
android:background="@color/transparent_grey"
|
||||||
|
android:contentDescription="@string/next"
|
||||||
|
android:src="@drawable/ic_last_page"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/message_ready"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_alignBottom="@+id/media_picture_container"
|
||||||
|
android:layout_marginBottom="40dp"
|
||||||
|
android:background="@drawable/media_message_border"
|
||||||
|
android:gravity="center"
|
||||||
|
|
||||||
|
android:text="@string/media_ready"
|
||||||
|
android:textColor="@color/dark_text"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:visibility="gone" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
</FrameLayout>
|
||||||
<com.google.android.exoplayer2.ui.PlayerView
|
|
||||||
android:id="@+id/media_video"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_centerInParent="true"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/media_prev"
|
|
||||||
android:layout_width="30dp"
|
|
||||||
android:layout_height="50dp"
|
|
||||||
android:layout_alignParentStart="true"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_marginStart="5dp"
|
|
||||||
android:layout_marginLeft="5dp"
|
|
||||||
android:layout_marginTop="5dp"
|
|
||||||
android:layout_marginEnd="5dp"
|
|
||||||
android:layout_marginRight="5dp"
|
|
||||||
android:layout_marginBottom="5dp"
|
|
||||||
android:background="@color/transparent_grey"
|
|
||||||
android:contentDescription="@string/previous"
|
|
||||||
android:src="@drawable/ic_first_page"
|
|
||||||
android:tint="@color/white"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/media_next"
|
|
||||||
android:layout_width="30dp"
|
|
||||||
android:layout_height="50dp"
|
|
||||||
android:layout_alignParentEnd="true"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_marginStart="5dp"
|
|
||||||
android:layout_marginLeft="5dp"
|
|
||||||
android:layout_marginTop="5dp"
|
|
||||||
android:layout_marginEnd="5dp"
|
|
||||||
android:layout_marginRight="5dp"
|
|
||||||
android:layout_marginBottom="5dp"
|
|
||||||
android:background="@color/transparent_grey"
|
|
||||||
android:contentDescription="@string/next"
|
|
||||||
android:src="@drawable/ic_last_page"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/message_ready"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="40dp"
|
|
||||||
android:layout_alignBottom="@+id/media_picture_container"
|
|
||||||
android:layout_marginBottom="40dp"
|
|
||||||
android:background="@drawable/media_message_border"
|
|
||||||
android:gravity="center"
|
|
||||||
|
|
||||||
android:text="@string/media_ready"
|
|
||||||
android:textColor="@color/dark_text"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:visibility="gone" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?colorPrimary"
|
|
||||||
android:contentInsetStart="0dp"
|
android:contentInsetStart="0dp"
|
||||||
android:contentInsetLeft="0dp"
|
android:contentInsetLeft="0dp"
|
||||||
android:contentInsetEnd="0dp"
|
android:contentInsetEnd="0dp"
|
||||||
|
|
|
@ -152,27 +152,28 @@
|
||||||
<item name="android:textColor">@color/black</item>
|
<item name="android:textColor">@color/black</item>
|
||||||
<item name="linkColor">@color/light_link_toot</item>
|
<item name="linkColor">@color/light_link_toot</item>
|
||||||
<item name="android:itemBackground">@drawable/menu_selector</item>
|
<item name="android:itemBackground">@drawable/menu_selector</item>
|
||||||
|
<item name="android:windowIsTranslucent">true</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TransparentDark" parent="Theme.Cyanea.Dark">
|
<style name="TransparentDark" parent="Theme.Cyanea.Dark">
|
||||||
<item name="iconColor">@color/dark_icon_theme</item>
|
<item name="iconColor">@color/dark_icon_theme</item>
|
||||||
<item name="iconColorMenu">@color/dark_icon_theme</item>
|
<item name="iconColorMenu">@color/dark_icon_theme</item>
|
||||||
<item name="android:windowBackground">@android:color/transparent</item>
|
|
||||||
<item name="android:windowContentOverlay">@null</item>
|
|
||||||
<item name="android:textColor">@color/dark_text</item>
|
<item name="android:textColor">@color/dark_text</item>
|
||||||
<item name="linkColor">@color/dark_link_toot</item>
|
<item name="linkColor">@color/dark_link_toot</item>
|
||||||
<item name="android:itemBackground">@drawable/menu_selector</item>
|
<item name="android:itemBackground">@drawable/menu_selector</item>
|
||||||
|
<item name="android:windowIsTranslucent">true</item>
|
||||||
|
<item name="android:windowBackground">@android:color/transparent</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="TransparentBlack" parent="Theme.Cyanea.Dark">
|
<style name="TransparentBlack" parent="Theme.Cyanea.Dark">
|
||||||
<item name="iconColor">@color/black_icon_theme</item>
|
<item name="iconColor">@color/black_icon_theme</item>
|
||||||
<item name="iconColorMenu">@color/dark_icon_theme</item>
|
<item name="iconColorMenu">@color/dark_icon_theme</item>
|
||||||
|
|
||||||
<item name="android:windowBackground">@android:color/transparent</item>
|
<item name="android:windowBackground">@android:color/transparent</item>
|
||||||
<item name="android:windowContentOverlay">@null</item>
|
<item name="android:windowContentOverlay">@null</item>
|
||||||
<item name="android:textColor">@color/dark_text</item>
|
<item name="android:textColor">@color/dark_text</item>
|
||||||
<item name="linkColor">@color/black_link_toot</item>
|
<item name="linkColor">@color/black_link_toot</item>
|
||||||
<item name="android:itemBackground">@drawable/menu_selector</item>
|
<item name="android:itemBackground">@drawable/menu_selector</item>
|
||||||
|
<item name="android:windowIsTranslucent">true</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="Fedilab.PopupMenu.Light" parent="Cyanea.PopupMenu.Light">
|
<style name="Fedilab.PopupMenu.Light" parent="Cyanea.PopupMenu.Light">
|
||||||
|
|
Loading…
Reference in New Issue