@Implementation protected void setText(int resId) { this.text = RuntimeEnvironment.application.getString(resId); }
@Override protected void onPreExecute() { mPrefs = PreferenceManager.getDefaultSharedPreferences(app); // Check if user has enabled/ disabled update checking // and if the current apk is a github one or not. if (!mPrefs.getBoolean(app.getString(R.string.update_app_key), true) || !isGithubApk()) { this.cancel(true); } }
/** * Method to compare the current and latest available app version. * If a newer version is available, we show the update notification. * @param versionName * @param apkLocationUrl */ private void compareAppVersionAndShowNotification(String versionName, String apkLocationUrl, String versionCode) { int NOTIFICATION_ID = 2000; if (BuildConfig.VERSION_CODE < Integer.valueOf(versionCode)) { // A pending intent to open the apk location url in the browser. Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(apkLocationUrl)); PendingIntent pendingIntent = PendingIntent.getActivity(app, 0, intent, 0); NotificationCompat.Builder notificationBuilder = new NotificationCompat .Builder(app, app.getString(R.string.app_update_notification_channel_id)) .setSmallIcon(R.drawable.ic_newpipe_update) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setContentIntent(pendingIntent) .setAutoCancel(true) .setContentTitle(app.getString(R.string.app_update_notification_content_title)) .setContentText(app.getString(R.string.app_update_notification_content_text) + " " + versionName); NotificationManagerCompat notificationManager = NotificationManagerCompat.from(app); notificationManager.notify(NOTIFICATION_ID, notificationBuilder.build()); } }
@Test public void testNoMigrate() { assertFalse(PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .contains(RuntimeEnvironment.application.getString(oldKey))); Preferences.migrate(RuntimeEnvironment.application); assertNull(RuntimeEnvironment.application.getString(newValue), PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .getString(RuntimeEnvironment.application.getString(newKey), null)); }
@Test public void testMigrate() { PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .edit() .putBoolean(RuntimeEnvironment.application.getString(oldKey), oldValue) .apply(); assertTrue(PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .contains(RuntimeEnvironment.application.getString(oldKey))); Preferences.migrate(RuntimeEnvironment.application); assertFalse(PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .contains(RuntimeEnvironment.application.getString(oldKey))); assertEquals(RuntimeEnvironment.application.getString(newValue), PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .getString(RuntimeEnvironment.application.getString(newKey), null)); }
@Test public void testNoMigrateDefault() { PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .edit() .putBoolean(RuntimeEnvironment.application.getString(oldKey), !oldValue) .apply(); assertTrue(PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .contains(RuntimeEnvironment.application.getString(oldKey))); Preferences.migrate(RuntimeEnvironment.application); assertFalse(PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .contains(RuntimeEnvironment.application.getString(oldKey))); assertNull(RuntimeEnvironment.application.getString(newValue), PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .getString(RuntimeEnvironment.application.getString(newKey), null)); } }
private void assertThatHasExpectedButtonsAndRationale(Dialog dialog, int rationale, int positive, int negative) { TextView dialogMessage = dialog.findViewById(android.R.id.message); assertThat(dialogMessage.getText().toString()).isEqualTo(app.getString(rationale)); TextView positiveMessage = dialog.findViewById(android.R.id.button1); assertThat(positiveMessage.getText().toString()).isEqualTo(app.getString(positive)); TextView negativeMessage = dialog.findViewById(android.R.id.button2); assertThat(negativeMessage.getText().toString()).isEqualTo(app.getString(negative)); }
private void assertThatHasExpectedButtonsAndRationale(Dialog dialog, String rationale, int positive, int negative) { TextView dialogMessage = dialog.findViewById(android.R.id.message); assertThat(dialogMessage.getText().toString()).isEqualTo(rationale); TextView positiveMessage = dialog.findViewById(android.R.id.button1); assertThat(positiveMessage.getText().toString()).isEqualTo(app.getString(positive)); TextView negativeMessage = dialog.findViewById(android.R.id.button2); assertThat(negativeMessage.getText().toString()).isEqualTo(app.getString(negative)); }
@Test public void testUpdateBest() { RuntimeEnvironment.application.getSharedPreferences("WidgetConfiguration_" + appWidgetId, MODE_PRIVATE) .edit() .putString(RuntimeEnvironment.application.getString(R.string.pref_widget_theme), RuntimeEnvironment.application.getString(R.string.pref_widget_theme_value_dark)) .putString(RuntimeEnvironment.application.getString(R.string.pref_widget_section), RuntimeEnvironment.application.getString(R.string.pref_widget_section_value_best)) .apply(); widgetProvider.onReceive(RuntimeEnvironment.application, new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE) .putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[]{appWidgetId})); View view = shadowOf(widgetManager).getViewFor(appWidgetId); assertThat((TextView) view.findViewById(R.id.title)) .containsText(R.string.title_activity_best); assertThat((TextView) view.findViewById(R.id.subtitle)) .doesNotContainText(R.string.loading_text); }
@Test public void testRefreshQuery() { RuntimeEnvironment.application.getSharedPreferences("WidgetConfiguration_" + appWidgetId, MODE_PRIVATE) .edit() .putString(RuntimeEnvironment.application.getString(R.string.pref_widget_theme), RuntimeEnvironment.application.getString(R.string.pref_widget_theme_value_light)) .putString(RuntimeEnvironment.application.getString(R.string.pref_widget_query), "Google") .apply(); widgetProvider.onReceive(RuntimeEnvironment.application, new Intent(BuildConfig.APPLICATION_ID + ".ACTION_REFRESH_WIDGET") .putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId)); View view = shadowOf(widgetManager).getViewFor(appWidgetId); assertThat((TextView) view.findViewById(R.id.title)) .containsText("Google"); assertThat((TextView) view.findViewById(R.id.subtitle)) .doesNotContainText(R.string.loading_text); } }
@Before public void setUp() { MockitoAnnotations.initMocks(this); TestApplication.applicationGraph.inject(this); reset(hackerNewsClient); shadowOf((ConnectivityManager) RuntimeEnvironment.application .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, ConnectivityManager.TYPE_WIFI, 0, true, NetworkInfo.State.CONNECTED)); PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .edit() .putString(RuntimeEnvironment.application.getString(R.string.pref_comment_display), RuntimeEnvironment.application.getString(R.string.pref_comment_display_value_multiple)) .putBoolean(RuntimeEnvironment.application.getString(R.string.pref_lazy_load), false) .apply(); controller = Robolectric.buildActivity(TestItemActivity.class); activity = controller.create().start().resume().get(); }
@Test public void testNavigationDrawerClickListenerPos1_ShouldReplaceHomePagerFragmentToContainer() { mainActivity.onNavigationItemSelected(getMockMenuItem(R.id.navigation_home, "HomeTitle")); String expectedString = RuntimeEnvironment.application.getString(R.string.app_name); assertFragmentInstanceAndSupportActionBarTitle(HomePagerFragment.class, expectedString); }
PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .edit() .putString(RuntimeEnvironment.application.getString(R.string.pref_comment_display), RuntimeEnvironment.application.getString(R.string.pref_comment_display_value_collapsed)) .apply(); final TestItem item0 = new TestItem() { // level 0
@Test public void testGetDisplayedTime() { item.populate(new TestItem() { @Override public long getTime() { return 1429027200l; // Apr 15 2015 } @Override public String getBy() { return "author"; } }); assertThat(item.getDisplayedAuthor(RuntimeEnvironment.application, true, 0)) .contains(" - author"); assertThat(item.getDisplayedAuthor(RuntimeEnvironment.application, false, 0)) .contains(" - author"); item.populate(new TestItem() { @Override public String getBy() { return "author"; } @Override public boolean isDead() { return true; } }); assertThat(item.getDisplayedTime(RuntimeEnvironment.application)) .contains(RuntimeEnvironment.application.getString(R.string.dead_prefix)); }
@Test public void testScheduledJob() { PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .edit() .putBoolean(RuntimeEnvironment.application.getString(R.string.pref_saved_item_sync), true) .apply(); shadowOf((ConnectivityManager) RuntimeEnvironment.application .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, ConnectivityManager.TYPE_WIFI, 0, true, NetworkInfo.State.CONNECTED)); new SyncScheduler().scheduleSync(RuntimeEnvironment.application, "1"); List<JobInfo> pendingJobs = shadowOf((JobScheduler) RuntimeEnvironment.application .getSystemService(Context.JOB_SCHEDULER_SERVICE)).getAllPendingJobs(); assertThat(pendingJobs).isNotEmpty(); JobInfo actual = pendingJobs.get(0); assertThat(actual.getService().getClassName()) .isEqualTo(ItemSyncJobService.class.getName()); }
@Test public void testParseValidKey() { final int res = subject.getTitleRes("com.zegoggles.smssync.activity.fragments.AutoBackupSettings"); assertThat(res).isGreaterThan(0); String resolved = RuntimeEnvironment.application.getString(res); assertThat(resolved).isEqualTo("Auto backup settings"); }
@Test public void getErrorMessage_returnsErrorMessageForNoCardTypeWhenNotEmpty() { type("4"); String expectedMessage = RuntimeEnvironment.application.getString(R.string.bt_cvv_invalid, RuntimeEnvironment.application.getString(R.string.bt_cvv)); assertEquals(expectedMessage, mView.getErrorMessage()); }
@Test public void getErrorMessage_returnsErrorMessageWhenEmpty() { assertEquals(RuntimeEnvironment.application.getString(R.string.bt_postal_code_required), mView.getErrorMessage()); } }
@Test public void getErrorMessage_returnsErrorMessageWhenEmpty() { assertEquals(RuntimeEnvironment.application.getString(R.string.bt_country_code_required), mView.getErrorMessage()); } }
@Test public void hintDefaultsToCvv() { assertEquals(((TextInputLayout) mView.getParent().getParent()).getHint(), RuntimeEnvironment.application.getString(R.string.bt_cvv)); }