<commit_before># Mosby
A Model-View-Presenter and Model-View-Intent library for Android apps.


[![Build Status](https://travis-ci.org/sockeqwe/mosby.svg?branch=master)](https://travis-ci.org/sockeqwe/mosby)

# Dependency

```groovy
dependencies {

  compile 'com.hannesdorfmann.mosby3:mvi:3.0.4' // Model-View-Intent
  // or
  compile 'com.hannesdorfmann.mosby3:mvp:3.0.4' // Plain MVP
  // or
  compile 'com.hannesdorfmann.mosby3:viewstate:3.0.4' // MVP + ViewState support
}
```

Additional modules:

```groovy
dependencies {

  // MVP + ViewState + LCE Views
  compile 'com.hannesdorfmann.mosby3:mvp-lce:3.0.4'

  // Null Object Presenter for MVP
  compile 'com.hannesdorfmann.mosby3:mvp-nullobject-presenter:3.0.4'
}
```

SNAPSHOT:
```groovy
dependencies {

  compile 'com.hannesdorfmann.mosby3:mvi:3.0.5-SNAPSHOT'

  compile 'com.hannesdorfmann.mosby3:mvp:3.0.5-SNAPSHOT'
  compile 'com.hannesdorfmann.mosby3:viewstate:3.0.5-SNAPSHOT'

  compile 'com.hannesdorfmann.mosby3:mvp-lce:3.0.5-SNAPSHOT'
  compile 'com.hannesdorfmann.mosby3:mvp-nullobject-presenter:3.0.5-SNAPSHOT'
}
```


You also have to add the url to the snapshot repository:

```gradle
allprojects {
  repositories {
    ...

    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
```

# Documentation
See the [project website](http://hannesdorfmann.com/mosby/).

For Model-View-Intent checkout [this blog post series](http://hannesdorfmann.com/android/mosby3-mvi-1).

# Changelog
The changelog can be found in the [release section](https://github.com/sockeqwe/mosby/releases)

# Migrating
In Mosby 3.0 we have changed the package name from `com.hannesdorfmann.mosby` to `com.hannesdorfmann.mosby3` (note the **3** at the end).
Migrating a Mosby 2.x based app to Mosby 3.0  should be straight forward:
Just replace all import statements of your app in android studio with `Edit -> Find -> Replace in Path ...`<commit_msg>Style the snapshot section (#278)<commit_after># Mosby
A Model-View-Presenter and Model-View-Intent library for Android apps.


[![Build Status](https://travis-ci.org/sockeqwe/mosby.svg?branch=master)](https://travis-ci.org/sockeqwe/mosby)

# Dependency

```groovy
dependencies {

  compile 'com.hannesdorfmann.mosby3:mvi:3.0.4' // Model-View-Intent
  // or
  compile 'com.hannesdorfmann.mosby3:mvp:3.0.4' // Plain MVP
  // or
  compile 'com.hannesdorfmann.mosby3:viewstate:3.0.4' // MVP + ViewState support
}
```

Additional modules:

```groovy
dependencies {

  // MVP + ViewState + LCE Views
  compile 'com.hannesdorfmann.mosby3:mvp-lce:3.0.4'

  // Null Object Presenter for MVP
  compile 'com.hannesdorfmann.mosby3:mvp-nullobject-presenter:3.0.4'
}
```

**SNAPSHOT:**

```groovy
dependencies {

  compile 'com.hannesdorfmann.mosby3:mvi:3.0.5-SNAPSHOT'

  compile 'com.hannesdorfmann.mosby3:mvp:3.0.5-SNAPSHOT'
  compile 'com.hannesdorfmann.mosby3:viewstate:3.0.5-SNAPSHOT'

  compile 'com.hannesdorfmann.mosby3:mvp-lce:3.0.5-SNAPSHOT'
  compile 'com.hannesdorfmann.mosby3:mvp-nullobject-presenter:3.0.5-SNAPSHOT'
}
```

You also have to add the url to the snapshot repository:

```gradle
allprojects {
  repositories {
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
  }
}
```

# Documentation
See the [project website](http://hannesdorfmann.com/mosby/).

For Model-View-Intent checkout [this blog post series](http://hannesdorfmann.com/android/mosby3-mvi-1).

# Changelog
The changelog can be found in the [release section](https://github.com/sockeqwe/mosby/releases)

# Migrating
In Mosby 3.0 we have changed the package name from `com.hannesdorfmann.mosby` to `com.hannesdorfmann.mosby3` (note the **3** at the end).
Migrating a Mosby 2.x based app to Mosby 3.0  should be straight forward:
Just replace all import statements of your app in android studio with `Edit -> Find -> Replace in Path ...`
{'fraction_non_alphanumeric': 0.13944430018177098, 'fraction_numerical': 0.02622695403791223, 'mean_word_length': 4.198380566801619, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '994295', 'n_tokens_mistral': 1544, 'n_tokens_neox': 1499, 'n_words': 300}