forked from upstream-mirrors/OpenTracks
fix #2317 dashboard API updates
This commit is contained in:
@@ -153,7 +153,7 @@ public class CustomContentProvider extends ContentProvider {
|
|||||||
} finally {
|
} finally {
|
||||||
db.endTransaction();
|
db.endTransaction();
|
||||||
}
|
}
|
||||||
getContext().getContentResolver().notifyChange(url, null, false);
|
notifyChanges(url);
|
||||||
|
|
||||||
int totalChanges = getTotalChanges() - totalChangesBefore;
|
int totalChanges = getTotalChanges() - totalChangesBefore;
|
||||||
Log.i(TAG, "Deleted " + totalChanges + " total rows from database");
|
Log.i(TAG, "Deleted " + totalChanges + " total rows from database");
|
||||||
@@ -212,7 +212,8 @@ public class CustomContentProvider extends ContentProvider {
|
|||||||
} finally {
|
} finally {
|
||||||
db.endTransaction();
|
db.endTransaction();
|
||||||
}
|
}
|
||||||
getContext().getContentResolver().notifyChange(url, null, false);
|
notifyChanges(url);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -235,7 +236,8 @@ public class CustomContentProvider extends ContentProvider {
|
|||||||
} finally {
|
} finally {
|
||||||
db.endTransaction();
|
db.endTransaction();
|
||||||
}
|
}
|
||||||
getContext().getContentResolver().notifyChange(url, null, false);
|
notifyChanges(url);
|
||||||
|
|
||||||
return numInserted;
|
return numInserted;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -348,10 +350,36 @@ public class CustomContentProvider extends ContentProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getContext().getContentResolver().notifyChange(url, null, false);
|
notifyChanges(url);
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void notifyChanges(@NonNull Uri uri) {
|
||||||
|
getContext().getContentResolver().notifyChange(uri, null, false);
|
||||||
|
// Also notify dashboard URIs for compatibility
|
||||||
|
Uri dashboardUri = getDashboardUri(uri);
|
||||||
|
if (dashboardUri != null) {
|
||||||
|
getContext().getContentResolver().notifyChange(dashboardUri, null, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Uri getDashboardUri(Uri uri) {
|
||||||
|
String path = uri.getPath();
|
||||||
|
if (path == null) return null;
|
||||||
|
String dashboardPath;
|
||||||
|
if (path.startsWith("/tracks")) {
|
||||||
|
dashboardPath = path.replaceFirst("/tracks", "/dashboard/tracks");
|
||||||
|
} else if (path.startsWith("/markers")) {
|
||||||
|
dashboardPath = path.replaceFirst("/markers", "/dashboard/markers");
|
||||||
|
} else if (path.startsWith("/trackpoints")) {
|
||||||
|
dashboardPath = path.replaceFirst("/trackpoints", "/dashboard/trackpoints");
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return Uri.parse(CONTENT_BASE_URI + dashboardPath);
|
||||||
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private UrlType getUrlType(Uri url) {
|
private UrlType getUrlType(Uri url) {
|
||||||
UrlType[] urlTypes = UrlType.values();
|
UrlType[] urlTypes = UrlType.values();
|
||||||
|
|||||||
Reference in New Issue
Block a user