diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 65711b6..071f715 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -19,7 +19,7 @@ android:supportsRtl="true" android:theme="@style/AppTheme"> - + diff --git a/app/src/main/java/org/houxg/leamonax/ui/LeaLaunchActivity.java b/app/src/main/java/org/houxg/leamonax/ui/LaunchActivity.java similarity index 87% rename from app/src/main/java/org/houxg/leamonax/ui/LeaLaunchActivity.java rename to app/src/main/java/org/houxg/leamonax/ui/LaunchActivity.java index 971d24c..1c0ba59 100644 --- a/app/src/main/java/org/houxg/leamonax/ui/LeaLaunchActivity.java +++ b/app/src/main/java/org/houxg/leamonax/ui/LaunchActivity.java @@ -8,7 +8,7 @@ import org.houxg.leamonax.model.Account; import org.houxg.leamonax.network.ApiProvider; import org.houxg.leamonax.service.AccountService; -public class LeaLaunchActivity extends Activity { +public class LaunchActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { @@ -17,7 +17,7 @@ public class LeaLaunchActivity extends Activity { if (AccountService.isSignedIn()) { Account account = AccountService.getCurrent(); ApiProvider.getInstance().init(account.getHost()); - intent = new Intent(this, MainActivity.class); + intent = MainActivity.getOpenIntent(this, false); } else { intent = new Intent(this, SignInActivity.class); } diff --git a/app/src/main/java/org/houxg/leamonax/ui/MainActivity.java b/app/src/main/java/org/houxg/leamonax/ui/MainActivity.java index f38ee89..aa09cc3 100644 --- a/app/src/main/java/org/houxg/leamonax/ui/MainActivity.java +++ b/app/src/main/java/org/houxg/leamonax/ui/MainActivity.java @@ -87,7 +87,7 @@ public class MainActivity extends BaseActivity implements NotebookAdapter.Notebo getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu_white); if (savedInstanceState == null) { - mNoteFragment = NoteFragment.newInstance(); + mNoteFragment = NoteFragment.newInstance(getIntent().getBooleanExtra(EXT_SHOULD_RELOAD, false)); getFragmentManager().beginTransaction().add(R.id.container, mNoteFragment, TAG_NOTE_FRAGMENT).commit(); } else { mNoteFragment = (NoteFragment) getFragmentManager().findFragmentByTag(TAG_NOTE_FRAGMENT); diff --git a/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java b/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java index de1b2ed..ec5ffdc 100644 --- a/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java +++ b/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java @@ -32,6 +32,7 @@ import org.houxg.leamonax.model.Note; import org.houxg.leamonax.model.SyncEvent; import org.houxg.leamonax.service.NoteService; import org.houxg.leamonax.utils.DisplayUtils; +import org.houxg.leamonax.utils.NetworkUtils; import org.houxg.leamonax.utils.ToastUtils; import java.util.Locale; @@ -48,6 +49,7 @@ public class NoteFragment extends Fragment implements NoteAdapter.NoteAdapterLis private static final String TAG = "NoteFragment"; private static final String EXT_SCROLL_POSITION = "ext_scroll_position"; + private static final String EXT_SHOULD_FETCH_NOTES = "ext_should_fetch_notes"; public static final int RECENT_NOTES = -1; @@ -64,8 +66,12 @@ public class NoteFragment extends Fragment implements NoteAdapter.NoteAdapterLis public NoteFragment() { } - public static NoteFragment newInstance() { - return new NoteFragment(); + public static NoteFragment newInstance(boolean shouldFetchNotes) { + NoteFragment fragment = new NoteFragment(); + Bundle bundle = new Bundle(); + bundle.putBoolean(EXT_SHOULD_FETCH_NOTES, shouldFetchNotes); + fragment.setArguments(bundle); + return fragment; } @Nullable @@ -87,8 +93,7 @@ public class NoteFragment extends Fragment implements NoteAdapter.NoteAdapterLis mSwipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { - //TODO:check network - NoteSyncService.startServiceForNote(getActivity()); + syncNotes(); } }); @@ -108,12 +113,30 @@ public class NoteFragment extends Fragment implements NoteAdapter.NoteAdapterLis return view; } + private void syncNotes() { + if (!NetworkUtils.isNetworkAvailable(getActivity())) { + ToastUtils.showNetworkUnavailable(getActivity()); + return; + } + NoteSyncService.startServiceForNote(getActivity()); + } + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); EventBus.getDefault().register(this); if (savedInstanceState == null) { mAdapter.loadFromLocal(); + if (getArguments().getBoolean(EXT_SHOULD_FETCH_NOTES, false)) { + mSwipeRefresh.postDelayed(new Runnable() { + @Override + public void run() { + Log.i(TAG, "fetch notes"); + mSwipeRefresh.setRefreshing(true); + syncNotes(); + } + }, 200); + } } if (savedInstanceState != null) { mScrollPosition = savedInstanceState.getFloat(EXT_SCROLL_POSITION, 0); @@ -149,10 +172,6 @@ public class NoteFragment extends Fragment implements NoteAdapter.NoteAdapterLis } } - public void loadNoteWithTag(String tag) { - mAdapter.loadFromLocal(); - } - @Override public void onClickNote(Note note) { startActivity(NotePreviewActivity.getOpenIntent(getActivity(), note.getId())); diff --git a/app/src/main/java/org/houxg/leamonax/ui/SignInActivity.java b/app/src/main/java/org/houxg/leamonax/ui/SignInActivity.java index f6f750b..8d783b8 100644 --- a/app/src/main/java/org/houxg/leamonax/ui/SignInActivity.java +++ b/app/src/main/java/org/houxg/leamonax/ui/SignInActivity.java @@ -155,7 +155,7 @@ public class SignInActivity extends BaseActivity implements TextWatcher { startActivity(intent); finish(); } else { - ToastUtils.show(SignInActivity.this, R.string.wron_email_or_password); + ToastUtils.show(SignInActivity.this, R.string.email_or_password_incorrect); } } }); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f2eeeba..06b9ee9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -29,7 +29,7 @@ Change password failed Choose notebook Delete note failed - Wrong email or password + Email or password is incorrect Network error Untitled Yesterday %s