Merge branch 'master' into develop
@ -14,8 +14,8 @@ android {
|
||||
// "1.2.3-SNAPSHOT" -> 1020300
|
||||
// "1.2.3-RC4" -> 1020304
|
||||
// "1.2.3" -> 1020395
|
||||
versionCode 2000007
|
||||
versionName "2.0.0-RC7"
|
||||
versionCode 2000095
|
||||
versionName "2.0.0"
|
||||
|
||||
multiDexEnabled false
|
||||
vectorDrawables.useSupportLibrary true
|
||||
|
@ -43,7 +43,7 @@
|
||||
<meta-data android:name="android.webkit.WebView.MetricsOptOut"
|
||||
android:value="true"/>
|
||||
<meta-data android:name="com.google.android.gms.car.notification.SmallIcon"
|
||||
android:resource="@drawable/ic_antenna"/>
|
||||
android:resource="@drawable/ic_notification"/>
|
||||
<meta-data
|
||||
android:name="com.google.android.gms.car.application"
|
||||
android:resource="@xml/automotive_app_desc"/>
|
||||
|
3
app/src/main/assets/special_thanks.csv
Normal file
@ -0,0 +1,3 @@
|
||||
221 Pixels;Logo design;https://avatars2.githubusercontent.com/u/58243143?s=60&v=4
|
||||
ByteHamster;Forum admin;https://avatars2.githubusercontent.com/u/5811634?s=60&v=4
|
||||
Keunes;Communications;https://avatars2.githubusercontent.com/u/11229646?s=60&v=4
|
|
@ -124,8 +124,6 @@ public class AudioPlayerFragment extends Fragment implements
|
||||
setupLengthTextView();
|
||||
setupControlButtons();
|
||||
setupPlaybackSpeedButton();
|
||||
txtvRev.setText(NumberFormat.getInstance().format(UserPreferences.getRewindSecs()));
|
||||
txtvFF.setText(NumberFormat.getInstance().format(UserPreferences.getFastForwardSecs()));
|
||||
sbPosition.setOnSeekBarChangeListener(this);
|
||||
|
||||
pager = root.findViewById(R.id.pager);
|
||||
@ -376,6 +374,8 @@ public class AudioPlayerFragment extends Fragment implements
|
||||
controller.init();
|
||||
loadMediaInfo();
|
||||
EventBus.getDefault().register(this);
|
||||
txtvRev.setText(NumberFormat.getInstance().format(UserPreferences.getRewindSecs()));
|
||||
txtvFF.setText(NumberFormat.getInstance().format(UserPreferences.getFastForwardSecs()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -45,6 +45,7 @@ import org.greenrobot.eventbus.ThreadMode;
|
||||
public class CoverFragment extends Fragment {
|
||||
|
||||
private static final String TAG = "CoverFragment";
|
||||
static final double SIXTEEN_BY_NINE = 1.7;
|
||||
|
||||
private View root;
|
||||
private TextView txtvPodcastTitle;
|
||||
@ -188,20 +189,31 @@ public class CoverFragment extends Fragment {
|
||||
|
||||
private void configureForOrientation(Configuration newConfig) {
|
||||
LinearLayout mainContainer = getView().findViewById(R.id.cover_fragment);
|
||||
ViewGroup.LayoutParams params = imgvCover.getLayoutParams();
|
||||
LinearLayout textContainer = getView().findViewById(R.id.cover_fragment_text_container);
|
||||
|
||||
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) imgvCover.getLayoutParams();
|
||||
LinearLayout.LayoutParams textParams = (LinearLayout.LayoutParams) textContainer.getLayoutParams();
|
||||
double ratio = (float) newConfig.screenHeightDp / (float) newConfig.screenWidthDp;
|
||||
|
||||
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
|
||||
double percentageWidth = 0.8;
|
||||
if (ratio <= SIXTEEN_BY_NINE) {
|
||||
percentageWidth = (ratio / SIXTEEN_BY_NINE) * percentageWidth * 0.8;
|
||||
}
|
||||
mainContainer.setOrientation(LinearLayout.VERTICAL);
|
||||
if (newConfig.screenWidthDp > 0) {
|
||||
params.width = (int) (convertDpToPixel(newConfig.screenWidthDp) * .80);
|
||||
params.width = (int) (convertDpToPixel(newConfig.screenWidthDp) * percentageWidth);
|
||||
params.height = params.width;
|
||||
textParams.weight = 0;
|
||||
imgvCover.setLayoutParams(params);
|
||||
}
|
||||
} else {
|
||||
double percentageHeight = ratio * 0.8;
|
||||
mainContainer.setOrientation(LinearLayout.HORIZONTAL);
|
||||
if (newConfig.screenHeightDp > 0) {
|
||||
params.height = (int) (convertDpToPixel(newConfig.screenHeightDp) * .40);
|
||||
params.height = (int) (convertDpToPixel(newConfig.screenHeightDp) * percentageHeight);
|
||||
params.width = params.height;
|
||||
textParams.weight = 1;
|
||||
imgvCover.setLayoutParams(params);
|
||||
}
|
||||
}
|
||||
|
@ -51,6 +51,7 @@ public class DownloadsFragment extends Fragment {
|
||||
|
||||
viewPager = root.findViewById(R.id.viewpager);
|
||||
viewPager.setAdapter(new DownloadsPagerAdapter(this));
|
||||
viewPager.setOffscreenPageLimit(2);
|
||||
|
||||
// Give the TabLayout the ViewPager
|
||||
tabLayout = root.findViewById(R.id.sliding_tabs);
|
||||
|
@ -51,6 +51,7 @@ public class EpisodesFragment extends Fragment {
|
||||
((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
|
||||
viewPager = rootView.findViewById(R.id.viewpager);
|
||||
viewPager.setAdapter(new EpisodesPagerAdapter(this));
|
||||
viewPager.setOffscreenPageLimit(2);
|
||||
|
||||
// Give the TabLayout the ViewPager
|
||||
tabLayout = rootView.findViewById(R.id.sliding_tabs);
|
||||
|
@ -11,6 +11,7 @@ import android.view.ViewGroup;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.core.util.playback.Playable;
|
||||
import de.danoeh.antennapod.core.util.playback.PlaybackController;
|
||||
import de.danoeh.antennapod.core.util.playback.Timeline;
|
||||
import de.danoeh.antennapod.view.ShownotesWebView;
|
||||
@ -82,8 +83,10 @@ public class ItemDescriptionFragment extends Fragment {
|
||||
if (webViewLoader != null) {
|
||||
webViewLoader.dispose();
|
||||
}
|
||||
webViewLoader = Maybe.fromCallable(this::loadData)
|
||||
.subscribeOn(Schedulers.io())
|
||||
webViewLoader = Maybe.<String>create(emitter -> {
|
||||
Timeline timeline = new Timeline(getActivity(), controller.getMedia());
|
||||
emitter.onSuccess(timeline.processShownotes());
|
||||
}).subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(data -> {
|
||||
webvDescription.loadDataWithBaseURL("https://127.0.0.1", data, "text/html",
|
||||
@ -92,15 +95,6 @@ public class ItemDescriptionFragment extends Fragment {
|
||||
}, error -> Log.e(TAG, Log.getStackTraceString(error)));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private String loadData() {
|
||||
if (controller == null || controller.getMedia() == null) {
|
||||
return null;
|
||||
}
|
||||
Timeline timeline = new Timeline(getActivity(), controller.getMedia());
|
||||
return timeline.processShownotes();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
|
@ -10,6 +10,7 @@ import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.activity.BugReportActivity;
|
||||
import de.danoeh.antennapod.activity.PreferenceActivity;
|
||||
import de.danoeh.antennapod.core.util.IntentUtils;
|
||||
import de.danoeh.antennapod.fragment.preferences.about.AboutFragment;
|
||||
|
||||
public class MainPreferencesFragment extends PreferenceFragmentCompat {
|
||||
private static final String TAG = "MainPreferencesFragment";
|
||||
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.fragment.preferences;
|
||||
package de.danoeh.antennapod.fragment.preferences.about;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
@ -27,14 +27,9 @@ public class AboutFragment extends PreferenceFragmentCompat {
|
||||
Snackbar.make(getView(), R.string.copied_to_clipboard, Snackbar.LENGTH_SHORT).show();
|
||||
return true;
|
||||
});
|
||||
findPreference("about_developers").setOnPreferenceClickListener((preference) -> {
|
||||
getParentFragmentManager().beginTransaction().replace(R.id.content, new AboutDevelopersFragment())
|
||||
.addToBackStack(getString(R.string.developers)).commit();
|
||||
return true;
|
||||
});
|
||||
findPreference("about_translators").setOnPreferenceClickListener((preference) -> {
|
||||
getParentFragmentManager().beginTransaction().replace(R.id.content, new AboutTranslatorsFragment())
|
||||
.addToBackStack(getString(R.string.translators)).commit();
|
||||
findPreference("about_contributors").setOnPreferenceClickListener((preference) -> {
|
||||
getParentFragmentManager().beginTransaction().replace(R.id.content, new ContributorsPagerFragment())
|
||||
.addToBackStack(getString(R.string.contributors)).commit();
|
||||
return true;
|
||||
});
|
||||
findPreference("about_privacy_policy").setOnPreferenceClickListener((preference) -> {
|
||||
@ -42,7 +37,7 @@ public class AboutFragment extends PreferenceFragmentCompat {
|
||||
return true;
|
||||
});
|
||||
findPreference("about_licenses").setOnPreferenceClickListener((preference) -> {
|
||||
getParentFragmentManager().beginTransaction().replace(R.id.content, new AboutLicensesFragment())
|
||||
getParentFragmentManager().beginTransaction().replace(R.id.content, new LicensesFragment())
|
||||
.addToBackStack(getString(R.string.translators)).commit();
|
||||
return true;
|
||||
});
|
@ -0,0 +1,95 @@
|
||||
package de.danoeh.antennapod.fragment.preferences.about;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.activity.PreferenceActivity;
|
||||
|
||||
/**
|
||||
* Displays the 'about->Contributors' pager screen.
|
||||
*/
|
||||
public class ContributorsPagerFragment extends Fragment {
|
||||
|
||||
public static final String TAG = "StatisticsFragment";
|
||||
|
||||
private static final int POS_DEVELOPERS = 0;
|
||||
private static final int POS_TRANSLATORS = 1;
|
||||
private static final int POS_SPECIAL_THANKS = 2;
|
||||
private static final int TOTAL_COUNT = 3;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
super.onCreateView(inflater, container, savedInstanceState);
|
||||
setHasOptionsMenu(true);
|
||||
|
||||
View rootView = inflater.inflate(R.layout.pager_fragment, container, false);
|
||||
ViewPager2 viewPager = rootView.findViewById(R.id.viewpager);
|
||||
viewPager.setAdapter(new StatisticsPagerAdapter(this));
|
||||
// Give the TabLayout the ViewPager
|
||||
TabLayout tabLayout = rootView.findViewById(R.id.sliding_tabs);
|
||||
new TabLayoutMediator(tabLayout, viewPager, (tab, position) -> {
|
||||
switch (position) {
|
||||
case POS_DEVELOPERS:
|
||||
tab.setText(R.string.developers);
|
||||
break;
|
||||
case POS_TRANSLATORS:
|
||||
tab.setText(R.string.translators);
|
||||
break;
|
||||
case POS_SPECIAL_THANKS:
|
||||
tab.setText(R.string.special_thanks);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}).attach();
|
||||
|
||||
rootView.findViewById(R.id.toolbar).setVisibility(View.GONE);
|
||||
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
((PreferenceActivity) getActivity()).getSupportActionBar().setTitle(R.string.contributors);
|
||||
}
|
||||
|
||||
public static class StatisticsPagerAdapter extends FragmentStateAdapter {
|
||||
|
||||
StatisticsPagerAdapter(@NonNull Fragment fragment) {
|
||||
super(fragment);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Fragment createFragment(int position) {
|
||||
switch (position) {
|
||||
case POS_TRANSLATORS:
|
||||
return new TranslatorsFragment();
|
||||
case POS_SPECIAL_THANKS:
|
||||
return new SpecialThanksFragment();
|
||||
default:
|
||||
case POS_DEVELOPERS:
|
||||
return new DevelopersFragment();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return TOTAL_COUNT;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.fragment.preferences;
|
||||
package de.danoeh.antennapod.fragment.preferences.about;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
@ -19,7 +19,7 @@ import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class AboutDevelopersFragment extends ListFragment {
|
||||
public class DevelopersFragment extends ListFragment {
|
||||
private Disposable developersLoader;
|
||||
|
||||
@Override
|
||||
@ -44,7 +44,7 @@ public class AboutDevelopersFragment extends ListFragment {
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
developers -> setListAdapter(new SimpleIconListAdapter<>(getContext(), developers)),
|
||||
error -> Toast.makeText(getContext(), "Error while loading developers", Toast.LENGTH_LONG).show()
|
||||
error -> Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_LONG).show()
|
||||
);
|
||||
|
||||
}
|
||||
@ -56,10 +56,4 @@ public class AboutDevelopersFragment extends ListFragment {
|
||||
developersLoader.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
((PreferenceActivity) getActivity()).getSupportActionBar().setTitle(R.string.developers);
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.fragment.preferences;
|
||||
package de.danoeh.antennapod.fragment.preferences.about;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
@ -28,7 +28,7 @@ import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class AboutLicensesFragment extends ListFragment {
|
||||
public class LicensesFragment extends ListFragment {
|
||||
private Disposable licensesLoader;
|
||||
private final ArrayList<LicenseItem> licenses = new ArrayList<>();
|
||||
|
||||
@ -59,7 +59,7 @@ public class AboutLicensesFragment extends ListFragment {
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
developers -> setListAdapter(new SimpleIconListAdapter<LicenseItem>(getContext(), developers)),
|
||||
error -> Toast.makeText(getContext(), "Error while loading licenses", Toast.LENGTH_LONG).show()
|
||||
error -> Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_LONG).show()
|
||||
);
|
||||
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package de.danoeh.antennapod.fragment.preferences.about;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.ListFragment;
|
||||
import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.activity.PreferenceActivity;
|
||||
import de.danoeh.antennapod.adapter.SimpleIconListAdapter;
|
||||
import io.reactivex.Single;
|
||||
import io.reactivex.SingleOnSubscribe;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class SpecialThanksFragment extends ListFragment {
|
||||
private Disposable translatorsLoader;
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
getListView().setDivider(null);
|
||||
getListView().setSelector(android.R.color.transparent);
|
||||
|
||||
translatorsLoader = Single.create((SingleOnSubscribe<ArrayList<SimpleIconListAdapter.ListItem>>) emitter -> {
|
||||
ArrayList<SimpleIconListAdapter.ListItem> translators = new ArrayList<>();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(
|
||||
getContext().getAssets().open("special_thanks.csv")));
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
String[] info = line.split(";");
|
||||
translators.add(new SimpleIconListAdapter.ListItem(info[0], info[1], info[2]));
|
||||
}
|
||||
emitter.onSuccess(translators);
|
||||
})
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
translators -> setListAdapter(new SimpleIconListAdapter<>(getContext(), translators)),
|
||||
error -> Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_LONG).show()
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStop() {
|
||||
super.onStop();
|
||||
if (translatorsLoader != null) {
|
||||
translatorsLoader.dispose();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.fragment.preferences;
|
||||
package de.danoeh.antennapod.fragment.preferences.about;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
@ -19,7 +19,7 @@ import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class AboutTranslatorsFragment extends ListFragment {
|
||||
public class TranslatorsFragment extends ListFragment {
|
||||
private Disposable translatorsLoader;
|
||||
|
||||
@Override
|
||||
@ -43,7 +43,7 @@ public class AboutTranslatorsFragment extends ListFragment {
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
translators -> setListAdapter(new SimpleIconListAdapter<>(getContext(), translators)),
|
||||
error -> Toast.makeText(getContext(), "Error while loading translators", Toast.LENGTH_LONG).show()
|
||||
error -> Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_LONG).show()
|
||||
);
|
||||
|
||||
}
|
||||
@ -55,10 +55,4 @@ public class AboutTranslatorsFragment extends ListFragment {
|
||||
translatorsLoader.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
((PreferenceActivity) getActivity()).getSupportActionBar().setTitle(R.string.translators);
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.0 MiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 953 KiB |
Before Width: | Height: | Size: 757 KiB After Width: | Height: | Size: 910 KiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 619 KiB |
Before Width: | Height: | Size: 984 KiB After Width: | Height: | Size: 813 KiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.0 MiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 151 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 207 KiB |
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.0 MiB |
Before Width: | Height: | Size: 595 KiB After Width: | Height: | Size: 931 KiB |
Before Width: | Height: | Size: 766 KiB After Width: | Height: | Size: 551 KiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 610 KiB |
Before Width: | Height: | Size: 881 KiB After Width: | Height: | Size: 773 KiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 929 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 284 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 929 KiB |
After Width: | Height: | Size: 553 KiB |
After Width: | Height: | Size: 617 KiB |
After Width: | Height: | Size: 772 KiB |
After Width: | Height: | Size: 922 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 936 KiB |
After Width: | Height: | Size: 546 KiB |
After Width: | Height: | Size: 613 KiB |
After Width: | Height: | Size: 782 KiB |
After Width: | Height: | Size: 928 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 928 KiB |
After Width: | Height: | Size: 560 KiB |
After Width: | Height: | Size: 621 KiB |
After Width: | Height: | Size: 774 KiB |
After Width: | Height: | Size: 923 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 941 KiB |
After Width: | Height: | Size: 554 KiB |
After Width: | Height: | Size: 616 KiB |
After Width: | Height: | Size: 771 KiB |
After Width: | Height: | Size: 930 KiB |
@ -1,6 +1,6 @@
|
||||
This is a beta release for version 2.0.0. We would love to read your thoughts in our forum (link on the settings screen).
|
||||
We are proud to release version 2.0.0 with a new logo and refreshed user interface.
|
||||
Thank you to 6420 users who participated in the vote for the new logo!
|
||||
|
||||
- Brand new user interface (by @ByteHamster)
|
||||
- Support for chapter images (only new episodes, by @ByteHamster)
|
||||
- Skip intro and ending per feed (by @tonytamsf)
|
||||
- Option to show notifications after episodes have been auto-downloaded (by @shortspider)
|
||||
|
@ -15,8 +15,9 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="200dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginLeft="64dp"
|
||||
android:layout_marginRight="64dp"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_weight="0"
|
||||
android:foreground="?attr/selectableItemBackgroundBorderless"
|
||||
android:importantForAccessibility="no"
|
||||
@ -29,16 +30,17 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtvPodcastTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:ellipsize="none"
|
||||
android:gravity="center_horizontal"
|
||||
android:maxLines="2"
|
||||
android:textSize="@dimen/text_size_small"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:textIsSelectable="true"
|
||||
tools:text="Podcast" />
|
||||
@ -47,8 +49,9 @@
|
||||
android:id="@+id/txtvEpisodeTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:ellipsize="none"
|
||||
android:gravity="center_horizontal"
|
||||
android:textSize="@dimen/text_size_small"
|
||||
android:maxLines="2"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textIsSelectable="true"
|
||||
|
@ -24,7 +24,7 @@
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:importantForAccessibility="no"
|
||||
tools:src="@drawable/ic_antenna"
|
||||
tools:src="@tools:sample/avatars"
|
||||
tools:background="@android:color/holo_green_dark"/>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -23,7 +23,7 @@
|
||||
android:importantForAccessibility="no"
|
||||
android:cropToPadding="true"
|
||||
android:scaleType="fitXY"
|
||||
tools:src="@drawable/ic_antenna"
|
||||
tools:src="@tools:sample/avatars"
|
||||
tools:background="@android:color/holo_green_dark"/>
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
android:cropToPadding="true"
|
||||
android:scaleType="fitXY"
|
||||
tools:background="@android:color/holo_green_dark"
|
||||
tools:src="@drawable/ic_antenna" />
|
||||
tools:src="@tools:sample/avatars" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -57,7 +57,7 @@
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:importantForAccessibility="no"
|
||||
tools:src="@drawable/ic_antenna"/>
|
||||
tools:src="@tools:sample/avatars"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtvTitle"
|
||||
|
@ -21,7 +21,7 @@
|
||||
android:adjustViewBounds="true"
|
||||
android:cropToPadding="true"
|
||||
android:scaleType="fitCenter"
|
||||
tools:src="@drawable/ic_antenna"
|
||||
tools:src="@tools:sample/avatars"
|
||||
tools:background="@android:color/holo_green_dark"/>
|
||||
|
||||
<TextView
|
||||
|
@ -10,15 +10,10 @@
|
||||
android:icon="?attr/ic_unfav"
|
||||
android:summary="1.7.2 (asd8qs)"/>
|
||||
<Preference
|
||||
android:key="about_developers"
|
||||
android:key="about_contributors"
|
||||
android:icon="?attr/ic_settings"
|
||||
android:summary="@string/developers_summary"
|
||||
android:title="@string/developers"/>
|
||||
<Preference
|
||||
android:key="about_translators"
|
||||
android:icon="?attr/ic_chat"
|
||||
android:summary="@string/translators_summary"
|
||||
android:title="@string/translators"/>
|
||||
android:summary="@string/contributors_summary"
|
||||
android:title="@string/contributors"/>
|
||||
<Preference
|
||||
android:key="about_privacy_policy"
|
||||
android:icon="?attr/ic_questionmark"
|
||||
|
@ -1,164 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="1024"
|
||||
height="500"
|
||||
viewBox="0 0 270.93333 132.29167"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14"
|
||||
sodipodi:docname="feature-graphic.svg"
|
||||
inkscape:export-filename="/tmp/antennapod.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="1"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.31246662"
|
||||
inkscape:cx="546.85547"
|
||||
inkscape:cy="197.36023"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1676"
|
||||
inkscape:window-height="982"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="30"
|
||||
inkscape:window-maximized="0"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-164.70832)">
|
||||
<path
|
||||
style="fill:#42a5f5;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 755.81836 -67.398438 L 488.57227 274.28516 L 579.80078 591.48633 L 583.5957 591.48633 L 836.03125 -67.398438 L 755.81836 -67.398438 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4549" />
|
||||
<path
|
||||
style="fill:#90caf9;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 366.28125 -67.398438 L 488.57227 274.28516 L 802.67383 -67.398438 L 366.28125 -67.398438 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4547" />
|
||||
<path
|
||||
style="fill:#0277bd;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 1232.6035 -67.398438 L 1099.5723 82.640625 L 1016.1719 591.48633 L 1272.8418 591.48633 L 1272.8418 -67.398438 L 1232.6035 -67.398438 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4537-2" />
|
||||
<path
|
||||
style="fill:#2196f3;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 1110 28.572266 L 821.42773 387.14258 L 1024.4629 591.48633 L 1044.9961 591.48633 L 1110 28.572266 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4553" />
|
||||
<path
|
||||
style="fill:#64b5f6;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 1162.877 -67.398438 L 697.85742 272.85742 L 821.42773 387.14258 L 1247.082 -67.398438 L 1162.877 -67.398438 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4555" />
|
||||
<path
|
||||
style="fill:#1565c0;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.60962572"
|
||||
d="M 697.85742 272.85742 L 583.23438 591.48633 L 1047.2734 591.48633 L 697.85742 272.85742 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4551" />
|
||||
<path
|
||||
style="fill:#64b5f6;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 422.85742 -55.714844 L 255.71484 170 L 541.55078 591.48633 L 617.12695 591.48633 L 422.85742 -55.714844 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4545" />
|
||||
<path
|
||||
style="fill:#42a5f5;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M -246.42578 20.019531 L -246.42578 591.48633 L -21.724609 591.48633 L -45.671875 175.87891 L -246.42578 20.019531 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4549-3" />
|
||||
<path
|
||||
style="fill:#0277bd;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M -45.671875 189.48047 L -166.46875 591.48633 L 500.89258 591.48633 L -45.671875 189.48047 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4537" />
|
||||
<path
|
||||
style="fill:#90caf9;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 255.71484 170 L -45.671875 189.48047 L 484.89258 591.48633 L 546.49219 591.48633 L 268.57227 172.85742 L 255.71484 170 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4539" />
|
||||
<path
|
||||
style="fill:#2196f3;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M -246.42578 -67.398438 L -246.42578 204.35742 L 268.57227 172.85742 L 434.69922 -67.398438 L -246.42578 -67.398438 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4541" />
|
||||
<path
|
||||
style="fill:#1976d2;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 819.36914 -67.398438 L 697.85742 272.85742 L 1168.3574 -67.398438 L 819.36914 -67.398438 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,164.70832)"
|
||||
id="path4557" />
|
||||
<path
|
||||
id="path4603"
|
||||
d="m 131.14882,195.24411 c -6.94441,0 -12.5,5.55559 -12.5,12.5 v 9.72225 a 4.1666667,4.1666667 0 0 0 4.16667,4.16667 h 4.16666 V 210.5219 h -5.55553 v -2.77779 a 9.722222,9.722222 0 0 1 9.7222,-9.72221 9.722222,9.722222 0 0 1 9.72226,9.72221 v 2.77779 h -5.55559 v 11.11113 h 4.16666 a 4.1666667,4.1666667 0 0 0 4.16667,-4.16667 v -9.72225 c 0,-6.94441 -5.59722,-12.5 -12.5,-12.5 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.38888884" />
|
||||
<path
|
||||
id="path4614"
|
||||
d="m 131.1488,253.95301 a 3.9473708,3.9473708 0 0 1 3.94736,3.94737 v 7.89475 a 3.9473708,3.9473708 0 0 1 -3.94736,3.94736 3.9473708,3.9473708 0 0 1 -3.94737,-3.94736 v -7.89475 a 3.9473708,3.9473708 0 0 1 3.94737,-3.94737 m 9.21056,11.84212 c 0,4.64474 -3.43425,8.47365 -7.89474,9.11841 v 4.03947 h -2.6316 v -4.03947 c -4.46054,-0.64476 -7.89474,-4.47367 -7.89474,-9.11841 h 2.6316 a 6.5789516,6.5789516 0 0 0 6.57892,6.57891 6.5789516,6.5789516 0 0 0 6.57896,-6.57891 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.31579018" />
|
||||
<path
|
||||
id="path4625"
|
||||
d="m 211.96825,213.93341 a 3.5025768,3.5025768 0 0 1 3.50256,3.50257 c 0,1.8959 -1.57454,3.50263 -3.50256,3.50263 -1.89591,0 -3.50257,-1.60673 -3.50257,-3.50263 a 3.5025768,3.5025768 0 0 1 3.50257,-3.50257 m -3.50257,-17.99487 a 25.000044,25.000044 0 0 1 25,25.00007 h -4.54692 a 20.45312,20.45312 0 0 0 -20.45308,-20.45315 v -4.54692 m 0,9.09384 a 15.906197,15.906197 0 0 1 15.90617,15.90623 h -4.54692 A 11.359274,11.359274 0 0 0 208.46568,209.5793 Z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.60668647" />
|
||||
<path
|
||||
id="path4655"
|
||||
d="m 163.79069,220.93857 h 20.58824 v -2.94119 h -20.58824 m 20.58824,-13.23528 h -5.88239 v -8.82353 h -8.82352 v 8.82353 h -5.88233 l 10.29409,10.29408 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.47058702" />
|
||||
<path
|
||||
id="path4636"
|
||||
d="m 227.91014,264.36965 v -4.8611 a 1.3888889,1.3888889 0 0 0 -1.38887,-1.38887 H 209.8546 a 1.3888889,1.3888889 0 0 0 -1.38892,1.38887 v 13.88893 a 1.3888889,1.3888889 0 0 0 1.38892,1.38887 h 16.66667 a 1.3888889,1.3888889 0 0 0 1.38887,-1.38887 v -4.86116 l 5.55554,5.55559 v -15.27779 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.38888884" />
|
||||
<path
|
||||
id="path4666"
|
||||
d="m 174.08479,263.04394 a 3.4090929,3.4090929 0 0 0 -3.40909,3.40909 3.4090929,3.4090929 0 0 0 3.40909,3.40909 3.4090929,3.4090929 0 0 0 3.40909,-3.40909 3.4090929,3.4090929 0 0 0 -3.40909,-3.40909 m 0,9.09093 a 5.6818216,5.6818216 0 0 1 -5.68179,-5.68184 5.6818216,5.6818216 0 0 1 5.68179,-5.68184 5.6818216,5.6818216 0 0 1 5.68183,5.68184 5.6818216,5.6818216 0 0 1 -5.68183,5.68184 m 0,-14.20459 c -5.68179,0 -10.53407,3.53411 -12.49998,8.52275 1.96591,4.98863 6.81819,8.52271 12.49998,8.52271 5.68183,0 10.53411,-3.53408 12.50002,-8.52271 -1.96591,-4.98864 -6.81819,-8.52275 -12.50002,-8.52275 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.5;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.13636422;stroke-opacity:1" />
|
||||
<g
|
||||
transform="matrix(10.48853,0,0,10.48853,9.606285,-2891.1165)"
|
||||
id="layer1-3"
|
||||
inkscape:label="Ebene 1">
|
||||
<path
|
||||
sodipodi:nodetypes="ccsccscccsccscccsccsccccccccccccccccccccccccccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path845"
|
||||
d="m 4.3909501,292.40513 v 0.28377 c 1.0037008,0.0216 1.6560447,0.3661 2.2523926,0.96964 0.5963478,0.60354 0.9467125,1.47696 0.9641258,2.5345 h 0.2782303 c 0.00673,-1.19521 -0.4584817,-2.15822 -1.0382469,-2.73639 -0.5797652,-0.57816 -1.3486655,-1.05093 -2.4565018,-1.05152 z m 0,0.82805 v 0.29924 c 0.7443971,0.0312 1.1668558,0.18401 1.6809974,0.70029 0.5141415,0.51628 0.7305748,1.18454 0.7450816,1.96033 h 0.2948245 c -0.00762,-1.06881 -0.4691861,-1.81182 -0.8291591,-2.17052 -0.3599732,-0.35872 -0.8621337,-0.78563 -1.8917444,-0.78934 z m -5.665e-4,0.87009 5.665e-4,0.27491 c 0.3438797,0.006 0.7199551,0.1209 1.0476503,0.48898 0.3276951,0.36807 0.4289716,0.88778 0.4419601,1.32588 h 0.282102 c -0.00135,-0.57972 -0.2415301,-1.20375 -0.5332283,-1.51395 -0.2916983,-0.31021 -0.6385502,-0.57378 -1.2390371,-0.57582 z m 0.024339,1.16492 c -0.3517826,1.2e-4 -0.6368407,0.28543 -0.636666,0.63722 1.22e-4,0.23202 0.1264212,0.44563 0.3296724,0.55757 l -2.6086157,5.39256 0.4463853,0.29041 0.5260374,-1.08194 4.6640899,1.33914 0.071908,0.13941 0.496721,-0.21739 -3.0267779,-5.84062 c 0.2273717,-0.10308 0.3735565,-0.3295 0.3739235,-0.57914 1.749e-4,-0.35179 -0.2848831,-0.6371 -0.6366657,-0.63722 z m -0.022127,1.80822 0.4574483,0.88834 -1.1306216,0.50944 z m 0.5481634,1.06479 0.7876737,1.52889 -2.1401047,-0.9138 z m -1.4486778,0.80427 2.2402234,0.95196 -3.1020179,0.83801 z m 2.438262,1.11679 1.0758604,2.08978 -4.2741251,-1.22466 z"
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28320846;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 11 KiB |
@ -1,75 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 12.7 12.7"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.2 2405546, 2018-03-11"
|
||||
sodipodi:docname="ic_launcher_foreground.svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.313709"
|
||||
inkscape:cx="23.22737"
|
||||
inkscape:cy="21.198035"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="835"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:measure-start="22.5502,25.5372"
|
||||
inkscape:measure-end="22.0529,26.5828" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-284.29998)">
|
||||
<circle
|
||||
style="opacity:1;fill:#008ab8;fill-opacity:1;stroke:none;stroke-width:0.00865707;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path905"
|
||||
cx="6.2915349"
|
||||
cy="290.91675"
|
||||
r="5.4972386" />
|
||||
<path
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-opacity:1"
|
||||
d="m 21.751953,8.4707031 v 1.0019531 c 3.544035,0.076347 5.84744,1.2927418 7.953125,3.4238278 2.105685,2.131087 3.342811,5.215084 3.404297,8.949219 h 0.982422 C 34.11557,17.625445 32.472913,14.225068 30.425781,12.183594 28.378649,10.14212 25.663687,8.4727819 21.751953,8.4707031 Z m 0,2.9238279 v 1.056641 c 2.628442,0.110362 4.12013,0.649714 5.935547,2.472656 1.815417,1.822942 2.579636,4.182587 2.630859,6.921875 h 1.041016 c -0.02691,-3.773934 -1.656681,-6.397467 -2.927734,-7.664062 -1.271054,-1.266596 -3.044166,-2.773995 -6.679688,-2.78711 z m -0.002,3.072266 0.002,0.970703 c 1.214228,0.02268 2.542138,0.426896 3.699219,1.726562 1.157081,1.299667 1.514685,3.134718 1.560547,4.681641 h 0.996093 C 28.003013,19.798749 27.154977,17.595307 26.125,16.5 25.095023,15.404693 23.8703,14.474016 21.75,14.466797 Z m 0.08594,4.113281 c -1.242133,4.62e-4 -2.248664,1.007867 -2.248047,2.25 4.31e-4,0.819298 0.446389,1.573535 1.164062,1.96875 l -9.210937,19.041016 1.576172,1.02539 1.857421,-3.820312 16.46875,4.728516 0.253907,0.492187 1.753906,-0.767578 L 22.763672,22.875 c 0.802842,-0.363971 1.319016,-1.16343 1.320312,-2.044922 6.17e-4,-1.242133 -1.005913,-2.249537 -2.248046,-2.25 z m -0.07813,6.384766 1.615235,3.136718 -3.992188,1.798829 z m 1.935547,3.759765 2.78125,5.398438 -7.55664,-3.226563 z m -5.115234,2.839844 7.910156,3.361328 -10.953125,2.958985 z M 27.1875,35.507812 30.986328,42.886719 15.894531,38.5625 Z"
|
||||
id="path845"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,284.29998)"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccsccscccsccscccsccsccccccccccccccccccccccccccccc" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.7 KiB |
@ -1,71 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
function generateText() {
|
||||
echo "$1"
|
||||
convert -size 1698x750 xc:none -gravity Center -pointsize 130 -fill white -font Lato-Regular \
|
||||
-annotate 0 "$1" /tmp/text.png
|
||||
}
|
||||
|
||||
function generateTabletText() {
|
||||
echo "$1"
|
||||
convert -size 1730x350 xc:none -gravity Center -pointsize 80 -fill white -font Lato-Regular \
|
||||
-annotate 0 "$1" /tmp/text.png
|
||||
}
|
||||
|
||||
function simplePhone() {
|
||||
generateText "$1"
|
||||
convert templates/phone.png \
|
||||
$2 -geometry +306+992 -composite \
|
||||
/tmp/text.png -geometry +0+0 -composite \
|
||||
$3
|
||||
}
|
||||
|
||||
function simpleTablet() {
|
||||
generateTabletText "$1"
|
||||
convert $2 -resize 1280 "/tmp/resized-image.png"
|
||||
convert templates/tablet.png \
|
||||
/tmp/resized-image.png -geometry +227+459 -composite \
|
||||
/tmp/text.png -geometry +0+0 -composite \
|
||||
$3
|
||||
}
|
||||
|
||||
function addLayer() {
|
||||
convert $2 $1 -composite $2
|
||||
}
|
||||
|
||||
function generateScreenshots() {
|
||||
language=$1
|
||||
mkdir output/$1 2>/dev/null
|
||||
text0=`cat raw/$language/texts.txt | head -1 | tail -1`
|
||||
text1=`cat raw/$language/texts.txt | head -2 | tail -1`
|
||||
text2=`cat raw/$language/texts.txt | head -3 | tail -1`
|
||||
text3=`cat raw/$language/texts.txt | head -4 | tail -1`
|
||||
text4=`cat raw/$language/texts.txt | head -5 | tail -1`
|
||||
text5=`cat raw/$language/texts.txt | head -6 | tail -1`
|
||||
text6=`cat raw/$language/texts.txt | head -7 | tail -1`
|
||||
|
||||
simplePhone "$text0" raw/$language/00.png output/$language/00.png
|
||||
simplePhone "$text1" raw/$language/01.png output/$language/01.png
|
||||
simplePhone "$text2" raw/$language/02.png output/$language/03.png
|
||||
generateText "$text3"
|
||||
convert templates/twophones.png \
|
||||
templates/twophones-a.png -geometry +0+10 -composite \
|
||||
raw/$language/03a.png -geometry +119+992 -composite \
|
||||
templates/twophones-b.png -geometry +0+0 -composite \
|
||||
raw/$language/03b.png -geometry +479+1540 -composite \
|
||||
/tmp/text.png -geometry +0+0 -composite \
|
||||
output/$language/02.png
|
||||
simplePhone "$text4" raw/$language/04.png output/$language/04.png
|
||||
simplePhone "$text5" raw/$language/05.png output/$language/05.png
|
||||
addLayer templates/suggestions.png output/$language/05.png
|
||||
simpleTablet "$text6" raw/$language/tablet.png output/$language/tablet.png
|
||||
mogrify -resize 1120 "output/$language/0*.png"
|
||||
}
|
||||
|
||||
mkdir output 2>/dev/null
|
||||
|
||||
generateScreenshots "de-DE"
|
||||
generateScreenshots "en-US"
|
||||
generateScreenshots "nl-NL"
|
||||
|
||||
rm /tmp/text.png
|
Before Width: | Height: | Size: 966 KiB |
Before Width: | Height: | Size: 972 KiB |
Before Width: | Height: | Size: 248 KiB |
Before Width: | Height: | Size: 385 KiB |
Before Width: | Height: | Size: 387 KiB |
Before Width: | Height: | Size: 462 KiB |
Before Width: | Height: | Size: 688 KiB |
Before Width: | Height: | Size: 470 KiB |
@ -1,7 +0,0 @@
|
||||
Abonniere deine\nLieblings-Podcasts
|
||||
Höre in beliebiger\nGeschwindigkeit
|
||||
Spare Zeit mit\nautomatischen Downloads
|
||||
Wähle dein\nLieblings-Theme
|
||||
Passe AntennaPod\nan deine Wünsche an
|
||||
Entdecke tausende\nneuer Podcasts
|
||||
Genieße deine Podcasts. Überall. Jederzeit.
|
Before Width: | Height: | Size: 930 KiB |
Before Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 245 KiB |
Before Width: | Height: | Size: 385 KiB |
Before Width: | Height: | Size: 387 KiB |
Before Width: | Height: | Size: 371 KiB |
Before Width: | Height: | Size: 742 KiB |
Before Width: | Height: | Size: 210 KiB |
@ -1,7 +0,0 @@
|
||||
Subscribe to all of your\nfavorite podcasts
|
||||
Play smart with\nyour speed of choice
|
||||
Save time with\nautomatic downloads
|
||||
Select the theme\nthat fits best to you
|
||||
Adapt AntennaPod\nto your needs
|
||||
Discover thousands\nof great podcasts
|
||||
Enjoy your podcasts. Anywhere. Anytime.
|
Before Width: | Height: | Size: 929 KiB |
Before Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 248 KiB |
Before Width: | Height: | Size: 387 KiB |
Before Width: | Height: | Size: 389 KiB |
Before Width: | Height: | Size: 370 KiB |
Before Width: | Height: | Size: 710 KiB |
Before Width: | Height: | Size: 466 KiB |
@ -1 +0,0 @@
|
||||
../en-US/00.png
|
@ -1 +0,0 @@
|
||||
../en-US/01.png
|
@ -1 +0,0 @@
|
||||
../en-US/02.png
|
@ -1 +0,0 @@
|
||||
../en-US/03a.png
|
@ -1 +0,0 @@
|
||||
../en-US/03b.png
|
@ -1 +0,0 @@
|
||||
../en-US/04.png
|
@ -1 +0,0 @@
|
||||
../en-US/05.png
|
Before Width: | Height: | Size: 466 KiB |