Android Open Source - Learn-From-Me Create Letter Fragment From Project Back to project page Learn-From-Me .
License The source code is released under:
Apache License
If you think the Android project Learn-From-Me listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.overnightApps.myapplication.app.ui.homeFragments;
/ / w w w . j a v a 2 s . c o m
import android.app.AlertDialog;
import android.app.Fragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Toast;
import com.overnightApps.myapplication.app.R;
import com.overnightApps.myapplication.app.core.Letter;
import com.overnightApps.myapplication.app.service.LetterSender;
import com.overnightApps.myapplication.app.service.UserSession;
import com.overnightApps.myapplication.app.ui.FragmentIds;
import com.overnightApps.myapplication.app.ui.homeFragments.absFragments.HomeFragment;
import com.overnightApps.myapplication.app.util.AUtil;
import com.overnightApps.myapplication.app.util.Logger;
import com.overnightApps.myapplication.app.util.MyAssert;
import junit.framework.Assert;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
/**
* A placeholder fragment containing a simple view.
*/
public class CreateLetterFragment extends HomeFragment {
private static final String USER_SERVICE_ARG = "userServiceArg" ;
private static final String LETTER_SERVICE_ARG = "letterServiceArg" ;
@InjectView(R.id.et_shareStory)
EditText et_shareStory;
@InjectView(R.id.ib_recipients)
ImageButton ib_recipients;
@InjectView(R.id.et_recipients)
EditText et_recipients;
private UserSession userSession;
private Letter originalLetter;
public CreateLetterFragment() {
}
public static Fragment newInstance(UserSession userSession, Letter original) {
Bundle arguments = new Bundle();
arguments.putSerializable(USER_SERVICE_ARG, userSession);
arguments.putSerializable(LETTER_SERVICE_ARG, original);
CreateLetterFragment createLetterFragment = new CreateLetterFragment();
createLetterFragment.setArguments(arguments);
return createLetterFragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Assert.assertNotNull(getArguments());
userSession = (UserSession) getArguments().getSerializable(USER_SERVICE_ARG);
originalLetter = (Letter) getArguments().getSerializable(LETTER_SERVICE_ARG);
Assert.assertNotNull(userSession);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_create_letter, container, false);
ButterKnife.inject(this , rootView);
return rootView;
}
@OnClick(R.id.ib_recipients)
public void toggleRecipients(ImageButton imageButton){
if (et_recipients.getVisibility()==View.VISIBLE){
et_recipients.setVisibility(View.INVISIBLE);
}else if (et_recipients.getVisibility()==View.INVISIBLE){
et_recipients.setVisibility(View.VISIBLE);
}else {
MyAssert.assertShouldNotReachHere();
}
}
@OnClick(R.id.ib_signature)
public void signLetter(ImageButton imageButton){
final String initialRecipients = cleanRecipients((AUtil.extractString(et_recipients)));
final String message = AUtil.extractString(et_shareStory);
if (isBlank(message)){
Toast.makeText(getActivity(), "Your message can not be empty" , Toast.LENGTH_LONG).show();
}
final DialogInterface.OnClickListener onClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE || which == DialogInterface.BUTTON_NEGATIVE){
LetterSender letterSender;
if (which == DialogInterface.BUTTON_POSITIVE){
letterSender = LetterSender.newPublicInstance(originalLetter,
userSession.getCurrentUser());
}else {
letterSender = LetterSender.newPrivateInstance(originalLetter,
userSession.getCurrentUser());
}
letterSender.sendLetter(initialRecipients, message);
Logger.p(getActivity(),"Letter posted publicly" );
getActivity().getFragmentManager().popBackStack();
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("Is Your letter ready to be signed and sent?" ).setPositiveButton(("Sign Publicly" ),
onClickListener)
.setNeutralButton("Cancel" , onClickListener)
.setNegativeButton("Sign Privately" ,onClickListener)
.show();
}
private String cleanRecipients(String initialRecipients) {
final String finalRecipients;
if (isBlank(initialRecipients)){
finalRecipients = "Learn From Me" ;
}else {
finalRecipients = initialRecipients;
}
return finalRecipients;
}
private boolean isBlank(String recipients) {
return recipients.equals("" );
}
@Override
public void onDestroyView() {
super.onDestroyView();
ButterKnife.reset(this );
}
@Override
public int getFragmentId() {
return FragmentIds.CREATE_LETTER.getId();
}
}
Java Source Code List com.overnightApps.myapplication.app.CustomApplication.java com.overnightApps.myapplication.app.core.Comment.java com.overnightApps.myapplication.app.core.FriendShipRequest.java com.overnightApps.myapplication.app.core.Friendship.java com.overnightApps.myapplication.app.core.LetterRecommendation.java com.overnightApps.myapplication.app.core.LetterVote.java com.overnightApps.myapplication.app.core.Letter.java com.overnightApps.myapplication.app.core.User.java com.overnightApps.myapplication.app.core.helper.LetterWithUserVote.java com.overnightApps.myapplication.app.core.helper.SignUpForm.java com.overnightApps.myapplication.app.dao.CommentDao.java com.overnightApps.myapplication.app.dao.Dao.java com.overnightApps.myapplication.app.dao.FriendshipDao.java com.overnightApps.myapplication.app.dao.FriendshipRequestDao.java com.overnightApps.myapplication.app.dao.LetterDao.java com.overnightApps.myapplication.app.dao.LetterRecommendationDao.java com.overnightApps.myapplication.app.dao.LetterVoteDao.java com.overnightApps.myapplication.app.dao.UserDao.java com.overnightApps.myapplication.app.dao.exceptions.DataClassNotFoundException.java com.overnightApps.myapplication.app.dao.exceptions.SavedUserIsNotFoundOnBackEndException.java com.overnightApps.myapplication.app.dao.exceptions.UnableToSignUpException.java com.overnightApps.myapplication.app.service.FriendshipSession.java com.overnightApps.myapplication.app.service.LetterSender.java com.overnightApps.myapplication.app.service.LetterVoter.java com.overnightApps.myapplication.app.service.PrivateLetterSender.java com.overnightApps.myapplication.app.service.PublicLetterSender.java com.overnightApps.myapplication.app.service.RecommendationCreator.java com.overnightApps.myapplication.app.service.SignUpFormVerifier.java com.overnightApps.myapplication.app.service.SignUpSubmissionBuilder.java com.overnightApps.myapplication.app.service.SignUpSubmission.java com.overnightApps.myapplication.app.service.UserLogIn.java com.overnightApps.myapplication.app.service.UserSession.java com.overnightApps.myapplication.app.ui.FragmentIds.java com.overnightApps.myapplication.app.ui.HomeActivity.java com.overnightApps.myapplication.app.ui.homeFragments.CommentsFragment.java com.overnightApps.myapplication.app.ui.homeFragments.CreateLetterFragment.java com.overnightApps.myapplication.app.ui.homeFragments.FriendRequestsFragment.java com.overnightApps.myapplication.app.ui.homeFragments.FriendsFragment.java com.overnightApps.myapplication.app.ui.homeFragments.LearnFragment.java com.overnightApps.myapplication.app.ui.homeFragments.LogInDialogFragment.java com.overnightApps.myapplication.app.ui.homeFragments.ReceiveRecommendationsFragment.java com.overnightApps.myapplication.app.ui.homeFragments.SendRecommendationFragment.java com.overnightApps.myapplication.app.ui.homeFragments.SettingsFragment.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.LetterDetailFragmentUserNotLoggedIn.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.LetterDetailFragment_UserLoggedIn.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.LetterDetailFragment.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.UserFragment_UserLoggedIn.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.UserFragment_UserLoggedOut.java com.overnightApps.myapplication.app.ui.homeFragments.UserLogInStateDependentFragments.UserFragment.java com.overnightApps.myapplication.app.ui.homeFragments.absFragments.FilterListFragment.java com.overnightApps.myapplication.app.ui.homeFragments.absFragments.HomeFragment.java com.overnightApps.myapplication.app.ui.homeFragments.absFragments.MyListFragment.java com.overnightApps.myapplication.app.ui.homeFragments.asyncTasks.LoadDetailFragmentTask.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnActiveFragmentListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnCreateLetterFragmentListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnLetterDetailActionListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnLetterDetailFragmentListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnLoginFragmentListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnSignUpActivityListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnUserFragmentListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnUserLogInListener.java com.overnightApps.myapplication.app.ui.homeFragments.homeActivityInteractionInterfaces.OnUserLogOutListener.java com.overnightApps.myapplication.app.ui.optionsMenus.MenuItem.java com.overnightApps.myapplication.app.ui.optionsMenus.MenuOptionsBuilder.java com.overnightApps.myapplication.app.ui.optionsMenus.MenuOptions.java com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.FriendMenuOptionsFactory.java com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.HomeMenuOptionsFactory.java com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.LetterMenuOptionsFactory.java com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.MenuOptionsFactory.java com.overnightApps.myapplication.app.ui.optionsMenus.menuOptionFactories.RecommendationMenuOptionsFactory.java com.overnightApps.myapplication.app.ui.signUp.NoSwipingViewPager.java com.overnightApps.myapplication.app.ui.signUp.OnSignUpListener.java com.overnightApps.myapplication.app.ui.signUp.OnUserSelectSignUpMethodListener.java com.overnightApps.myapplication.app.ui.signUp.SelectSignUpMethodFragment.java com.overnightApps.myapplication.app.ui.signUp.SignUpActivity.java com.overnightApps.myapplication.app.ui.signUp.UploadProfilePictureFragment.java com.overnightApps.myapplication.app.ui.signUp.UserSignUpFormFragment.java com.overnightApps.myapplication.app.ui.slidingMenu.OptionsFragment.java com.overnightApps.myapplication.app.util.AUtil.java com.overnightApps.myapplication.app.util.BitmapUtil.java com.overnightApps.myapplication.app.util.Logger.java com.overnightApps.myapplication.app.util.MyAssert.java