Podlite 1.8: MiniABS is now Podlite

Renames the app (label, texts, Audiobookshelf client name, User-Agent, APK). The package name,
preferences and signing key stay, so it installs over MiniABS and keeps its settings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
XoséandClaude Opus 5.5 committed 2026-10-19 16:57:47 +02:00
1 parent 06a5c7078f
commit a4be0bab44
23 files changed
+55 -55

No files matched your search

+4 -4
View File
@@ -26,7 +26,7 @@ import android.os.Build;
/** Audiobookshelf REST client (API as of server 2.x, including the 2.26+ token system). */
final class Api {
static final String VERSION = "1.7";
static final String VERSION = "1.8";
static class ApiException extends IOException {
final int code;
@@ -64,7 +64,7 @@ final class Api {
conn.setUseCaches(false);
conn.setInstanceFollowRedirects(true);
setMethod(conn, method);
conn.setRequestProperty("User-Agent", "MiniABS/" + VERSION + " (Android " + Build.VERSION.RELEASE + ")");
conn.setRequestProperty("User-Agent", "Podlite/" + VERSION + " (Android " + Build.VERSION.RELEASE + ")");
return conn;
}
@@ -397,7 +397,7 @@ final class Api {
private static JSONObject deviceInfo(Context c) throws JSONException {
return new JSONObject()
.put("deviceId", Prefs.get(c).deviceId())
.put("clientName", "MiniABS")
.put("clientName", "Podlite")
.put("clientVersion", VERSION)
.put("manufacturer", Build.MANUFACTURER)
.put("model", Build.MODEL)
@@ -416,7 +416,7 @@ final class Api {
.put("forceDirectPlay", true)
.put("forceTranscode", false)
.put("supportedMimeTypes", mimes)
.put("mediaPlayer", "MiniABS");
.put("mediaPlayer", "Podlite");
} catch (JSONException ignored) {
}
return obj(call(c, "POST", "/api/items/" + e.itemId + "/play/" + e.id, body, 200,
+3 -3
View File
@@ -31,7 +31,7 @@ public class DownloadService extends IntentService {
private static volatile String cancelId;
public DownloadService() {
super("MiniABS downloads");
super("Podlite downloads");
}
static void enqueue(Context c, Episode e) {
@@ -105,9 +105,9 @@ public class DownloadService extends IntentService {
percent = 0;
cancelId = null;
PowerManager.WakeLock wake = ((PowerManager) getSystemService(POWER_SERVICE))
.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MiniABS download");
.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Podlite download");
WifiManager.WifiLock wifi = ((WifiManager) getSystemService(WIFI_SERVICE))
.createWifiLock(WifiManager.WIFI_MODE_FULL, "MiniABS download");
.createWifiLock(WifiManager.WIFI_MODE_FULL, "Podlite download");
wake.acquire();
wifi.acquire();
try {
+1 -1
View File
@@ -3,7 +3,7 @@ package com.miniabs;
import org.json.JSONException;
import org.json.JSONObject;
/** One podcast episode, trimmed down to what MiniABS needs. */
/** One podcast episode, trimmed down to what Podlite needs. */
final class Episode {
String itemId = ""; // library item (the podcast) id
String id = ""; // episode id
+2 -2
View File
@@ -101,7 +101,7 @@ public class HomeActivity extends BaseActivity {
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (intent.getBooleanExtra("exit", false)) { closeApp(); return; } // "Pechar MiniABS" from the player
if (intent.getBooleanExtra("exit", false)) { closeApp(); return; } // "Pechar Podlite" from the player
if (intent.hasExtra("tab")) selectTab(intent.getIntExtra("tab", TAB_LATEST));
}
@@ -496,7 +496,7 @@ public class HomeActivity extends BaseActivity {
menu.add(0, 2, 0, "Biblioteca").setIcon(android.R.drawable.ic_menu_agenda);
menu.add(0, 3, 0, "En reprodución").setIcon(android.R.drawable.ic_media_play);
menu.add(0, 4, 0, "Axustes").setIcon(android.R.drawable.ic_menu_preferences);
menu.add(0, 5, 0, "Pechar MiniABS").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
menu.add(0, 5, 0, "Pechar Podlite").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
return true;
}
+1 -1
View File
@@ -16,7 +16,7 @@ import java.util.Map;
import com.miniabs.net.Http;
/**
* An HttpURLConnection backed by the bundled TLS 1.2 client (com.miniabs.net, from Minamp), so
* An HttpURLConnection backed by the bundled TLS 1.2 client (com.miniabs.net, from Plexamp Lite), so
* the existing API, cover, download and stream code keeps its shape while the phone talks to the
* normal https:// address: Android 2.x's own TLS 1.0 can't. Any method works (PATCH too), and
* connections are kept alive between requests.
+1 -1
View File
@@ -245,7 +245,7 @@ public class PlayerActivity extends BaseActivity {
}
menu.add(0, 4, 0, "Ir ao programa").setIcon(android.R.drawable.ic_menu_view);
if (active) menu.add(0, 5, 0, "Deter").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
menu.add(0, 6, 0, "Pechar MiniABS").setIcon(android.R.drawable.ic_lock_power_off);
menu.add(0, 6, 0, "Pechar Podlite").setIcon(android.R.drawable.ic_lock_power_off);
return true;
}
+1 -1
View File
@@ -119,7 +119,7 @@ public class PlayerService extends Service implements MediaPlayer.OnPreparedList
super.onCreate();
instance = this;
am = (AudioManager) getSystemService(AUDIO_SERVICE);
wifi = ((WifiManager) getSystemService(WIFI_SERVICE)).createWifiLock(WifiManager.WIFI_MODE_FULL, "MiniABS");
wifi = ((WifiManager) getSystemService(WIFI_SERVICE)).createWifiLock(WifiManager.WIFI_MODE_FULL, "Podlite");
wifi.setReferenceCounted(false);
buttons = new ComponentName(this, MediaButtonReceiver.class);
registerReceiver(noisy, new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY));
+3 -3
View File
@@ -16,7 +16,7 @@ import android.content.Context;
/**
* Lets Android's media player stream from an HTTPS server. The player can't do HTTPS before
* Android 3.1 and wouldn't use MiniABS's certificate trust anyway, so it plays
* Android 3.1 and wouldn't use Podlite's certificate trust anyway, so it plays
* http://127.0.0.1:PORT/<random id> and this proxy fetches the real stream (forwarding seeks as
* Range requests) with a fresh sign-in token each time.
*/
@@ -37,7 +37,7 @@ final class StreamProxy implements Runnable {
private StreamProxy(Context c) throws IOException {
this.c = c.getApplicationContext();
server = new ServerSocket(0, 8, InetAddress.getByName("127.0.0.1"));
Thread t = com.miniabs.net.Threads.create(this, "MiniABS proxy");
Thread t = com.miniabs.net.Threads.create(this, "Podlite proxy");
t.setDaemon(true);
t.start();
}
@@ -90,7 +90,7 @@ final class StreamProxy implements Runnable {
public void run() {
serve(s);
}
}, "MiniABS proxy conn");
}, "Podlite proxy conn");
t.setDaemon(true);
t.start();
} catch (IOException e) {
+1 -1
View File
@@ -23,7 +23,7 @@ import com.miniabs.net.AssetRoots;
import com.miniabs.net.CertVerifier;
/**
* Decides which HTTPS certificates MiniABS accepts, for the bundled TLS 1.2 client:
* Decides which HTTPS certificates Podlite accepts, for the bundled TLS 1.2 client:
* 1. certificates chaining to Mozilla's roots (assets/roots; Android 2.3's own list predates Let's Encrypt);
* 2. certificates the user chose to trust after checking the fingerprint ("pins").
*/
+1 -1
View File
@@ -37,7 +37,7 @@ import com.minamp.bc.crypto.util.PublicKeyFactory;
* Minimal Web PKI path validation for the bundled TLS stack:
* hostname match, validity window, signature chain up to a bundled Mozilla root.
* Optionally one pinned leaf certificate (SHA-256) is trusted as-is, for self-signed servers.
* Shared with Minamp (tools/tlskit in the iOS ports' history); keep the copies in sync.
* Shared with Plexamp Lite (tools/tlskit in the iOS ports' history); keep the copies in sync.
*/
public final class CertVerifier {
+2 -2
View File
@@ -33,11 +33,11 @@ import com.minamp.bc.tls.crypto.impl.bc.BcTlsCrypto;
/**
* Small HTTP/1.1 client with its own TLS 1.2 (Bouncy Castle), keep-alive pooling and
* session resumption. Android 2.x's built-in SSL only speaks TLS 1.0 and lacks today's roots,
* so every request in the app goes through here. From Minamp; keep the copies in sync.
* so every request in the app goes through here. From Plexamp Lite; keep the copies in sync.
*/
public final class Http {
public static String USER_AGENT = "Minamp/1.0";
public static String USER_AGENT = "PlexampLite/1.0";
/** Optional HTTP CONNECT proxy, only used when running the networking code on a desktop JVM. */
public static String proxyHost;