Skip to content

Commit

Permalink
Commit to Local Forked Version of master Branch of ReactiveAndroid
Browse files Browse the repository at this point in the history
Added API Fuctionality for Transactions & Pagination with sample
activites (and subsequent adapters, layouts, menus, values, manifest)
within reactiveandroid\sample-app

For review by repository owner
  • Loading branch information
bhapps committed Apr 20, 2019
1 parent db8d3d6 commit b40e96c
Show file tree
Hide file tree
Showing 17 changed files with 1,689 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package com.reactiveandroid.query.api;

//pull request - bendothall
//Pagination API

import android.util.Log;

import com.reactiveandroid.query.QueryBase;
import com.reactiveandroid.query.Select;

import java.util.ArrayList;
import java.util.List;

public class Pagination<T> extends QueryBase<T> {

private Pagination() {
super(null, null);
}

public static int getTableRowCount(Class<?> table) {

if (table == null) {
throw new IllegalArgumentException("Database Table referenced not found.");
}

return Select.from(table).count();
}


public static List loadPaginationData(
String tableColumn,
int offset,
int limit,
String orderBy,
Class<?> table
){

if (tableColumn == null) {
throw new IllegalArgumentException("Database Table must be set");
}

if (limit == 0) {
throw new IllegalArgumentException("Limit cannot be set to 0");
}

if (orderBy == null || !(orderBy.contains("DESC") || orderBy.contains("ASC")) ) {
throw new IllegalArgumentException("Order must be set to DESC or ASC " + orderBy);
}

if (table == null) {
throw new IllegalArgumentException("Database Table Class referenced not found.");
}

List result = new ArrayList<>();
result = Select.from(table)
.orderBy(tableColumn + " " + orderBy)
.limit(limit)
.offset(offset)
.fetch();

return result;
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.reactiveandroid.query.api;

import com.reactiveandroid.ReActiveAndroid;

public final class Transactions {

public static void BeginTransactions(Class<?> databaseClass) {

if (databaseClass == null) {
throw new IllegalArgumentException("Database Class referenced not found.");
}

ReActiveAndroid.getDatabase(databaseClass).beginTransaction();

}

public static void EndTransactions(Class<?> databaseClass) {

if (databaseClass == null) {
throw new IllegalArgumentException("Database Class referenced not found.");
}

ReActiveAndroid.getDatabase(databaseClass).getWritableDatabase().setTransactionSuccessful();
ReActiveAndroid.getDatabase(databaseClass).endTransaction();
}

}
10 changes: 10 additions & 0 deletions sample-app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@
<activity android:name=".ui.activities.FoldersEditActivity"/>
<activity android:name=".ui.activities.FolderSelectActivity"/>

<!-- pull request - bendothall -->
<!-- Transactions API Activity -->
<activity android:name=".ui.activities.TransactionsAPIActivity"
android:parentActivityName=".ui.activities.MainActivity"/>

<!-- pull request - bendothall -->
<!-- Pagination API Activity -->
<activity android:name=".ui.activities.PaginationAPIActivity"
android:parentActivityName=".ui.activities.MainActivity"/>

</application>

</manifest>
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package com.reactiveandroid.sample.ui.activities;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

import com.arellomobile.mvp.MvpAppCompatActivity;
import com.arellomobile.mvp.presenter.InjectPresenter;
Expand Down Expand Up @@ -74,11 +76,24 @@ public void openNoteDetailsScreen(long noteId) {
startActivity(NoteDetailsActivity.buildIntent(this, noteId));
}

//pull request - bendothall
//Transactions API
public void openTransactionsAPIActivityScreen() {
startActivity(new Intent(MainActivity.this, TransactionsAPIActivity.class));
}

//pull request - bendothall
//Pagination API
public void openPaginationAPIActivityScreen() {
startActivity(new Intent(MainActivity.this, PaginationAPIActivity.class));
}

@Override
public void openFoldersEditScreen() {
startActivity(FoldersEditActivity.buildIntent(this));
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
Expand All @@ -95,6 +110,18 @@ public boolean onOptionsItemSelected(MenuItem item) {
case R.id.delete_all_notes:
presenter.onDeleteAllNotesClicked();
break;

//pull request - bendothall
//Transactions API menu item action
case R.id.transaction_api:
openTransactionsAPIActivityScreen();
break;

//pull request - bendothall
//Transactions API menu item action
case R.id.pagination_api:
openPaginationAPIActivityScreen();
break;
}
return super.onOptionsItemSelected(item);
}
Expand Down
Loading

0 comments on commit b40e96c

Please sign in to comment.