Merge pull request #3636 from ByteHamster/api-16
Bumped minimum API version to 16
This commit is contained in:
commit
f3008f442e
@ -1,7 +1,6 @@
|
||||
package de.danoeh.antennapod;
|
||||
|
||||
import android.app.Application;
|
||||
import android.os.Build;
|
||||
import android.os.StrictMode;
|
||||
|
||||
import com.joanzapata.iconify.Iconify;
|
||||
@ -25,45 +24,43 @@ public class PodcastApp extends Application {
|
||||
}
|
||||
}
|
||||
|
||||
private static PodcastApp singleton;
|
||||
private static PodcastApp singleton;
|
||||
|
||||
public static PodcastApp getInstance() {
|
||||
return singleton;
|
||||
}
|
||||
public static PodcastApp getInstance() {
|
||||
return singleton;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
|
||||
Thread.setDefaultUncaughtExceptionHandler(new CrashReportWriter());
|
||||
Thread.setDefaultUncaughtExceptionHandler(new CrashReportWriter());
|
||||
|
||||
if(BuildConfig.DEBUG) {
|
||||
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder()
|
||||
.detectLeakedSqlLiteObjects()
|
||||
.penaltyLog()
|
||||
.penaltyDropBox();
|
||||
builder.detectActivityLeaks();
|
||||
builder.detectLeakedClosableObjects();
|
||||
if(Build.VERSION.SDK_INT >= 16) {
|
||||
builder.detectLeakedRegistrationObjects();
|
||||
}
|
||||
StrictMode.setVmPolicy(builder.build());
|
||||
}
|
||||
if (BuildConfig.DEBUG) {
|
||||
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder()
|
||||
.detectLeakedSqlLiteObjects()
|
||||
.penaltyLog()
|
||||
.penaltyDropBox()
|
||||
.detectActivityLeaks()
|
||||
.detectLeakedClosableObjects()
|
||||
.detectLeakedRegistrationObjects();
|
||||
StrictMode.setVmPolicy(builder.build());
|
||||
}
|
||||
|
||||
singleton = this;
|
||||
singleton = this;
|
||||
|
||||
ClientConfig.initialize(this);
|
||||
ClientConfig.initialize(this);
|
||||
|
||||
Iconify.with(new FontAwesomeModule());
|
||||
Iconify.with(new MaterialModule());
|
||||
Iconify.with(new FontAwesomeModule());
|
||||
Iconify.with(new MaterialModule());
|
||||
|
||||
SPAUtil.sendSPAppsQueryFeedsIntent(this);
|
||||
EventBus.builder()
|
||||
.addIndex(new ApEventBusIndex())
|
||||
.addIndex(new ApCoreEventBusIndex())
|
||||
.logNoSubscriberMessages(false)
|
||||
.sendNoSubscriberEvent(false)
|
||||
.installDefaultEventBus();
|
||||
EventBus.builder()
|
||||
.addIndex(new ApEventBusIndex())
|
||||
.addIndex(new ApCoreEventBusIndex())
|
||||
.logNoSubscriberMessages(false)
|
||||
.sendNoSubscriberEvent(false)
|
||||
.installDefaultEventBus();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -391,10 +391,9 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
|
||||
| Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
|
||||
View cover = findViewById(R.id.imgvCover);
|
||||
if (cover != null && Build.VERSION.SDK_INT >= 16) {
|
||||
ActivityOptionsCompat options = ActivityOptionsCompat.
|
||||
makeSceneTransitionAnimation(MediaplayerActivity.this,
|
||||
cover, "coverTransition");
|
||||
if (cover != null) {
|
||||
ActivityOptionsCompat options = ActivityOptionsCompat
|
||||
.makeSceneTransitionAnimation(MediaplayerActivity.this, cover, "coverTransition");
|
||||
startActivity(intent, options.toBundle());
|
||||
} else {
|
||||
startActivity(intent);
|
||||
|
@ -151,10 +151,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
||||
videoview.getHolder().addCallback(surfaceHolderCallback);
|
||||
videoframe.setOnTouchListener(onVideoviewTouched);
|
||||
videoOverlay.setOnTouchListener((view, motionEvent) -> true); // To suppress touches directly below the slider
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 16) {
|
||||
videoview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
|
||||
}
|
||||
videoview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
|
||||
videoOverlay.setFitsSystemWindows(true);
|
||||
|
||||
setupVideoControlsToggler();
|
||||
@ -351,9 +348,9 @@ public class VideoplayerActivity extends MediaplayerActivity {
|
||||
controls.startAnimation(animation);
|
||||
}
|
||||
}
|
||||
int videoviewFlag = (Build.VERSION.SDK_INT >= 16) ? View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION : 0;
|
||||
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | videoviewFlag);
|
||||
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
|
||||
| View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
|
||||
videoOverlay.setFitsSystemWindows(true);
|
||||
|
||||
videoOverlay.setVisibility(View.GONE);
|
||||
|
@ -45,14 +45,12 @@ public class VariableSpeedDialog {
|
||||
builder.setTitle(R.string.no_playback_plugin_title);
|
||||
builder.setMessage(R.string.no_playback_plugin_or_sonic_msg);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 16) {
|
||||
builder.setPositiveButton(R.string.enable_sonic, (dialog, which) -> {
|
||||
UserPreferences.enableSonic();
|
||||
if (showSpeedSelector) {
|
||||
showSpeedSelectorDialog(context);
|
||||
}
|
||||
});
|
||||
}
|
||||
builder.setPositiveButton(R.string.enable_sonic, (dialog, which) -> {
|
||||
UserPreferences.enableSonic();
|
||||
if (showSpeedSelector) {
|
||||
showSpeedSelectorDialog(context);
|
||||
}
|
||||
});
|
||||
if (IntentUtils.isCallable(context.getApplicationContext(), playStoreIntent)) {
|
||||
builder.setNegativeButton(R.string.download_plugin_label, (dialog, which) -> {
|
||||
try {
|
||||
|
@ -101,7 +101,6 @@ public class CombinedSearchFragment extends Fragment {
|
||||
inflater.inflate(R.menu.itunes_search, menu);
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search);
|
||||
final SearchView sv = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
MenuItemUtils.adjustTextColor(getActivity(), sv);
|
||||
sv.setQueryHint(getString(R.string.search_label));
|
||||
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
|
@ -169,7 +169,6 @@ public abstract class EpisodesListFragment extends Fragment {
|
||||
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search);
|
||||
final SearchView sv = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
MenuItemUtils.adjustTextColor(getActivity(), sv);
|
||||
sv.setQueryHint(getString(R.string.search_hint));
|
||||
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
|
@ -71,9 +71,9 @@ public class ExternalPlayerFragment extends Fragment {
|
||||
if (controller != null && controller.getMedia() != null) {
|
||||
Intent intent = PlaybackService.getPlayerActivityIntent(getActivity(), controller.getMedia());
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 16 && controller.getMedia().getMediaType() == MediaType.AUDIO) {
|
||||
ActivityOptionsCompat options = ActivityOptionsCompat.
|
||||
makeSceneTransitionAnimation(getActivity(), imgvCover, "coverTransition");
|
||||
if (controller.getMedia().getMediaType() == MediaType.AUDIO) {
|
||||
ActivityOptionsCompat options = ActivityOptionsCompat
|
||||
.makeSceneTransitionAnimation(getActivity(), imgvCover, "coverTransition");
|
||||
startActivity(intent, options.toBundle());
|
||||
} else {
|
||||
startActivity(intent);
|
||||
|
@ -185,7 +185,6 @@ public class FeedItemlistFragment extends ListFragment {
|
||||
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search);
|
||||
final SearchView sv = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
MenuItemUtils.adjustTextColor(getActivity(), sv);
|
||||
sv.setQueryHint(getString(R.string.search_hint));
|
||||
searchItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
|
||||
@Override
|
||||
|
@ -100,7 +100,6 @@ public class FyydSearchFragment extends Fragment {
|
||||
inflater.inflate(R.menu.itunes_search, menu);
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search);
|
||||
final SearchView sv = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
MenuItemUtils.adjustTextColor(getActivity(), sv);
|
||||
sv.setQueryHint(getString(R.string.search_fyyd_label));
|
||||
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
|
@ -150,7 +150,6 @@ public class ItunesSearchFragment extends Fragment {
|
||||
inflater.inflate(R.menu.itunes_search, menu);
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search);
|
||||
final SearchView sv = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
MenuItemUtils.adjustTextColor(getActivity(), sv);
|
||||
sv.setQueryHint(getString(R.string.search_itunes_label));
|
||||
sv.setOnQueryTextListener(new androidx.appcompat.widget.SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
|
@ -288,7 +288,6 @@ public class QueueFragment extends Fragment {
|
||||
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search);
|
||||
final SearchView sv = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
MenuItemUtils.adjustTextColor(getActivity(), sv);
|
||||
sv.setQueryHint(getString(R.string.search_hint));
|
||||
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
|
@ -54,7 +54,6 @@ public abstract class PodcastListFragment extends Fragment {
|
||||
inflater.inflate(R.menu.gpodder_podcasts, menu);
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search);
|
||||
final SearchView sv = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
MenuItemUtils.adjustTextColor(getActivity(), sv);
|
||||
sv.setQueryHint(getString(R.string.gpodnet_search_hint));
|
||||
sv.setOnQueryTextListener(new androidx.appcompat.widget.SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
|
@ -50,7 +50,6 @@ public class SearchListFragment extends PodcastListFragment {
|
||||
// parent already inflated menu
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search);
|
||||
final SearchView sv = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
MenuItemUtils.adjustTextColor(getActivity(), sv);
|
||||
sv.setQueryHint(getString(R.string.gpodnet_search_hint));
|
||||
sv.setQuery(query, false);
|
||||
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
|
@ -40,7 +40,6 @@ public class TagListFragment extends ListFragment {
|
||||
inflater.inflate(R.menu.gpodder_podcasts, menu);
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search);
|
||||
final SearchView sv = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
MenuItemUtils.adjustTextColor(getActivity(), sv);
|
||||
sv.setQueryHint(getString(R.string.gpodnet_search_hint));
|
||||
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
|
@ -41,12 +41,6 @@ public class PlaybackPreferencesFragment extends PreferenceFragmentCompat {
|
||||
((PreferenceActivity) getActivity()).getSupportActionBar().setTitle(R.string.playback_pref);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
checkSonicItemVisibility();
|
||||
}
|
||||
|
||||
private void setupPlaybackScreen() {
|
||||
final Activity activity = getActivity();
|
||||
|
||||
@ -130,14 +124,4 @@ public class PlaybackPreferencesFragment extends PreferenceFragmentCompat {
|
||||
}
|
||||
pref.setEntries(entries);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void checkSonicItemVisibility() {
|
||||
if (Build.VERSION.SDK_INT < 16) {
|
||||
ListPreference p = (ListPreference) findPreference(UserPreferences.PREF_MEDIA_PLAYER);
|
||||
p.setEntries(R.array.media_player_options_no_sonic);
|
||||
p.setEntryValues(R.array.media_player_values_no_sonic);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,14 +2,8 @@ package de.danoeh.antennapod.menuhandler;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.EditText;
|
||||
|
||||
import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.core.preferences.UserPreferences;
|
||||
|
||||
/**
|
||||
@ -17,18 +11,6 @@ import de.danoeh.antennapod.core.preferences.UserPreferences;
|
||||
*/
|
||||
public class MenuItemUtils extends de.danoeh.antennapod.core.menuhandler.MenuItemUtils {
|
||||
|
||||
public static void adjustTextColor(Context context, SearchView sv) {
|
||||
if(Build.VERSION.SDK_INT < 14) {
|
||||
EditText searchEditText = sv.findViewById(R.id.search_src_text);
|
||||
if (UserPreferences.getTheme() == de.danoeh.antennapod.R.style.Theme_AntennaPod_Dark
|
||||
|| UserPreferences.getTheme() == R.style.Theme_AntennaPod_TrueBlack) {
|
||||
searchEditText.setTextColor(Color.WHITE);
|
||||
} else {
|
||||
searchEditText.setTextColor(Color.BLACK);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("ResourceType")
|
||||
public static void refreshLockItem(Context context, Menu menu) {
|
||||
final MenuItem queueLock = menu.findItem(de.danoeh.antennapod.R.id.queue_lock);
|
||||
|
@ -41,7 +41,7 @@ subprojects {
|
||||
|
||||
project.ext {
|
||||
compileSdkVersion = 28
|
||||
minSdkVersion = 14
|
||||
minSdkVersion = 16
|
||||
targetSdkVersion = 28
|
||||
|
||||
workManagerVersion = "1.0.1"
|
||||
|
@ -142,7 +142,7 @@ public class AntennapodHttpClient {
|
||||
});
|
||||
}
|
||||
}
|
||||
if (16 <= Build.VERSION.SDK_INT && Build.VERSION.SDK_INT < 21) {
|
||||
if (Build.VERSION.SDK_INT < 21) {
|
||||
builder.sslSocketFactory(new CustomSslSocketFactory(), trustManager());
|
||||
}
|
||||
|
||||
|
@ -327,9 +327,7 @@ public class PodDBAdapter {
|
||||
SQLiteDatabase newDb;
|
||||
try {
|
||||
newDb = SingletonHolder.dbHelper.getWritableDatabase();
|
||||
if (Build.VERSION.SDK_INT >= 16) {
|
||||
newDb.disableWriteAheadLogging();
|
||||
}
|
||||
newDb.disableWriteAheadLogging();
|
||||
} catch (SQLException ex) {
|
||||
Log.e(TAG, Log.getStackTraceString(ex));
|
||||
newDb = SingletonHolder.dbHelper.getReadableDatabase();
|
||||
|
@ -233,16 +233,6 @@
|
||||
<item>exoplayer</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="media_player_options_no_sonic">
|
||||
<item>@string/media_player_builtin</item>
|
||||
<item>@string/media_player_exoplayer</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="media_player_values_no_sonic">
|
||||
<item>builtin</item>
|
||||
<item>exoplayer</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="episode_filter_options">
|
||||
<item>@string/hide_unplayed_episodes_label</item>
|
||||
<item>@string/hide_paused_episodes_label</item>
|
||||
|
Loading…
x
Reference in New Issue
Block a user