Back to Top

Restore not working

11 posts / 0 new
Last post
zkzkz
Offline
Last seen: 3 months 2 weeks ago
Joined: 04/21/2019 - 01:25
Restore not working

I have a DC backup from my phone before I wiped it and installed a new version of Android on it. Now I've reinstalled DC from the play store and I can successfully get the backup to a place where DC can see and read it but after the restore finishes without any words there's no podcasts restored. Strangely the database is now bigger, alot the size of the backup.

WayneC
Offline
Last seen: 5 days 22 hours ago
Joined: 02/23/2011 - 22:28
Try uninstalling &

Try uninstalling & reinstalling the app>

Then run the restore feature

zkzkz
Offline
Last seen: 3 months 2 weeks ago
Joined: 04/21/2019 - 01:25
I've done that dozens of

I've done that dozens of times. And I'm trying various versions from apk mirror sites. Is there anywhere to download official copies of old versions? Or any way to tell what version created a backup?

I've verified with sqlite that the podcasts are in the backup. They just don't seem to be getting restored...

zkzkz
Offline
Last seen: 3 months 2 weeks ago
Joined: 04/21/2019 - 01:25
So my current theory is that

So my current theory is that with Android Pie the app data storage where Doggcatchers's database is stored is not where it expects it to be. So restoring the database is copying it to the wrong location.

Or perhaps it's successfully finding the backup when it generates the list of backups but the actual copy command is looking in the wrong place or is lacking permission to read the backup.

Where can I see the logs showing exactly which file is being read and written to during the restore. I don't see anything in the log in the sdcard directory.

WayneC
Offline
Last seen: 5 days 22 hours ago
Joined: 02/23/2011 - 22:28
DC reads backup zipped files

DC reads backup & backs up zipped files on the internal storage directory

(Internal storage>Doggcatcher>Backups)

If you ran the backup feature & didn't move the zipped file to the external storage directory or Google drive before wiping your device....the backup directory was deleted .

zkzkz
Offline
Last seen: 3 months 2 weeks ago
Joined: 04/21/2019 - 01:25
Any news on this bug?

Any news on this bug? Doggcatcher restores are still not functioning and there hasn't been a release since 2018

zkzkz
Offline
Last seen: 3 months 2 weeks ago
Joined: 04/21/2019 - 01:25
As I mentioned above I do

As I mentioned above I do have a backup file saved from before it was wiped. I've verified that the database in the backup file contains my feeds:

~/DC-Backup-2019-04-01-15-45-39.dir/databases$ sqlite3 rss
SQLite version 3.16.2 2017-01-06 16:32:41
Enter ".help" for usage hints.
sqlite> select count(*) from channel;
95

I can attach screen shots from Doggcatcher showing that it sees the backup file, I select this very file with 95 feeds, then it restarts and has exactly the same default feeds that DC comes with. If I delete those feeds before restoring then after restoring it shows no feeds.

Clearly some error has occurred during the restore but no error message appear and I don't see anything in the log about the restore.

I've asked several questions above:

  • Is there anywhere to download old versions since maybe it's only this version where restoring is broken or it's a version incompatibility
  • Is there any way to tell what version created a backup?
  • Where can I find the logs of the restore process showing the file being read and written?
zkzkz
Offline
Last seen: 3 months 2 weeks ago
Joined: 04/21/2019 - 01:25
Here are the regular logs

Here are the regular logs from attempting to restore.


Thu, 25 Apr 2019 16:44:22 -0400 INFO (17850) Backup::Looking for pending restore
Thu, 25 Apr 2019 16:44:22 -0400 INFO (17850) ChannelListActivity::onCreate RssManager.isInitialized(): true - ChannelListActivity.initialized: true
Thu, 25 Apr 2019 16:44:22 -0400 INFO (17850) ChromeCastMediaPlayer::Control categories: [com.google.android.gms.cast.CATEGORY_CAST/B2AAE870, android.media.intent.category.REMOTE_PLAYBACK]
Thu, 25 Apr 2019 16:44:22 -0400 WARNING (17850) Observers::CurrentActivity - observer already registered com.doggcatcher.mediaplayer.chromecast.ChromeCastMediaPlayer$1@4e7644, 1 observer NOT registered
Thu, 25 Apr 2019 16:44:22 -0400 WARNING (17850) Observers::MediaPlayer.PlayStateChanged - observer already registered com.doggcatcher.mediaplayer.layout.MediaPlayerLayoutUpdater$1@4f449dc, 7 observer NOT registered
Thu, 25 Apr 2019 16:44:22 -0400 INFO (17850) HeadsetPlugLauncher::Launching screen: 0
Thu, 25 Apr 2019 16:44:22 -0400 INFO (17850) MediaSessionAdapter::Setting MODERN media session to be active
Thu, 25 Apr 2019 16:44:22 -0400 INFO (17850) MediaSessionManager::Setting MediaSession to active and stealing the buttons
Thu, 25 Apr 2019 16:44:22 -0400 INFO (17850) AndroidAuto::Running in non-Car mode
Thu, 25 Apr 2019 16:44:22 -0400 INFO (17850) AndroidAuto::Running in non-Car mode
Thu, 25 Apr 2019 16:44:22 -0400 INFO (17850) ::Refreshing audio list -> 0 audios - [**1ms**]
Thu, 25 Apr 2019 16:44:25 -0400 WARNING (17850) ChannelListActivity::Ignoring onSaveInstanceState
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) LOG::Initialized persistent log
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Loading MediaPlayer
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Configuring Widget
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Opening Database
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Loading Categories
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Loading Feeds
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Migrating virtual feeds to numeric IDs
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Starting NotificationUpdater
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Starting Threads
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) ChannelUpdateThread::Waiting 3 seconds before start
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) DownloadThread::Waiting 10 seconds before start
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) DownloadQueuePersistor::Loading: []
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) DownloadPauserThread::Waiting 10 seconds before start
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Starting Playlist Managers
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) UserPlaylistDBAdapter::Loading user playlists
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Loading BatteryState Monitor
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Configuring Preferences
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) ChannelSorter::Sorting channel with 0 episodes - [0ms]
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) Playlist::Updating playlist: All - Sorted by date -> done - [**1ms**]
Thu, 25 Apr 2019 16:44:32 -0400 SEVERE (26522) Observers::Audio Playlist updated:notifying listener::java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String com.doggcatcher.activity.tabs.IHeaderInfo.getPrimaryHeaderText()' on a null object reference
at com.doggcatcher.activity.podcast.ChannelListActivityHeader.updateHeaderText(ChannelListActivityHeader.java:103)
at com.doggcatcher.activity.podcast.ChannelListActivityHeader.access$100(ChannelListActivityHeader.java:28)
at com.doggcatcher.activity.podcast.ChannelListActivityHeader$1.update(ChannelListActivityHeader.java:75)
at com.doggcatcher.observers.Observers.notifyObserversImpl(Observers.java:64)
at com.doggcatcher.observers.Observers.notifyObservers(Observers.java:39)
at com.doggcatcher.activity.playlist.audio.AudioPlaylistManager.updatePlaylist(AudioPlaylistManager.java:123)
at com.doggcatcher.core.RssManager$1.run(RssManager.java:295)

Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) Playlist::Updating playlist: All - Sorted by feed/date -> done - [**1ms**]
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) ImportFromFileActivity::/storage/emulated/0/DoggCatcher/Sample-OPML.xml already exists
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) Billing::Initializing billing type: BillingPaid
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) Receivers::Waiting for handler to register receivers
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) Receivers::Initializing Receivers
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) FeedSynchronizeThread::Waiting 5 seconds before start
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) HeadsetPlugBroadcastReceiver::Headset plugged in event: [action: android.intent.action.HEADSET_PLUG][state: 0][Sticky: true]
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) HeadsetPlugBroadcastReceiver::Application is not started, ignoring headset connect
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) CallStateListener::Call: IDLE
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::SharedUserId: com.snoggdoggler.shareduser
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) CurrentItemTracker::Clearing current item - null
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) CurrentItemTracker::Loading current item -> item not found [0ms] - [0ms]
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Number of feeds: 0
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::Number of episodes: 0
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) RssManager::DoggCatcher Initialized - 159ms
Thu, 25 Apr 2019 16:44:32 -0400 WARNING (26522) RssManager::RssManager already initialized, skipping initialization
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) ChromeCastMediaPlayer::Control categories: [com.google.android.gms.cast.CATEGORY_CAST/B2AAE870, android.media.intent.category.REMOTE_PLAYBACK]
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) MediaPlayerController::Initializing MediaPlayerController handler
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) TabAdapter::Instantiating tab adapter
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) HeadsetPlugLauncher::Launching screen: 0
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) MediaSessionAdapter::Setting MODERN media session to be active
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) MediaSessionManager::Setting MediaSession to active and stealing the buttons
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) AndroidAuto::Running in non-Car mode
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) AndroidAuto::Running in non-Car mode
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) ::Refreshing audio list -> 0 audios - [**0ms**]
Thu, 25 Apr 2019 16:44:32 -0400 INFO (26522) ChromeCastAvailabilityConsumer::Cast present: true
Thu, 25 Apr 2019 16:44:37 -0400 WARNING (26522) ChannelListActivity::Ignoring onSaveInstanceState

eric
Offline
Last seen: 3 weeks 1 day ago
Joined: 11/06/2008 - 22:02
Hi there, I'll try to answer

Hi there, I'll try to answer that final list of questions:

1 - I can send you older versions of the app. However the only case where I can think this would help is if there was a database schema change between the current version and the one that created a backup. And that hasn't happened in a very long time...at least a year maybe.
2 - Unfortunately no
3 - The log you posted is where you'd see backup/restore activity. There's one line at the top where DC is looking for a pending restore. That's where we check if the user just asked to do a restore. In this log, it looks like that's not the case.

If you have root on your phone then one possibility is to stick the database file from your restore directly where DC is expecting it to be. That's all a DC does..basically copy the database and config file where they normally live. I don't know where that would be on your device because it could vary on device/os.

Hope that helps.

zkzkz
Offline
Last seen: 3 months 2 weeks ago
Joined: 04/21/2019 - 01:25
Thank you. That's helpful.

Thank you. That's helpful.

So from what you're saying it's looking for the pending restore and not finding it. How is the pending restore marked? Is it possible there's some kind of new filesystem or permissions set up in Pie (or specifically Oxygen 9.0.4) that's preventing it from being able to make or test this marking?

Unfortunately the whole reason I wiped my phone was to go back to stock so I no longer have root. I think it's still unlocked so I could get it back but I was hoping it avoid it.

eric
Offline
Last seen: 3 weeks 1 day ago
Joined: 11/06/2008 - 22:02
I'm pretty sure this is the

I'm pretty sure this is the way the restore works...
-DC looks here to see if there is a backup that needs restoring...Environment.getExternalStorageDirectory().getAbsolutePath() + "/DoggCatcher/" + "DC-Restore.zip"
The first part there is determined by android and can vary per device.

If that zip exists, it's extracted and written to the app's data directory:

Environment.getDataDirectory().getAbsolutePath()
+ "/data" + File.separator
+ context.getPackageName() + File.separator;