Buggy code:
ControllerAndroidUi controllerUi ; private boolean mShowRepairDialog = false ; private OnClickListener mButtonClickListener = new View . OnClickListener ( ) { @ Override public void onClick ( View v ) { } } ; private OnCheckedChangeListener mLimitTagCheckedChangeListener = new CompoundButton . OnCheckedChangeListener ( ) { @ Override public void onCheckedChanged ( CompoundButton buttonView , boolean isChecked ) { } } ; Handler ZeemoteHandler = new Handler ( ) { public void handleMessage ( Message msg ) { } } ; private Boolean isValidInt ( String test ) { } protected void sendKey ( int keycode ) { } private Boolean isValidLong ( String test ) { } private OnClickListener mDialogSaveListener = new DialogInterface . OnClickListener ( ) { @ Override public void onClick ( DialogInterface dialog , int which ) { } } ; @ Override protected void onCreate ( Bundle savedInstanceState ) { } public static int getApiLevel ( ) { } @ Override public void onConfigurationChanged ( Configuration newConfig ) { } public void registerExternalStorageListener ( ) { } @ Override protected void onDestroy ( ) { } @ Override protected void onPause ( ) { } @ Override protected void onStop ( ) { } @ Override protected void onResume ( ) { } @ Override public boolean onKeyDown ( int keyCode , KeyEvent event ) { } private void closeStudyOptions ( ) { } private void closeStudyOptions ( boolean closeDeck ) { } private void restartApp ( ) { } private void openReviewer ( ) { } private void startEarlyReview ( ) { } private void startLearnMore ( ) { } private void loadPreviousDeck ( ) { } private boolean hasErrorFiles ( ) { } private void initAllContentViews ( ) { } private OnClickListener mSyncConflictResolutionListener = new OnClickListener ( ) { @ Override public void onClick ( DialogInterface dialog , int which ) { } } ; private OnClickListener mStatisticListener = new OnClickListener ( ) { @ Override public void onClick ( DialogInterface dialog , int which ) { } } ; @ Override protected Dialog onCreateDialog ( int id ) { } @ Override protected void onPrepareDialog ( int id , Dialog dialog ) { } private void showContentView ( int which ) { } private void showContentView ( ) { } private void updateLimitTagText ( int which , String tags ) { } private String getSelectedTags ( int which ) { } public static String getCongratsMessage ( Context context , int failedCards , int revCards , int newCards , int eta ) { } private void resetAndUpdateValuesFromDeck ( ) { } private void hideDeckInformation ( boolean fade ) { } private void showDeckInformation ( boolean fade ) { } private boolean updateValuesFromDeck ( ) { } private void updateStatisticBars ( ) { } private void onCram ( ) { } private void onCramStop ( ) { } @ Override protected void onSaveInstanceState ( Bundle outState ) { } @ Override public boolean onCreateOptionsMenu ( Menu menu ) { } @ Override public boolean onPrepareOptionsMenu ( Menu menu ) { } @ Override public boolean onOptionsItemSelected ( MenuItem item ) { } private void openDeckPicker ( ) { } private void finishCongrats ( ) { } private void openCardBrowser ( ) { } private void openStatistics ( int period ) { } public void openPersonalDeckPicker ( ) { } public void openSharedDeckPicker ( ) { } private void loadSampleDeck ( ) { } private void syncDeckWithPrompt ( ) { } private void syncDeck ( String conflictResolution ) { } @ Override protected void onActivityResult ( int requestCode , int resultCode , Intent intent ) { } private boolean showDeckPickerOnStartup ( ) { } private void savePreferences ( String str ) { } private SharedPreferences restorePreferences ( ) { } private String getVersion ( ) { } private String getVersionMessage ( ) { } private void setLanguage ( String language ) { Locale locale ; if ( language . equals ( "" ) ) { <START_BUG> return ; <END_BUG> } else { locale = new Locale ( language ) ; } Configuration config = new Configuration ( ) ; config . locale = locale ; this . getResources ( ) . updateConfiguration ( config , this . getResources ( ) . getDisplayMetrics ( ) ) ; } private void displayProgressDialogAndLoadDeck ( ) { } private void displayProgressDialogAndLoadDeck ( boolean updateAllCards ) { } TaskListener mRepairDeckHandler = new DeckTask . TaskListener ( ) { @ Override public void onPreExecute ( ) { } @ Override public void onPostExecute ( DeckTask . TaskData result ) { } @ Override public void onProgressUpdate ( TaskData ... values ) { } } ; TaskListener mRestoreDeckHandler = new DeckTask . TaskListener ( ) { @ Override public void onPreExecute ( ) { } @ Override public void onPostExecute ( DeckTask . TaskData result ) { } @ Override public void onProgressUpdate ( TaskData ... values ) { } } ; TaskListener mLoadDeckHandler = new DeckTask . TaskListener ( ) { @ Override public void onPreExecute ( ) { } @ Override public void onPostExecute ( DeckTask . TaskData result ) { } @ Override public void onProgressUpdate ( DeckTask ... values ) { } } ; Connection . TaskListener mSyncListener = new Connection . TaskListener ( ) { @ Override public void onDisconnected ( ) { } @ Override public void onPostExecute ( Payload data ) { } @ Override public void onPreExecute ( ) { } @ Override public void onProgressUpdate ( Object ... values ) { } } ; TaskListener mLoadStatisticsHandler = new DeckTask . TaskListener ( ) { @ Override public void onPostExecute ( DeckTask . TaskData result ) { } @ Override public void onPreExecute ( ) { } @ Override public void onProgressUpdate ( DeckTask ... values ) { } } ; TaskListener mSaveAndResetDeckHandler = new DeckTask . TaskListener ( ) { @ Override public void onPreExecute ( ) { } @ Override public void onPostExecute ( DeckTask . TaskData result ) { }

Fix:
locale = Locale . getDefault ( ) ;