Search in sources :

Example 1 with Person

use of com.hannesdorfmann.mosby3.sample.mail.model.contact.Person in project mosby by sockeqwe.

the class RandomMailGenerator method generateResponseMail.

@Override
public Mail generateResponseMail(String senderMail) {
    String[] quotes = null;
    Person sender = null;
    if (senderMail.equals(Person.BARNEY.getEmail())) {
        sender = Person.BARNEY;
        quotes = barneyQuotes;
    } else if (senderMail.equals(Person.LILY.getEmail())) {
        quotes = lilyQuotes;
        sender = Person.LILY;
    } else if (senderMail.equals(Person.MARSHALL.getEmail())) {
        quotes = marshallQuotes;
        sender = Person.MARSHALL;
    } else if (senderMail.equals(Person.ROBIN.getEmail())) {
        quotes = robinQuotes;
        sender = Person.ROBIN;
    } else {
        return null;
    }
    return new Mail().id(0).date(new Date()).read(false).receiver(Person.TED).sender(sender).subject(randomString(subjects)).text(generateMsg(quotes));
}
Also used : Person(com.hannesdorfmann.mosby3.sample.mail.model.contact.Person) Date(java.util.Date)

Example 2 with Person

use of com.hannesdorfmann.mosby3.sample.mail.model.contact.Person in project mosby by sockeqwe.

the class RandomMailGenerator method generateMails.

@Override
public List<Mail> generateMails() {
    int id = 0;
    int mailSize = 50;
    List<Mail> mails = new ArrayList<>(mailSize);
    long day = 24 * 60 * 60 * 1000;
    long timestamp = System.currentTimeMillis();
    for (int i = 0; i < mailSize; i++, timestamp -= day) {
        String[] quotes = barneyQuotes;
        Person sender = Person.BARNEY;
        switch(i % 5) {
            case 1:
                sender = Person.LILY;
                quotes = lilyQuotes;
                break;
            case 3:
                sender = Person.MARSHALL;
                quotes = marshallQuotes;
                break;
            case 4:
                sender = Person.ROBIN;
                quotes = robinQuotes;
                break;
            default:
                // 0 and 2 is barney
                break;
        }
        String label;
        if (i < 40) {
            label = Label.INBOX;
        } else if (i < 45) {
            label = Label.SPAM;
        } else {
            label = Label.TRASH;
        }
        mails.add(new Mail().id(id++).date(new Date(timestamp)).label(label).read((i % 6) != random.nextInt(6)).receiver(Person.TED).sender(sender).subject(randomString(subjects)).text(generateMsg(quotes)));
    }
    /*
    // SENT
    Person[] receiver = { barney, marshall, lily, robin };
    for (int i = 0; i < 10; i++, timestamp -= day) {
      mails.add(new Mail().id(id++)
          .date(new Date(timestamp))
          .label(Label.SENT)
          .read(true)
          .receiver(receiver[randomIndex(receiver)])
          .sender(ted)
          .subject("RE: " + randomString(subjects))
          .text(generateMsg(tedQuotes)));
    }
    */
    return mails;
}
Also used : ArrayList(java.util.ArrayList) Person(com.hannesdorfmann.mosby3.sample.mail.model.contact.Person) Date(java.util.Date)

Example 3 with Person

use of com.hannesdorfmann.mosby3.sample.mail.model.contact.Person in project mosby by sockeqwe.

the class WriteActivity method onSendClicked.

@OnClick(R.id.send)
public void onSendClicked() {
    String email = receiver.getText().toString();
    if (TextUtils.isEmpty(email) || !emailPattern.matcher(email).matches()) {
        Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
        receiver.startAnimation(shake);
        return;
    }
    String sub = subject.getText().toString();
    if (TextUtils.isEmpty(sub)) {
        Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
        subject.startAnimation(shake);
        return;
    }
    Person receiver = null;
    if (email.equals(Person.BARNEY.getEmail())) {
        receiver = Person.BARNEY;
    } else if (email.equals(Person.LILY.getEmail())) {
        receiver = Person.LILY;
    } else if (email.equals(Person.MARSHALL.getEmail())) {
        receiver = Person.MARSHALL;
    } else if (email.equals(Person.ROBIN.getEmail())) {
        receiver = Person.ROBIN;
    } else {
        String name = email.split("@")[0];
        receiver = new Person(23, name, email, R.drawable.unknown, null, 0);
    }
    String text = message.getText().toString();
    Mail mail = new Mail().date(new Date()).label(Label.SENT).sender(Person.TED).receiver(receiver).subject(sub).text(text);
    presenter.writeMail(getApplicationContext(), mail);
}
Also used : Mail(com.hannesdorfmann.mosby3.sample.mail.model.mail.Mail) Animation(android.view.animation.Animation) Person(com.hannesdorfmann.mosby3.sample.mail.model.contact.Person) Date(java.util.Date) OnClick(butterknife.OnClick)

Example 4 with Person

use of com.hannesdorfmann.mosby3.sample.mail.model.contact.Person in project mosby by sockeqwe.

the class MainActivity method showMail.

private void showMail(Mail mail) {
    rightPane.setVisibility(View.VISIBLE);
    Person sender = mail.getSender();
    DetailsFragment fragment = new DetailsFragmentBuilder(mail.getDate().getTime(), mail.getId(), sender.getEmail(), sender.getName(), sender.getImageRes(), mail.isStarred(), mail.getSubject()).build();
    getSupportFragmentManager().beginTransaction().replace(R.id.rightPane, fragment, FRAGMENT_TAG_DETAILS).commit();
}
Also used : DetailsFragment(com.hannesdorfmann.mosby3.sample.mail.details.DetailsFragment) DetailsFragmentBuilder(com.hannesdorfmann.mosby3.sample.mail.details.DetailsFragmentBuilder) Person(com.hannesdorfmann.mosby3.sample.mail.model.contact.Person)

Example 5 with Person

use of com.hannesdorfmann.mosby3.sample.mail.model.contact.Person in project mosby by sockeqwe.

the class DetailsActivity method onCreate.

@TargetApi(21)
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_mail_details);
    // Activity Transitions
    if (BuildUtils.isMinApi21()) {
        postponeEnterTransition();
    }
    toolbar.setNavigationIcon(BuildUtils.getBackArrowDrawable(this));
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (Build.VERSION.SDK_INT >= 21) {
                finishAfterTransition();
            } else {
                finish();
            }
        }
    });
    if (savedInstanceState == null) {
        Mail mail = getIntent().getParcelableExtra(KEY_MAIL);
        Person sender = mail.getSender();
        DetailsFragment fragment = new DetailsFragmentBuilder(mail.getDate().getTime(), mail.getId(), sender.getEmail(), sender.getName(), sender.getImageRes(), mail.isStarred(), mail.getSubject()).build();
        getSupportFragmentManager().beginTransaction().replace(R.id.fragmentContainer, fragment).commit();
    }
}
Also used : Mail(com.hannesdorfmann.mosby3.sample.mail.model.mail.Mail) View(android.view.View) BindView(butterknife.BindView) Person(com.hannesdorfmann.mosby3.sample.mail.model.contact.Person) TargetApi(android.annotation.TargetApi)

Aggregations

Person (com.hannesdorfmann.mosby3.sample.mail.model.contact.Person)5 Date (java.util.Date)3 Mail (com.hannesdorfmann.mosby3.sample.mail.model.mail.Mail)2 TargetApi (android.annotation.TargetApi)1 View (android.view.View)1 Animation (android.view.animation.Animation)1 BindView (butterknife.BindView)1 OnClick (butterknife.OnClick)1 DetailsFragment (com.hannesdorfmann.mosby3.sample.mail.details.DetailsFragment)1 DetailsFragmentBuilder (com.hannesdorfmann.mosby3.sample.mail.details.DetailsFragmentBuilder)1 ArrayList (java.util.ArrayList)1