|
24 | 24 | import org.wordpress.android.R; |
25 | 25 | import org.wordpress.android.WordPress; |
26 | 26 | import org.wordpress.android.analytics.AnalyticsTracker; |
| 27 | +import org.wordpress.android.fluxc.model.SiteModel; |
27 | 28 | import org.wordpress.android.fluxc.network.MemorizingTrustManager; |
28 | 29 | import org.wordpress.android.fluxc.store.AccountStore.AuthEmailPayloadScheme; |
29 | 30 | import org.wordpress.android.fluxc.store.SiteStore; |
|
53 | 54 | import org.wordpress.android.ui.accounts.SmartLockHelper.Callback; |
54 | 55 | import org.wordpress.android.ui.accounts.login.LoginPrologueFragment; |
55 | 56 | import org.wordpress.android.ui.accounts.login.LoginPrologueListener; |
| 57 | +import org.wordpress.android.ui.main.SitePickerActivity; |
56 | 58 | import org.wordpress.android.ui.notifications.services.NotificationsUpdateServiceStarter; |
57 | 59 | import org.wordpress.android.ui.posts.BasicFragmentDialog; |
58 | 60 | import org.wordpress.android.ui.posts.BasicFragmentDialog.BasicDialogPositiveClickInterface; |
@@ -112,6 +114,7 @@ private enum SmartLockHelperState { |
112 | 114 | @Inject DispatchingAndroidInjector<Fragment> mFragmentInjector; |
113 | 115 | @Inject protected LoginAnalyticsListener mLoginAnalyticsListener; |
114 | 116 | @Inject ZendeskHelper mZendeskHelper; |
| 117 | + @Inject protected SiteStore mSiteStore; |
115 | 118 |
|
116 | 119 | @Override |
117 | 120 | protected void attachBaseContext(Context newBase) { |
@@ -191,7 +194,7 @@ private void showFragment(Fragment fragment, String tag) { |
191 | 194 | private void slideInFragment(Fragment fragment, boolean shouldAddToBackStack, String tag) { |
192 | 195 | FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); |
193 | 196 | fragmentTransaction.setCustomAnimations(R.anim.activity_slide_in_from_right, R.anim.activity_slide_out_to_left, |
194 | | - R.anim.activity_slide_in_from_left, R.anim.activity_slide_out_to_right); |
| 197 | + R.anim.activity_slide_in_from_left, R.anim.activity_slide_out_to_right); |
195 | 198 | fragmentTransaction.replace(R.id.fragment_container, fragment, tag); |
196 | 199 | if (shouldAddToBackStack) { |
197 | 200 | fragmentTransaction.addToBackStack(null); |
@@ -249,8 +252,26 @@ private void loggedInAndFinish(ArrayList<Integer> oldSitesIds, boolean doLoginUp |
249 | 252 | break; |
250 | 253 | case SHARE_INTENT: |
251 | 254 | case SELFHOSTED_ONLY: |
| 255 | + // We are comparing list of site ID's before self-hosted site was added and after, trying to find a |
| 256 | + // newly added self-hosted site's ID, so we can select it |
| 257 | + ArrayList<Integer> newSitesIds = new ArrayList<>(); |
| 258 | + for (SiteModel site : mSiteStore.getSites()) { |
| 259 | + newSitesIds.add(site.getId()); |
| 260 | + } |
| 261 | + newSitesIds.removeAll(oldSitesIds); |
| 262 | + |
| 263 | + if (newSitesIds.size() > 0) { |
| 264 | + Intent intent = new Intent(); |
| 265 | + intent.putExtra(SitePickerActivity.KEY_LOCAL_ID, newSitesIds.get(0)); |
| 266 | + setResult(Activity.RESULT_OK, intent); |
| 267 | + } else { |
| 268 | + AppLog.e(T.MAIN, "Couldn't detect newly added self-hosted site. " |
| 269 | + + "Expected at least 1 site ID but was 0."); |
| 270 | + ToastUtils.showToast(this, R.string.site_picker_failed_selecting_added_site); |
| 271 | + setResult(Activity.RESULT_OK); |
| 272 | + } |
| 273 | + |
252 | 274 | // skip the epilogue when only added a self-hosted site or sharing to WordPress |
253 | | - setResult(Activity.RESULT_OK); |
254 | 275 | finish(); |
255 | 276 | break; |
256 | 277 | } |
@@ -501,8 +522,8 @@ public void needs2faSocial(String email, String userId, String nonceAuthenticato |
501 | 522 | dismissSignupSheet(); |
502 | 523 | mLoginAnalyticsListener.trackLoginSocial2faNeeded(); |
503 | 524 | Login2FaFragment login2FaFragment = Login2FaFragment.newInstanceSocial(email, userId, |
504 | | - nonceAuthenticator, nonceBackup, |
505 | | - nonceSms); |
| 525 | + nonceAuthenticator, nonceBackup, |
| 526 | + nonceSms); |
506 | 527 | slideInFragment(login2FaFragment, true, Login2FaFragment.TAG); |
507 | 528 | } |
508 | 529 |
|
@@ -665,7 +686,7 @@ public void saveCredentialsInSmartLock(@Nullable final String username, @Nullabl |
665 | 686 | } |
666 | 687 |
|
667 | 688 | mSmartLockHelper.saveCredentialsInSmartLock(StringUtils.notNullStr(username), StringUtils.notNullStr(password), |
668 | | - displayName, profilePicture); |
| 689 | + displayName, profilePicture); |
669 | 690 | } |
670 | 691 |
|
671 | 692 | @Override |
|
0 commit comments