Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions pub/generate_all_dpis_from_xxxhdpi.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/bin/bash
set -euo pipefail # -x
Comment thread
mmathieum marked this conversation as resolved.

if [[ "$#" -ne 1 ]]; then
echo "> Wrong $# parameters '$*'!"
exit 1 #error
fi

SOURCE=$1
echo "SOURCE: $SOURCE."

if [[ ! -f "$SOURCE" ]]; then
echo "> File '$SOURCE' does not exist!"
exit 1 #error
fi

SOURCE_DIR=$(dirname "$SOURCE")
echo "SOURCE_DIR: $SOURCE_DIR."

SOURCE_NAME=$(basename "$SOURCE")
echo "SOURCE_NAME: $SOURCE_NAME."

SOURCE_DIR_NAME=$(basename "$SOURCE_DIR")
echo "SOURCE_DIR_NAME: $SOURCE_DIR_NAME."

if [[ "$SOURCE_DIR_NAME" != "drawable-xxxhdpi" ]]; then
echo "> Wrong source drawable DPI '$SOURCE_DIR_NAME'!"
exit 1 #error
fi

RES_DIR=$(dirname "$SOURCE_DIR")
echo "RES_DIR: $RES_DIR."

RES_DIR_NAME=$(basename "$RES_DIR")
echo "RES_DIR_NAME: $RES_DIR_NAME."

if [[ "$RES_DIR_NAME" != "res" ]]; then
echo "> Wrong source resource directory '$RES_DIR_NAME'!"
exit 1 #error
fi

convert -version &> /dev/null || (sudo apt-get update && sudo apt-get install -y imagemagick);

mkdir -p "$RES_DIR/drawable-xxhdpi"
convert $SOURCE -resize 75% $RES_DIR/drawable-xxhdpi/$SOURCE_NAME
mkdir -p "$RES_DIR/drawable-xhdpi"
convert $SOURCE -resize 50% $RES_DIR/drawable-xhdpi/$SOURCE_NAME
mkdir -p "$RES_DIR/drawable-hdpi"
convert $SOURCE -resize 37.5% $RES_DIR/drawable-hdpi/$SOURCE_NAME
mkdir -p "$RES_DIR/drawable-mdpi"
convert $SOURCE -resize 25% $RES_DIR/drawable-mdpi/$SOURCE_NAME
Comment thread
mmathieum marked this conversation as resolved.

echo "Done"
exit 0 #ok
1 change: 1 addition & 0 deletions src/debug/res/values/constants.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<!-- do not change to avoid breaking compat w/ old modules -->
<string name="rts_provider">org.mtransit.android.debug.provider.ROUTE_TRIP_STOP_PROVIDER</string>
<string name="schedule_provider">org.mtransit.android.debug.provider.SCHEDULE_PROVIDER</string>
<!-- org.mtransit.android.debug.provider.SCHEDULE_PROVIDER_TARGET (do not fix to avoid breaking change) -->
<string name="schedule_provider_target">org.mtransit.android.debug.providerSCHEDULE_PROVIDER_TARGET</string>
<string name="service_update_provider">org.mtransit.android.debug.provider.SERVICE_UPDATE_PROVIDER</string>
<string name="service_update_provider_target">org.mtransit.android.debug.provider.SERVICE_UPDATE_PROVIDER_TARGET</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ import org.mtransit.android.commons.ui.AppUpdateActivity

object AppUpdateLauncher : MTLog.Loggable {

val LOG_TAG: String = AppUpdateLauncher::class.java.simpleName
private val LOG_TAG: String = AppUpdateLauncher::class.java.simpleName

override fun getLogTag(): String = LOG_TAG
override fun getLogTag() = LOG_TAG

@Suppress("SimplifyBooleanWithConstants", "KotlinConstantConditions")
@JvmStatic
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/org/mtransit/android/commons/AppUpdateUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ import java.util.concurrent.TimeUnit

object AppUpdateUtils : MTLog.Loggable {

val LOG_TAG: String = AppUpdateUtils::class.java.simpleName
private val LOG_TAG: String = AppUpdateUtils::class.java.simpleName

private const val FORCE_CHECK_IN_DEBUG = false
// private const val FORCE_CHECK_IN_DEBUG = true // DEBUG

private const val FORCE_UPDATE_AVAILABLE = false
// private const val FORCE_UPDATE_AVAILABLE = true // DEBUG

override fun getLogTag(): String = LOG_TAG
override fun getLogTag() = LOG_TAG

private const val PREF_KEY_AVAILABLE_VERSION_CODE = "pAvailableVersionCode"

Expand Down
43 changes: 30 additions & 13 deletions src/main/java/org/mtransit/android/commons/CursorExt.kt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
@file:Suppress("unused")

package org.mtransit.android.commons

import android.database.Cursor
Expand All @@ -17,17 +19,28 @@ fun Cursor.getDouble(columnName: String) = this.getDouble(getColumnIndexOrThrow(

// endregion

// region Float

fun Cursor.getFloat(columnName: String) = this.getFloat(getColumnIndexOrThrow(columnName))

fun Cursor.optFloat(columnIndex: Int, fallback: Float? = null) =
optNotNull(columnIndex)?.let { getFloat(it) } ?: fallback

fun Cursor.optFloat(columnName: String, fallback: Float? = null) =
this.optFloat(getColumnIndex(columnName), fallback)

// endregion

// region Int

fun Cursor.optInt(columnIndex: Int, fallback: Int? = null): Int? {
return optNotNull(columnIndex)?.let { getInt(it) } ?: fallback
}
fun Cursor.optInt(columnIndex: Int, fallback: Int? = null) =
optNotNull(columnIndex)?.let { getInt(it) } ?: fallback

fun Cursor.optInt(columnName: String, fallback: Int? = null) = this.optInt(getColumnIndex(columnName), fallback)
fun Cursor.optInt(columnName: String, fallback: Int? = null) =
this.optInt(getColumnIndex(columnName), fallback)

fun Cursor.optIntNN(columnIndex: Int, fallback: Int): Int {
return optNotNull(columnIndex)?.let { getInt(it) } ?: fallback
}
fun Cursor.optIntNN(columnIndex: Int, fallback: Int) =
optNotNull(columnIndex)?.let { getInt(it) } ?: fallback

fun Cursor.optIntNN(columnName: String, fallback: Int) = this.optIntNN(getColumnIndex(columnName), fallback)

Expand All @@ -39,21 +52,25 @@ fun Cursor.getInt(columnName: String) = this.getInt(getColumnIndexOrThrow(column

fun Cursor.getLong(columnName: String) = this.getLong(getColumnIndexOrThrow(columnName))

fun Cursor.optLong(columnIndex: Int, fallback: Long? = null) =
optNotNull(columnIndex)?.let { getLong(it) } ?: fallback

fun Cursor.optLong(columnName: String, fallback: Long? = null) =
this.optLong(getColumnIndex(columnName), fallback)

// endregion

// region String

fun Cursor.getString(columnName: String) = this.getString(getColumnIndexOrThrow(columnName)).orEmpty()

fun Cursor.optString(columnIndex: Int, fallback: String? = null): String? {
return optNotNull(columnIndex)?.let { getString(it) } ?: fallback
}
fun Cursor.optString(columnIndex: Int, fallback: String? = null) =
optNotNull(columnIndex)?.let { getString(it) } ?: fallback

fun Cursor.optString(columnName: String, fallback: String? = null) = this.optString(getColumnIndex(columnName), fallback)

fun Cursor.optStringNN(columnIndex: Int, fallback: String): String {
return optNotNull(columnIndex)?.let { getString(it) } ?: fallback
}
fun Cursor.optStringNN(columnIndex: Int, fallback: String): String =
optNotNull(columnIndex)?.let { getString(it) } ?: fallback

fun Cursor.optStringNN(columnName: String, fallback: String) = this.optStringNN(getColumnIndex(columnName), fallback)

Expand Down
6 changes: 2 additions & 4 deletions src/main/java/org/mtransit/android/commons/KeyboardUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@ import android.view.inputmethod.InputMethodManager
@Suppress("unused")
class KeyboardUtils : MTLog.Loggable {

override fun getLogTag(): String {
return TAG
}
override fun getLogTag() = LOG_TAG

companion object {
private val TAG = KeyboardUtils::class.java.simpleName
private val LOG_TAG: String = KeyboardUtils::class.java.simpleName

@JvmStatic
fun showKeyboard(activity: Activity?, view: View?) {
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/org/mtransit/android/commons/MTLog.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

// adb logcat -s "MT"
// adb logcat -s "MTD"
Expand Down Expand Up @@ -367,11 +368,15 @@ private static void doLog(@NonNull LogMethod logMethod, @NonNull String logMsg)
);
}

private static final ThreadSafeDateFormatter LOG_TIME_FORMAT = new ThreadSafeDateFormatter("yyyy-MM-dd_HH-mm-ss.SSS", Locale.ENGLISH);

private static String getLogMsg(@NonNull String tag, @NonNull String logMsg) {
if (Constants.DEBUG) {
logMsg = StringUtils.oneLineOneSpace(logMsg);
}
return String.format("%s:%s>%s", TimeUtils.currentTimeMillis(), tag, logMsg);
final String time = BuildConfig.DEBUG ? LOG_TIME_FORMAT.formatThreadSafe(TimeUtils.currentTimeMillis())
: String.valueOf(TimeUtils.currentTimeMillis());
return String.format("%s:%s>%s", time, tag, logMsg);
}

private static void logEntireMessage(@NonNull LogMethod logMethod, String logMsg) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,11 @@ public static String getPREFS_LCL_RDS_ROUTE_DIRECTION_ID_TAB(@NonNull String aut
return PREFS_LCL_RDS_ROUTE_DIRECTION_ID_TAB + authority + routeId;
}

private static final String PREFS_LCL_RDS_ROUTE_DIRECTION_ID_KEY = "pRTSRouteTripIdKey"; // do not change to avoid breaking compat w/ old modules
private static final String PREFS_LCL_RDS_DIRECTION_SHOWING_LIST_INSTEAD_OF_MAP_KEY = "pRTSRouteTripIdKey"; // do not change to avoid breaking compat w/ old modules

@NonNull
public static String getPREFS_LCL_RDS_ROUTE_DIRECTION_ID_KEY(@NonNull String authority, long routeId, long directionId) {
return PREFS_LCL_RDS_ROUTE_DIRECTION_ID_KEY + authority + routeId + "-" + directionId;
public static String getPREFS_LCL_RDS_DIRECTION_SHOWING_LIST_INSTEAD_OF_MAP_KEY(@NonNull String authority, long routeId, long directionId) {
return PREFS_LCL_RDS_DIRECTION_SHOWING_LIST_INSTEAD_OF_MAP_KEY + authority + routeId + "-" + directionId;
}

public static final String PREFS_LCL_MAP_FILTER_TYPE_IDS = "pMapFilterTypeIds";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.mtransit.android.commons.MTLog;
import org.mtransit.android.commons.R;
import org.mtransit.android.commons.SpanUtils;
import org.mtransit.android.commons.provider.StatusProviderContract;
import org.mtransit.android.commons.provider.status.StatusProviderContract;

@SuppressWarnings({"WeakerAccess", "unused"})
public class AppStatus extends POIStatus implements MTLog.Loggable {
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/mtransit/android/commons/data/Area.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import androidx.room.Ignore
import org.mtransit.android.commons.LocationUtils
import org.mtransit.android.commons.MTLog
import org.mtransit.android.commons.getDouble
import org.mtransit.android.commons.provider.AgencyProviderContract
import org.mtransit.android.commons.provider.agency.AgencyProviderContract
import kotlin.math.abs
import kotlin.math.max
import kotlin.math.min
Expand All @@ -23,7 +23,7 @@ data class Area(
val maxLng: Double,
) : MTLog.Loggable {

override fun getLogTag(): String = LOG_TAG
override fun getLogTag() = LOG_TAG

@Ignore
val northLat = this.maxLat
Expand Down Expand Up @@ -73,7 +73,7 @@ data class Area(

companion object {

private val LOG_TAG = Area::class.java.simpleName
private val LOG_TAG: String = Area::class.java.simpleName

const val MAX_LAT: Double = 90.0
const val MIN_LAT: Double = -90.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import org.mtransit.android.commons.R;
import org.mtransit.android.commons.SpanUtils;
import org.mtransit.android.commons.StringUtils;
import org.mtransit.android.commons.provider.StatusProviderContract;
import org.mtransit.android.commons.provider.status.StatusProviderContract;

@SuppressWarnings({"WeakerAccess", "unused"})
public class AvailabilityPercent extends POIStatus implements MTLog.Loggable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import org.mtransit.android.commons.MTLog;
import org.mtransit.android.commons.StringUtils;
import org.mtransit.android.commons.data.DataSourceTypeId.DataSourceType;
import org.mtransit.android.commons.provider.POIProviderContract;
import org.mtransit.android.commons.provider.poi.POIProviderContract;
import org.mtransit.commons.CommonsApp;

import java.text.Normalizer;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/mtransit/android/commons/data/News.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import org.mtransit.android.commons.ColorUtils;
import org.mtransit.android.commons.MTLog;
import org.mtransit.android.commons.TimeUtils;
import org.mtransit.android.commons.provider.NewsProviderContract;
import org.mtransit.android.commons.provider.news.NewsProviderContract;
import org.mtransit.commons.CollectionUtils;

import java.util.ArrayList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import org.mtransit.android.commons.MTLog;
import org.mtransit.android.commons.SpanUtils;
import org.mtransit.android.commons.TimeUtils;
import org.mtransit.android.commons.provider.StatusProviderContract;
import org.mtransit.android.commons.provider.status.StatusProviderContract;

// TODO abstract
public class POIStatus implements MTLog.Loggable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,9 @@ public String toString() {
@SuppressWarnings("unused")
@NonNull
public String toStringSimple() {
StringBuilder sb = new StringBuilder();
sb.append(getRoute().getShortName()).append('-');
sb.append(getDirection().getHeadsignValue()).append('>');
sb.append('(').append(getAuthority()).append(')');
return sb.toString();
return getRoute().getShortName() + '-' +
getDirection().getHeadsignValue() + '>' +
'(' + getAuthority() + ')';
}

@SuppressWarnings("unused")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import org.mtransit.android.commons.R;
import org.mtransit.android.commons.StringUtils;
import org.mtransit.android.commons.TimeUtils;
import org.mtransit.android.commons.provider.StatusProviderContract;
import org.mtransit.android.commons.provider.status.StatusProviderContract;
import org.mtransit.commons.CollectionUtils;

import java.util.ArrayList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import org.json.JSONException;
import org.json.JSONObject;
import org.mtransit.android.commons.MTLog;
import org.mtransit.android.commons.provider.ScheduleTimestampsProviderContract;
import org.mtransit.android.commons.provider.scheduletimestamp.ScheduleTimestampsProviderContract;
import org.mtransit.commons.CollectionUtils;

import java.util.ArrayList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import org.mtransit.android.commons.CursorExtKt;
import org.mtransit.android.commons.MTLog;
import org.mtransit.android.commons.TimeUtils;
import org.mtransit.android.commons.provider.ServiceUpdateProviderContract;
import org.mtransit.android.commons.provider.serviceupdate.ServiceUpdateProviderContract;

import java.util.Comparator;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package org.mtransit.android.commons.data
import org.mtransit.android.commons.MTLog
import org.mtransit.android.commons.StringUtils
import org.mtransit.android.commons.TimeUtils
import org.mtransit.android.commons.provider.ServiceUpdateProviderContract
import org.mtransit.android.commons.provider.serviceupdate.ServiceUpdateProviderContract

fun ServiceUpdate.syncTargetUUID(targetUUIDs: Map<String, String>?) {
targetUUIDs?.takeIf { it.isNotEmpty() } ?: return
Expand Down
30 changes: 30 additions & 0 deletions src/main/java/org/mtransit/android/commons/data/Trip.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package org.mtransit.android.commons.data

import android.database.Cursor
import org.mtransit.android.commons.MTLog
import org.mtransit.android.commons.getLong
import org.mtransit.android.commons.getString
import org.mtransit.android.commons.provider.GTFSProviderContract

data class Trip(
val tripId: String,
val routeId: Long,
val directionId: Long,
val serviceId: String,
) : MTLog.Loggable {

companion object {
private val LOG_TAG: String = Trip::class.java.simpleName

@JvmStatic
fun fromCursor(c: Cursor) = Trip(
tripId = c.getString(GTFSProviderContract.TripColumns.T_TRIP_K_TRIP_ID),
routeId = c.getLong(GTFSProviderContract.TripColumns.T_TRIP_K_ROUTE_ID),
directionId = c.getLong(GTFSProviderContract.TripColumns.T_TRIP_K_DIRECTION_ID),
serviceId = c.getString(GTFSProviderContract.TripColumns.T_TRIP_K_SERVICE_ID),
)
}

override fun getLogTag() = LOG_TAG
}

Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@
import org.mtransit.android.commons.data.POIStatus;
import org.mtransit.android.commons.data.RouteDirectionStop;
import org.mtransit.android.commons.data.Schedule;
import org.mtransit.android.commons.provider.common.MTContentProvider;
import org.mtransit.android.commons.provider.common.MTSQLiteOpenHelper;
import org.mtransit.android.commons.provider.status.StatusProvider;
import org.mtransit.android.commons.provider.status.StatusProviderContract;
import org.mtransit.commons.CleanUtils;
import org.mtransit.commons.SourceUtils;

Expand All @@ -51,6 +55,7 @@
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;

// DO NOT MOVE: referenced in modules AndroidManifest.xml
@SuppressLint("Registered")
public class CaEdmontonProvider extends MTContentProvider implements StatusProviderContract {

Expand Down
Loading