From 8d4cb444a03ff2cd682460a45c54dccaf8ca43ed Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Fri, 6 Dec 2013 12:35:34 +0100 Subject: [PATCH 1/2] cleaning and fixing NPE - ref #406 --- res/layout/activity_welcome.xml | 33 +------ .../android/ui/WPActionBarActivity.java | 1 - .../android/ui/accounts/WelcomeActivity.java | 95 +++---------------- .../ui/accounts/WelcomeFragmentSignIn.java | 2 +- 4 files changed, 20 insertions(+), 111 deletions(-) diff --git a/res/layout/activity_welcome.xml b/res/layout/activity_welcome.xml index 80065db0ba98..30d6c19fdbe1 100644 --- a/res/layout/activity_welcome.xml +++ b/res/layout/activity_welcome.xml @@ -6,35 +6,10 @@ android:orientation="vertical" android:baselineAligned="true"> - - - - - - - - - + android:layout_height="match_parent" /> \ No newline at end of file diff --git a/src/org/wordpress/android/ui/WPActionBarActivity.java b/src/org/wordpress/android/ui/WPActionBarActivity.java index 1fbf48466a87..31e17333341a 100644 --- a/src/org/wordpress/android/ui/WPActionBarActivity.java +++ b/src/org/wordpress/android/ui/WPActionBarActivity.java @@ -484,7 +484,6 @@ public void setupCurrentBlog() { Intent intent = new Intent(this, WelcomeActivity.class); intent.putExtra("request", WelcomeActivity.SIGN_IN_REQUEST); startActivityForResult(intent, ADD_ACCOUNT_REQUEST); - return; } } diff --git a/src/org/wordpress/android/ui/accounts/WelcomeActivity.java b/src/org/wordpress/android/ui/accounts/WelcomeActivity.java index d0ae080edb4d..18dc77a30feb 100644 --- a/src/org/wordpress/android/ui/accounts/WelcomeActivity.java +++ b/src/org/wordpress/android/ui/accounts/WelcomeActivity.java @@ -2,40 +2,20 @@ import android.content.Intent; import android.os.Bundle; -import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentStatePagerAdapter; import com.actionbarsherlock.app.SherlockFragmentActivity; import com.actionbarsherlock.view.Window; import org.wordpress.android.R; -import org.wordpress.android.util.WPViewPager; - +// TODO: this will probably be merged with New Account Activity (maybe add a tab bar) public class WelcomeActivity extends SherlockFragmentActivity { - /** - * The number of pages (wizard steps) - */ - private static final int NUM_PAGES = 1; // TODO: this will probably be merged with New - // Account Activity public static final int SIGN_IN_REQUEST = 1; public static final int ADD_SELF_HOSTED_BLOG = 2; public static final int CREATE_ACCOUNT_REQUEST = 3; - public static String START_FRAGMENT_KEY = "start-fragment"; - /** - * The pager widget, which handles animation and allows swiping horizontally to access previous - * and next wizard steps. - */ - private WPViewPager mPager; - - /** - * The pager adapter, which provides the pages to the view pager widget. - */ - private NewAccountPagerAdapter mPagerAdapter; - private int mActionMode; private WelcomeFragmentSignIn mWelcomeFragmentSignIn; @Override @@ -43,67 +23,23 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_welcome); - - // Instantiate a ViewPager and a PagerAdapter. - mPager = (WPViewPager) findViewById(R.id.pager); - mPager.setPagingEnabled(false); - mPagerAdapter = new NewAccountPagerAdapter(super.getSupportFragmentManager()); - mPager.setAdapter(mPagerAdapter); - - Bundle extras = getIntent().getExtras(); - mActionMode = SIGN_IN_REQUEST; - if (extras != null) { - mActionMode = extras.getInt(START_FRAGMENT_KEY, -1); - } - } - - public void showNextItem() { - mPager.setCurrentItem(mPager.getCurrentItem() + 1); - } - - public void showPrevItem() { - if (mPager.getCurrentItem() == 0) - return; - mPager.setCurrentItem(mPager.getCurrentItem() - 1); + FragmentManager fragmentManager = getSupportFragmentManager(); + mWelcomeFragmentSignIn = (WelcomeFragmentSignIn) fragmentManager. + findFragmentById(R.id.sign_in_fragment); + actionMode(getIntent().getExtras()); } - @Override - public void onBackPressed() { - if (mPager.getCurrentItem() == 0) - super.onBackPressed(); - if (mPager.getPreviousPage() < mPager.getCurrentItem()) - mPager.setCurrentItem(mPager.getPreviousPage()); - else - showPrevItem(); - } - - private class NewAccountPagerAdapter extends FragmentStatePagerAdapter { - public NewAccountPagerAdapter(FragmentManager fm) { - super(fm); - } - - @Override - public Fragment getItem(int position) { - NewAccountAbstractPageFragment currentPage = null; - Bundle args = new Bundle(); - - switch (position) { - default: - mWelcomeFragmentSignIn = new WelcomeFragmentSignIn(); - if (mActionMode == ADD_SELF_HOSTED_BLOG) { - mWelcomeFragmentSignIn.setForceSelfHostedMode(true); - } - currentPage = mWelcomeFragmentSignIn; - break; - } - - currentPage.setArguments(args); - return currentPage; + private void actionMode(Bundle extras) { + int actionMode = SIGN_IN_REQUEST; + if (extras != null) { + actionMode = extras.getInt(START_FRAGMENT_KEY, -1); } - - @Override - public int getCount() { - return NUM_PAGES; + switch (actionMode) { + case ADD_SELF_HOSTED_BLOG: + mWelcomeFragmentSignIn.forceSelfHostedMode(); + break; + default: + break; } } @@ -113,7 +49,6 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK && data != null) { String username = data.getStringExtra("username"); if (username != null) { - mPager.setCurrentItem(1); mWelcomeFragmentSignIn.signInDotComUser(); } } diff --git a/src/org/wordpress/android/ui/accounts/WelcomeFragmentSignIn.java b/src/org/wordpress/android/ui/accounts/WelcomeFragmentSignIn.java index dabd0666eb63..f11aaff585b4 100644 --- a/src/org/wordpress/android/ui/accounts/WelcomeFragmentSignIn.java +++ b/src/org/wordpress/android/ui/accounts/WelcomeFragmentSignIn.java @@ -114,7 +114,7 @@ public void setForceSelfHostedMode(boolean force) { * Hide toggle button "add self hosted / sign in with WordPress.com" and show self hosted URL * edit box */ - private void forceSelfHostedMode() { + public void forceSelfHostedMode() { mUrlButtonLayout.setVisibility(View.VISIBLE); mAddSelfHostedButton.setVisibility(View.GONE); mCreateAccountButton.setVisibility(View.GONE); From 4b82fb978d094c537204d0d242d0f75e99020966 Mon Sep 17 00:00:00 2001 From: Maxime Biais Date: Fri, 6 Dec 2013 12:48:57 +0100 Subject: [PATCH 2/2] remove unused function --- .../android/ui/accounts/WelcomeFragmentSignIn.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/org/wordpress/android/ui/accounts/WelcomeFragmentSignIn.java b/src/org/wordpress/android/ui/accounts/WelcomeFragmentSignIn.java index f11aaff585b4..381f030640a4 100644 --- a/src/org/wordpress/android/ui/accounts/WelcomeFragmentSignIn.java +++ b/src/org/wordpress/android/ui/accounts/WelcomeFragmentSignIn.java @@ -49,7 +49,6 @@ public class WelcomeFragmentSignIn extends NewAccountAbstractPageFragment implem private String mHttpPassword = ""; private EmailChecker mEmailChecker; private boolean mEmailAutoCorrected; - private boolean mForceSelfHosted; public WelcomeFragmentSignIn() { mEmailChecker = new EmailChecker(); @@ -100,16 +99,9 @@ public void onFocusChange(View v, boolean hasFocus) { } } }); - if (mForceSelfHosted) { - forceSelfHostedMode(); - } return rootView; } - public void setForceSelfHostedMode(boolean force) { - mForceSelfHosted = force; - } - /** * Hide toggle button "add self hosted / sign in with WordPress.com" and show self hosted URL * edit box