Backup for local changes

This commit is contained in:
Alexander Doerflinger
2017-08-16 12:48:58 +02:00
parent a25a12b8c7
commit 8bf84bf936
3 changed files with 64 additions and 93 deletions

View File

@@ -26,6 +26,7 @@ dependencies {
}) })
compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.afollestad.material-dialogs:core:0.9.4.3'
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+' compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
compile 'devlight.io:navigationtabbar:1.2.5' compile 'devlight.io:navigationtabbar:1.2.5'
testCompile 'junit:junit:4.12' testCompile 'junit:junit:4.12'

View File

@@ -1,25 +1,19 @@
package com.de.aldo_apps.aldo.mariokartcircuitselector; package com.de.aldo_apps.aldo.mariokartcircuitselector;
import android.graphics.Color; import android.graphics.Color;
import android.support.v4.app.FragmentManager; import android.os.AsyncTask;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import com.afollestad.materialdialogs.MaterialDialog;
import com.de.aldo_apps.aldo.mariokartcircuitselector.adapter.PagerItemAdapter;
import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Accessory; import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Accessory;
import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Character; import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Character;
import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Kart; import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Kart;
import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Track; import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Track;
import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Wheels; import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Wheels;
import com.de.aldo_apps.aldo.mariokartcircuitselector.fragments.PagerItem;
import com.de.aldo_apps.aldo.mariokartcircuitselector.fragments.SingleCharacterFragment;
import java.util.ArrayList; import java.util.ArrayList;
@@ -29,102 +23,51 @@ public class GameSelection extends AppCompatActivity {
private static final String TAG = "GameSelection"; private static final String TAG = "GameSelection";
private PagerItem mCharacterItems;
private PagerItem mKartItems;
private PagerItem mTrackItems;
private PagerItem mAccessoryItems;
private PagerItem mWheelsItems;
private ArrayList<Kart> mAllKarts = new ArrayList<>(); private ArrayList<Kart> mAllKarts = new ArrayList<>();
private ArrayList<Character> mAllCharacters = new ArrayList<>(); private ArrayList<Character> mAllCharacters = new ArrayList<>();
private ArrayList<Track> mAllTracks = new ArrayList<>(); private ArrayList<Track> mAllTracks = new ArrayList<>();
private ArrayList<Wheels> mAllWheels = new ArrayList<>(); private ArrayList<Wheels> mAllWheels = new ArrayList<>();
private ArrayList<Accessory> mAllAccessories = new ArrayList<>(); private ArrayList<Accessory> mAllAccessories = new ArrayList<>();
private final ArrayList<ArrayList<? extends Object>> mListOfObjects = new ArrayList<>();
private DatabaseHandler mDbHandler;
/**
* Progress Bar to show during initial loading of the list.
*/
private MaterialDialog mProgressBar;
@Override @Override
protected void onCreate(final Bundle savedInstanceState) { protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game_selection); setContentView(R.layout.activity_game_selection);
final DatabaseHandler handler = new DatabaseHandler(this); mDbHandler = new DatabaseHandler(this);
showLoading();
mAllKarts = handler.getAllKarts(null, false); new GetFramDatabaseTask().execute("");
mAllCharacters = handler.getAllCharacters(null, false); }
mAllTracks = handler.getAllTracks(null, false);
mAllWheels = handler.getAllWheels(null, false);
mAllAccessories = handler.getAllAccessories(null, false);
private void showLoading() {
// Show Loading Bar until all items are loaded.
mProgressBar = new MaterialDialog.Builder(this)
.content("Lade...")
.progress(true, 0)
.show();
}
public void hideLoading() {
if (mProgressBar != null) {
mProgressBar.dismiss();
}
}
public void updateUI() {
final String[] colors = getResources().getStringArray(R.array.vertical_ntb); final String[] colors = getResources().getStringArray(R.array.vertical_ntb);
final ViewPager viewPager = (ViewPager) findViewById(R.id.vp_horizontal_ntb); final ViewPager viewPager = (ViewPager) findViewById(R.id.vp_horizontal_ntb);
viewPager.setAdapter(new PagerAdapter() { viewPager.setAdapter(new PagerItemAdapter(getLayoutInflater(), mDbHandler,
@Override this, getSupportFragmentManager(), mListOfObjects));
public int getCount() {
return 5;
}
@Override
public boolean isViewFromObject(final View view, final Object object) {
return view.equals(object);
}
@Override
public void destroyItem(final View container, final int position, final Object object) {
((ViewPager) container).removeView((View) object);
}
@Override
public Object instantiateItem(final ViewGroup container, final int position) {
final View view = LayoutInflater.from(
getBaseContext()).inflate(R.layout.pager_item, null, false);
switch (position) {
case Constants.CHARACTER:
mCharacterItems = new PagerItem(view, handler, GameSelection.this,
getSupportFragmentManager());
if (mAllCharacters != null) {
mCharacterItems.setArguments(mAllCharacters);
}
break;
case Constants.KART:
mKartItems = new PagerItem(view, handler, GameSelection.this,
getSupportFragmentManager());
if (mAllKarts != null) {
mKartItems.setArguments(mAllKarts);
}
break;
case Constants.ACCESSORY:
mAccessoryItems = new PagerItem(view, handler, GameSelection.this,
getSupportFragmentManager());
if (mAllAccessories != null) {
mAccessoryItems.setArguments(mAllAccessories);
}
break;
case Constants.TRACK:
mTrackItems = new PagerItem(view, handler, GameSelection.this,
getSupportFragmentManager());
if (mAllTracks != null) {
mTrackItems.setArguments(mAllTracks);
}
break;
case Constants.WHEELS:
mWheelsItems = new PagerItem(view, handler, GameSelection.this,
getSupportFragmentManager());
if (mAllWheels != null) {
mWheelsItems.setArguments(mAllWheels);
}
break;
default:
Log.d(TAG, "instantiateItem: No available Item for Position ["
+ position + "]");
break;
}
container.addView(view);
return view;
}
});
final NavigationTabBar navigationTabBar final NavigationTabBar navigationTabBar
@@ -171,7 +114,7 @@ public class GameSelection extends AppCompatActivity {
.build() .build()
); );
navigationTabBar.setModels(models); navigationTabBar.setModels(models);
navigationTabBar.setViewPager(viewPager, 2); navigationTabBar.setViewPager(viewPager);
navigationTabBar.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { navigationTabBar.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override @Override
@@ -209,6 +152,33 @@ public class GameSelection extends AppCompatActivity {
} }
} }
}, 500); }, 500);
}
private class GetFramDatabaseTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strings) {
mAllKarts = mDbHandler.getAllKarts(null, false);
mAllCharacters = mDbHandler.getAllCharacters(null, false);
mAllTracks = mDbHandler.getAllTracks(null, false);
mAllWheels = mDbHandler.getAllWheels(null, false);
mAllAccessories = mDbHandler.getAllAccessories(null, false);
return null;
}
@Override
protected void onPostExecute(String result) {
mListOfObjects.add(mAllKarts);
mListOfObjects.add(mAllCharacters);
mListOfObjects.add(mAllTracks);
mListOfObjects.add(mAllWheels);
mListOfObjects.add(mAllAccessories);
updateUI();
hideLoading();
}
} }
} }

View File

@@ -41,15 +41,15 @@ public class PagerItem {
private FragmentManager mFragmentManager; private FragmentManager mFragmentManager;
public PagerItem(final View view, public PagerItem(final LayoutInflater inflater,
final DatabaseHandler databaseHandler, final DatabaseHandler databaseHandler,
final Activity context, final Activity context,
final FragmentManager fragmentManager) { final FragmentManager fragmentManager) {
mView = view; mView = inflater.inflate(R.layout.pager_item, null, false);
mHandler = databaseHandler; mHandler = databaseHandler;
mContext = context; mContext = context;
mFragmentManager = fragmentManager; mFragmentManager = fragmentManager;
mListView = (ListView) view.findViewById(R.id.all_items_list_view); mListView = (ListView) mView.findViewById(R.id.all_items_list_view);
} }
/** /**