Merge branch 'wipe-etag-on-language-change' into 'master'
Force repo update after changing language. See merge request !503
This commit is contained in:
		
						commit
						16ddcbd5d8
					
				@ -286,6 +286,18 @@ public class RepoProvider extends FDroidProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            return count;
 | 
					            return count;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * Helper method to ensure that next time the user asks for a repository update, we will
 | 
				
			||||||
 | 
					         * fetch the metadata and update regardless of whether the metadata has changed or not.
 | 
				
			||||||
 | 
					         * This is useful for when we change languages, because we need to ask the user to fetch
 | 
				
			||||||
 | 
					         * the metadata again, so that we can extract the correctly-localized metadata.
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        public static void clearEtags(Context context) {
 | 
				
			||||||
 | 
					            ContentValues values = new ContentValues(1);
 | 
				
			||||||
 | 
					            values.put(Cols.LAST_ETAG, (String) null);
 | 
				
			||||||
 | 
					            context.getContentResolver().update(getContentUri(), values, null, null);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private static final String PROVIDER_NAME = "RepoProvider";
 | 
					    private static final String PROVIDER_NAME = "RepoProvider";
 | 
				
			||||||
 | 
				
			|||||||
@ -22,6 +22,7 @@ import org.fdroid.fdroid.Languages;
 | 
				
			|||||||
import org.fdroid.fdroid.Preferences;
 | 
					import org.fdroid.fdroid.Preferences;
 | 
				
			||||||
import org.fdroid.fdroid.R;
 | 
					import org.fdroid.fdroid.R;
 | 
				
			||||||
import org.fdroid.fdroid.UpdateService;
 | 
					import org.fdroid.fdroid.UpdateService;
 | 
				
			||||||
 | 
					import org.fdroid.fdroid.data.RepoProvider;
 | 
				
			||||||
import org.fdroid.fdroid.installer.InstallHistoryService;
 | 
					import org.fdroid.fdroid.installer.InstallHistoryService;
 | 
				
			||||||
import org.fdroid.fdroid.installer.PrivilegedInstaller;
 | 
					import org.fdroid.fdroid.installer.PrivilegedInstaller;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -158,6 +159,10 @@ public class PreferencesFragment extends PreferenceFragment
 | 
				
			|||||||
                if (changing) {
 | 
					                if (changing) {
 | 
				
			||||||
                    Activity activity = getActivity();
 | 
					                    Activity activity = getActivity();
 | 
				
			||||||
                    Languages.setLanguage(activity, Preferences.get().getLanguage(), false);
 | 
					                    Languages.setLanguage(activity, Preferences.get().getLanguage(), false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    RepoProvider.Helper.clearEtags(getContext());
 | 
				
			||||||
 | 
					                    UpdateService.updateNow(getContext());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    Languages.forceChangeLanguage(activity);
 | 
					                    Languages.forceChangeLanguage(activity);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user