From 963c258a44be4b22367de569da1ea67e824a10cf Mon Sep 17 00:00:00 2001 From: rajagopal28 Date: Thu, 5 Mar 2015 13:18:09 +0530 Subject: [PATCH] Initial commit --- .gitignore | 6 + .idea/.name | 1 + .idea/compiler.xml | 23 ++ .idea/copyright/profiles_settings.xml | 3 + .idea/encodings.xml | 5 + .idea/gradle.xml | 19 ++ .idea/misc.xml | 10 + .idea/modules.xml | 10 + .idea/scopes/scope_settings.xml | 5 + .idea/vcs.xml | 7 + TheGimbalStore.iml | 19 ++ app/.gitignore | 1 + app/app.iml | 94 ++++++ app/build.gradle | 27 ++ app/libs/gson-2.3.1.jar | Bin 0 -> 210856 bytes app/proguard-rules.pro | 17 + .../codes/gimbal/store/ApplicationTest.java | 13 + app/src/main/AndroidManifest.xml | 27 ++ .../store/activity/FeedListActivity.java | 195 +++++++++++ .../gimbal/store/activity/HomeActivity.java | 229 +++++++++++++ .../store/adapter/CategoryViewAdapter.java | 43 +++ .../processor/AsyncResponseProcessor.java | 14 + .../processor/impl/CategoryListProcessor.java | 71 ++++ .../impl/SubcategoryListProcessor.java | 32 ++ .../codes/gimbal/store/bean/CategoryBean.java | 63 ++++ .../store/bean/CategoryResponseBean.java | 65 ++++ .../store/bean/NotificationActionBean.java | 45 +++ .../codes/gimbal/store/client/HttpClient.java | 198 +++++++++++ .../store/constant/GimbalStoreConstants.java | 97 ++++++ .../GimbalStoreRESTServiceDelegate.java | 20 ++ .../fragment/NavigationDrawerFragment.java | 307 ++++++++++++++++++ .../handler/HttpConnectionAsyncTask.java | 55 ++++ .../store/handler/ImageResponseAsyncTask.java | 43 +++ .../gimbal/store/utils/NotificationUtil.java | 53 +++ .../gimbal/store/utils/ServerURLUtil.java | 43 +++ .../store/utils/TypeConversionUtil.java | 26 ++ .../res/drawable-hdpi/drawer_shadow.9.png | Bin 0 -> 161 bytes app/src/main/res/drawable-hdpi/ic_drawer.png | Bin 0 -> 2829 bytes .../main/res/drawable-hdpi/ic_launcher.png | Bin 0 -> 9397 bytes .../res/drawable-mdpi/drawer_shadow.9.png | Bin 0 -> 142 bytes app/src/main/res/drawable-mdpi/ic_drawer.png | Bin 0 -> 2820 bytes .../main/res/drawable-mdpi/ic_launcher.png | Bin 0 -> 5237 bytes .../res/drawable-xhdpi/drawer_shadow.9.png | Bin 0 -> 174 bytes app/src/main/res/drawable-xhdpi/ic_drawer.png | Bin 0 -> 2836 bytes .../main/res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 14383 bytes .../res/drawable-xxhdpi/drawer_shadow.9.png | Bin 0 -> 208 bytes .../main/res/drawable-xxhdpi/ic_drawer.png | Bin 0 -> 202 bytes .../main/res/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 19388 bytes .../main/res/layout/activity_feed_list.xml | 4 + app/src/main/res/layout/activity_home.xml | 25 ++ .../res/layout/activity_subcategory_home.xml | 6 + .../main/res/layout/fragment_feed_list.xml | 12 + app/src/main/res/layout/fragment_home.xml | 22 ++ .../res/layout/fragment_navigation_drawer.xml | 5 + .../res/layout/view_subcategory_list_item.xml | 71 ++++ app/src/main/res/menu/global.xml | 4 + app/src/main/res/menu/menu_feed_list.xml | 6 + app/src/main/res/menu/menu_home.xml | 7 + app/src/main/res/values-v21/styles.xml | 5 + app/src/main/res/values-w820dp/dimens.xml | 6 + app/src/main/res/values/dimens.xml | 9 + app/src/main/res/values/strings.xml | 27 ++ app/src/main/res/values/styles.xml | 8 + build.gradle | 19 ++ gradle.properties | 18 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 49896 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 ++++++++++ gradlew.bat | 90 +++++ settings.gradle | 1 + 70 files changed, 2401 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.name create mode 100644 .idea/compiler.xml create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/scopes/scope_settings.xml create mode 100644 .idea/vcs.xml create mode 100644 TheGimbalStore.iml create mode 100644 app/.gitignore create mode 100644 app/app.iml create mode 100644 app/build.gradle create mode 100644 app/libs/gson-2.3.1.jar create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/avnet/gears/codes/gimbal/store/ApplicationTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/FeedListActivity.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/HomeActivity.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/adapter/CategoryViewAdapter.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/AsyncResponseProcessor.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/CategoryListProcessor.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/SubcategoryListProcessor.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/CategoryBean.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/CategoryResponseBean.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/NotificationActionBean.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/client/HttpClient.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/constant/GimbalStoreConstants.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/delegate/GimbalStoreRESTServiceDelegate.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/fragment/NavigationDrawerFragment.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/handler/HttpConnectionAsyncTask.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/handler/ImageResponseAsyncTask.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/NotificationUtil.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/ServerURLUtil.java create mode 100644 app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/TypeConversionUtil.java create mode 100644 app/src/main/res/drawable-hdpi/drawer_shadow.9.png create mode 100644 app/src/main/res/drawable-hdpi/ic_drawer.png create mode 100644 app/src/main/res/drawable-hdpi/ic_launcher.png create mode 100644 app/src/main/res/drawable-mdpi/drawer_shadow.9.png create mode 100644 app/src/main/res/drawable-mdpi/ic_drawer.png create mode 100644 app/src/main/res/drawable-mdpi/ic_launcher.png create mode 100644 app/src/main/res/drawable-xhdpi/drawer_shadow.9.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_drawer.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_drawer.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/layout/activity_feed_list.xml create mode 100644 app/src/main/res/layout/activity_home.xml create mode 100644 app/src/main/res/layout/activity_subcategory_home.xml create mode 100644 app/src/main/res/layout/fragment_feed_list.xml create mode 100644 app/src/main/res/layout/fragment_home.xml create mode 100644 app/src/main/res/layout/fragment_navigation_drawer.xml create mode 100644 app/src/main/res/layout/view_subcategory_list_item.xml create mode 100644 app/src/main/res/menu/global.xml create mode 100644 app/src/main/res/menu/menu_feed_list.xml create mode 100644 app/src/main/res/menu/menu_home.xml create mode 100644 app/src/main/res/values-v21/styles.xml create mode 100644 app/src/main/res/values-w820dp/dimens.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..afbdab3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..8fc1ee5 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +TheGimbalStore \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..217af47 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,23 @@ + + + + + + diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..e206d70 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..fe865d3 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..59436c9 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..aeb1ebd --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000..922003b --- /dev/null +++ b/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..c80f219 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/TheGimbalStore.iml b/TheGimbalStore.iml new file mode 100644 index 0000000..0bb6048 --- /dev/null +++ b/TheGimbalStore.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/app.iml b/app/app.iml new file mode 100644 index 0000000..c3a7062 --- /dev/null +++ b/app/app.iml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..38ecb3e --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,27 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 21 + buildToolsVersion "21.1.2" + + defaultConfig { + applicationId "com.avnet.gears.codes.gimbal.store" + minSdkVersion 21 + targetSdkVersion 21 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + compile files('libs/gson-2.3.1.jar') + compile 'com.android.support:support-v4:21.0.3' + compile 'com.android.support:support-v13:21.0.3' +} diff --git a/app/libs/gson-2.3.1.jar b/app/libs/gson-2.3.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..250132c197467d7ddef3b7f40a98fdc036163b66 GIT binary patch literal 210856 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≪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

eMUo@%PPi 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 OZ$92#YJ45aW%wUD7hlN$ literal 0 HcmV?d00001 diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..c46101d --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/914889/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/app/src/androidTest/java/com/avnet/gears/codes/gimbal/store/ApplicationTest.java b/app/src/androidTest/java/com/avnet/gears/codes/gimbal/store/ApplicationTest.java new file mode 100644 index 0000000..008906f --- /dev/null +++ b/app/src/androidTest/java/com/avnet/gears/codes/gimbal/store/ApplicationTest.java @@ -0,0 +1,13 @@ +package com.avnet.gears.codes.gimbal.store; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * Testing Fundamentals + */ +public class ApplicationTest extends ApplicationTestCase { + public ApplicationTest() { + super(Application.class); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..295c5d7 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/FeedListActivity.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/FeedListActivity.java new file mode 100644 index 0000000..65d9315 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/FeedListActivity.java @@ -0,0 +1,195 @@ +package com.avnet.gears.codes.gimbal.store.activity; + +import java.util.Locale; + +import android.app.Activity; +import android.app.ActionBar; +import android.app.Fragment; +import android.app.FragmentManager; +import android.app.FragmentTransaction; +import android.support.v13.app.FragmentPagerAdapter; +import android.os.Bundle; +import android.support.v4.view.ViewPager; +import android.util.Log; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import com.avnet.gears.codes.gimbal.store.R; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants.INTENT_EXTRA_ATTR_KEY; + +public class FeedListActivity extends Activity implements ActionBar.TabListener { + + /** + * The {@link android.support.v4.view.PagerAdapter} that will provide + * fragments for each of the sections. We use a + * {@link FragmentPagerAdapter} derivative, which will keep every + * loaded fragment in memory. If this becomes too memory intensive, it + * may be best to switch to a + * {@link android.support.v13.app.FragmentStatePagerAdapter}. + */ + SectionsPagerAdapter mSectionsPagerAdapter; + + /** + * The {@link ViewPager} that will host the section contents. + */ + ViewPager mViewPager; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_feed_list); + + Bundle bundle = getIntent().getExtras(); + Log.d("DEBUG NOTIFY", "getting data from the notification " + + bundle.getString(INTENT_EXTRA_ATTR_KEY.SELECTED_NOTIFICATION_ID.toString())); + + // Set up the action bar. + final ActionBar actionBar = getActionBar(); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); + + // Create the adapter that will return a fragment for each of the three + // primary sections of the activity. + mSectionsPagerAdapter = new SectionsPagerAdapter(getFragmentManager()); + + // Set up the ViewPager with the sections adapter. + mViewPager = (ViewPager) findViewById(R.id.pager); + mViewPager.setAdapter(mSectionsPagerAdapter); + + // When swiping between different sections, select the corresponding + // tab. We can also use ActionBar.Tab#select() to do this if we have + // a reference to the Tab. + mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { + @Override + public void onPageSelected(int position) { + actionBar.setSelectedNavigationItem(position); + } + }); + + // For each of the sections in the app, add a tab to the action bar. + for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) { + // Create a tab with text corresponding to the page title defined by + // the adapter. Also specify this Activity object, which implements + // the TabListener interface, as the callback (listener) for when + // this tab is selected. + actionBar.addTab( + actionBar.newTab() + .setText(mSectionsPagerAdapter.getPageTitle(i)) + .setTabListener(this)); + } + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_feed_list, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } + + @Override + public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { + // When the given tab is selected, switch to the corresponding page in + // the ViewPager. + mViewPager.setCurrentItem(tab.getPosition()); + } + + @Override + public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { + } + + @Override + public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { + } + + /** + * A {@link FragmentPagerAdapter} that returns a fragment corresponding to + * one of the sections/tabs/pages. + */ + public class SectionsPagerAdapter extends FragmentPagerAdapter { + + public SectionsPagerAdapter(FragmentManager fm) { + super(fm); + } + + @Override + public Fragment getItem(int position) { + // getItem is called to instantiate the fragment for the given page. + // Return a PlaceholderFragment (defined as a static inner class below). + return PlaceholderFragment.newInstance(position + 1); + } + + @Override + public int getCount() { + // Show 3 total pages. + return 3; + } + + @Override + public CharSequence getPageTitle(int position) { + Locale l = Locale.getDefault(); + switch (position) { + case 0: + return getString(R.string.title_section1).toUpperCase(l); + case 1: + return getString(R.string.title_section2).toUpperCase(l); + case 2: + return getString(R.string.title_section3).toUpperCase(l); + } + return null; + } + } + + /** + * A placeholder fragment containing a simple view. + */ + public static class PlaceholderFragment extends Fragment { + /** + * The fragment argument representing the section number for this + * fragment. + */ + private static final String ARG_SECTION_NUMBER = "section_number"; + + /** + * Returns a new instance of this fragment for the given section + * number. + */ + public static PlaceholderFragment newInstance(int sectionNumber) { + PlaceholderFragment fragment = new PlaceholderFragment(); + Bundle args = new Bundle(); + args.putInt(ARG_SECTION_NUMBER, sectionNumber); + fragment.setArguments(args); + return fragment; + } + + public PlaceholderFragment() { + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.fragment_feed_list, container, false); + return rootView; + } + } + +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/HomeActivity.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/HomeActivity.java new file mode 100644 index 0000000..34e196c --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/activity/HomeActivity.java @@ -0,0 +1,229 @@ +package com.avnet.gears.codes.gimbal.store.activity; + +import android.app.Activity; + +import android.app.ActionBar; +import android.app.Fragment; +import android.app.FragmentManager; +import android.app.ProgressDialog; +import android.os.Bundle; +import android.support.v4.widget.DrawerLayout; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.TextView; + +import com.avnet.gears.codes.gimbal.store.adapter.CategoryViewAdapter; +import com.avnet.gears.codes.gimbal.store.async.response.processor.impl.CategoryListProcessor; +import com.avnet.gears.codes.gimbal.store.bean.CategoryBean; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants.StoreParameterKeys; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants.HTTP_METHODS; +import com.avnet.gears.codes.gimbal.store.fragment.NavigationDrawerFragment; +import com.avnet.gears.codes.gimbal.store.R; +import com.avnet.gears.codes.gimbal.store.handler.HttpConnectionAsyncTask; +import com.avnet.gears.codes.gimbal.store.handler.ImageResponseAsyncTask; +import com.avnet.gears.codes.gimbal.store.utils.ServerURLUtil; +import com.avnet.gears.codes.gimbal.store.utils.TypeConversionUtil; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + + +public class HomeActivity extends Activity + implements NavigationDrawerFragment.NavigationDrawerCallbacks { + + /** + * Fragment managing the behaviors, interactions and presentation of the navigation drawer. + */ + private NavigationDrawerFragment mNavigationDrawerFragment; + + // list of categories to be shown on drawer fragment + protected List mCategoryList; + // section label + private TextView sectionLabelView ; + /** + * Used to store the last screen title. For use in {@link #restoreActionBar()}. + */ + private CharSequence mTitle; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_home); + // fetch the category list + mCategoryList = new ArrayList(); + // instantiate spinner + ProgressDialog progress = new ProgressDialog(this); + progress.setTitle("Loading"); + progress.setMessage("Wait while loading..."); + progress.show(); + mNavigationDrawerFragment = (NavigationDrawerFragment) + getFragmentManager().findFragmentById(R.id.navigation_drawer); + // initialize bean to process value from async net call for category + CategoryListProcessor cListProcessor = new CategoryListProcessor(this, + mNavigationDrawerFragment, + (DrawerLayout)findViewById(R.id.drawer_layout), + mCategoryList, progress); + + mNavigationDrawerFragment.setUp( + R.id.navigation_drawer, + (DrawerLayout)findViewById(R.id.drawer_layout), + TypeConversionUtil.getCategoryTitleList(mCategoryList)); + + /* + Log.d("DEBUG NOTIFY", "Sending notification from Home Activity"); + Intent targetIntent = new Intent(getApplicationContext(), FeedListActivity.class); + targetIntent.putExtra(INTENT_EXTRA_ATTR_KEY.SELECTED_NOTIFICATION_ID.toString(), "notify_id_111"); + NotificationUtil.notify(this, targetIntent, "Home Notification", " Notification test from home activity", + R.drawable.ic_drawer,true, null); + Log.d("DEBUG NOTIFY", "End of notification sending from Home Activity"); + */ + + mTitle = getTitle(); + + + // Log.d("DEBUG", "Server URL = " + ServerURLUtil.getStoreServletServerURL(getResources())); + Map paramsMap = ServerURLUtil.getBasicConfigParamsMap(getResources()); + paramsMap.put(StoreParameterKeys.catalogId.toString(), "10001"); + paramsMap.put(StoreParameterKeys.identifier.toString(), "top"); + paramsMap.put(StoreParameterKeys.type.toString(), "category"); + // Log.d("DEBUG", paramsMap.toString()); + + HttpConnectionAsyncTask handler = new HttpConnectionAsyncTask(HTTP_METHODS.GET, + ServerURLUtil.getStoreServletServerURL(getResources()), + paramsMap, + cListProcessor); + handler.execute(new String[] {}); + } + + @Override + public void onNavigationDrawerItemSelected(int position) { + // update the main content by replacing fragments + FragmentManager fragmentManager = getFragmentManager(); + fragmentManager.beginTransaction() + .replace(R.id.container, PlaceholderFragment.newInstance(position, mCategoryList)) + .commit(); + } + + public void onSectionAttached(int number) { + if(mCategoryList != null && !mCategoryList.isEmpty()) { + mTitle = mCategoryList.get(number).getName(); + } else { + mTitle = "Home"; + } + } + + public void restoreActionBar() { + ActionBar actionBar = getActionBar(); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setTitle(mTitle); + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + if (!mNavigationDrawerFragment.isDrawerOpen()) { + // Only show items in the action bar relevant to this screen + // if the drawer is not showing. Otherwise, let the drawer + // decide what to show in the action bar. + getMenuInflater().inflate(R.menu.menu_home, menu); + restoreActionBar(); + return true; + } + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } + + /** + * A placeholder fragment containing a simple view. + */ + public static class PlaceholderFragment extends Fragment { + /** + * The fragment argument representing the section number for this + * fragment. + */ + private static final String ARG_SECTION_NUMBER = "section_number"; + private TextView sectionLabelTextView ; + private ImageView imageView; + private ListView allListItemsView; + private CategoryBean selectedCategoryBean; + private static List mCategoryBeanList; + /** + * Returns a new instance of this fragment for the given section + * number. + */ + public static PlaceholderFragment newInstance(int sectionNumber, List categoryBeanList) { + PlaceholderFragment fragment = new PlaceholderFragment(); + Bundle args = new Bundle(); + mCategoryBeanList = categoryBeanList; + // Log.d("DEBUG", "" + categoryBeanList); + args.putInt(ARG_SECTION_NUMBER, sectionNumber); + fragment.setArguments(args); + return fragment; + } + + public PlaceholderFragment() { + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Log.d("DEBUG", "in PlaceHolderFragment.onCreateView()"); + View rootView = inflater.inflate(R.layout.fragment_home, container, false); + sectionLabelTextView = (TextView)rootView.findViewById(R.id.section_label); + allListItemsView = (ListView) rootView.findViewById(R.id.subcategories_list_view); + // use the category Id obtained from HomeActivity to fetch and view list of subcategory items + imageView = (ImageView) rootView.findViewById(R.id.image_view); + if(selectedCategoryBean != null) { + if(selectedCategoryBean.getThumbnail() != null) { + ImageResponseAsyncTask imageTask = new ImageResponseAsyncTask(ServerURLUtil.getAbsoluteUrlFor(getResources(), selectedCategoryBean.getThumbnail()), imageView, null); + imageTask.execute(new String[]{}); + } + sectionLabelTextView.setText("Showing List of Items of " + selectedCategoryBean.getName()); + } + String[] subCategoryItemsList = new String[] {"subcat1","subcat2","subcat3","subcat4","subcat5","subcat6","subcat7"}; + CategoryViewAdapter productListAdapter = new CategoryViewAdapter(getActivity(), subCategoryItemsList); + allListItemsView.setAdapter(productListAdapter); + allListItemsView.refreshDrawableState(); + return rootView; + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + // Log.d("DEBUG", "in PlaceHolderFragment.onAttach()"); + HomeActivity callingHomeActivity = (HomeActivity) activity; + int selectedPosition = getArguments().getInt(ARG_SECTION_NUMBER); + callingHomeActivity.onSectionAttached( + selectedPosition); + // fetch the selected category id from HomeActivity + + if( mCategoryBeanList != null && !mCategoryBeanList.isEmpty()) + selectedCategoryBean = mCategoryBeanList.get(selectedPosition); + + // Log.d("DEBUG", "Holder selectedCategoryId=" + selectedCategoryId); + } + } + +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/adapter/CategoryViewAdapter.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/adapter/CategoryViewAdapter.java new file mode 100644 index 0000000..1a178d4 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/adapter/CategoryViewAdapter.java @@ -0,0 +1,43 @@ +package com.avnet.gears.codes.gimbal.store.adapter; +import android.app.Activity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import com.avnet.gears.codes.gimbal.store.R; + +/** + * Created by 914889 on 2/23/15. + */ +public class CategoryViewAdapter extends ArrayAdapter { + private final Activity context; + + private String[] labelList; + + public CategoryViewAdapter(Activity context, + String[] list) { + super(context, R.layout.view_subcategory_list_item, list); + labelList = list; + this.context = context; + } + @Override + public View getView(int position, View view, ViewGroup parent) { + LayoutInflater inflater = context.getLayoutInflater(); + View rowView= inflater.inflate(R.layout.view_subcategory_list_item, null, true); + TextView txtTitle = (TextView) rowView.findViewById(R.id.textView1); + ImageView[] imageViews = new ImageView[]{ + (ImageView) rowView.findViewById(R.id.imageButton1), + (ImageView) rowView.findViewById(R.id.imageButton2), + (ImageView) rowView.findViewById(R.id.imageButton3), + (ImageView) rowView.findViewById(R.id.imageButton4) + }; + txtTitle.setText(labelList[position]); + for(ImageView imageView : imageViews) { + imageView.setImageResource(R.drawable.ic_launcher); + } + return rowView; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/AsyncResponseProcessor.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/AsyncResponseProcessor.java new file mode 100644 index 0000000..4805ea0 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/AsyncResponseProcessor.java @@ -0,0 +1,14 @@ +package com.avnet.gears.codes.gimbal.store.async.response.processor; + +import android.graphics.Bitmap; + +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; + +/** + * Created by 914889 on 2/25/15. + */ +public interface AsyncResponseProcessor { + + public boolean doProcess(GimbalStoreConstants.HTTP_RESPONSE_CODES responseCode, String responseString); + +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/CategoryListProcessor.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/CategoryListProcessor.java new file mode 100644 index 0000000..1aaae27 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/CategoryListProcessor.java @@ -0,0 +1,71 @@ +package com.avnet.gears.codes.gimbal.store.async.response.processor.impl; + +import android.app.Activity; +import android.app.ProgressDialog; +import android.support.v4.widget.DrawerLayout; +import android.util.Log; + +import com.avnet.gears.codes.gimbal.store.R; +import com.avnet.gears.codes.gimbal.store.async.response.processor.AsyncResponseProcessor; +import com.avnet.gears.codes.gimbal.store.bean.CategoryBean; +import com.avnet.gears.codes.gimbal.store.bean.CategoryResponseBean; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants.HTTP_RESPONSE_CODES; +import com.avnet.gears.codes.gimbal.store.fragment.NavigationDrawerFragment; +import com.avnet.gears.codes.gimbal.store.utils.TypeConversionUtil; +import com.google.gson.Gson; +import com.google.gson.stream.JsonReader; + +import java.io.StringReader; +import java.util.Arrays; +import java.util.List; + +/** + * Created by 914889 on 2/25/15. + */ +public class CategoryListProcessor implements AsyncResponseProcessor { + + private Activity parentActivity; + private NavigationDrawerFragment navigationDrawerFragment; + private List categoryBeanList; + private DrawerLayout drawerLayout; + private ProgressDialog progressDialog; + + public CategoryListProcessor(Activity parentActivity, NavigationDrawerFragment navigationDrawerFragment, + DrawerLayout drawerLayout, + List categoryBeanList, ProgressDialog progressDialog) { + // add parameters and initialize proper values for + // sending back the response to the calling activity + this.categoryBeanList = categoryBeanList; + this.drawerLayout = drawerLayout; + this.parentActivity = parentActivity; + this.navigationDrawerFragment = navigationDrawerFragment; + this.progressDialog = progressDialog; + + } + @Override + public boolean doProcess(HTTP_RESPONSE_CODES responseCode, String responseString){ + // Log.d("PROCESS DEBUG", "" + responseCode); + responseString = responseString.trim() + .replace(GimbalStoreConstants.START_COMMENT_STRING, "") + .replace(GimbalStoreConstants.END_COMMENT_STRING, ""); + if(responseCode == HTTP_RESPONSE_CODES.OK || + responseCode == HTTP_RESPONSE_CODES.CREATED || + responseCode == HTTP_RESPONSE_CODES.ACCEPTED) { + Gson gson = new Gson(); + + JsonReader reader = new JsonReader(new StringReader(responseString)); + reader.setLenient(true); + CategoryResponseBean responseBean = gson.fromJson(reader, CategoryResponseBean.class); + // Log.d("HTTP DEBUG", " Response Bean = " + responseBean); + // Set up the drawer. + categoryBeanList.addAll(Arrays.asList(responseBean.getCatalogGroupView())); + navigationDrawerFragment.setmCategoryTitles(TypeConversionUtil.getCategoryTitleList(categoryBeanList)); + navigationDrawerFragment.refreshDrawerListView(); + // hide progress bar + progressDialog.dismiss(); + return true; + } + return false; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/SubcategoryListProcessor.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/SubcategoryListProcessor.java new file mode 100644 index 0000000..16c7f41 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/async/response/processor/impl/SubcategoryListProcessor.java @@ -0,0 +1,32 @@ +package com.avnet.gears.codes.gimbal.store.async.response.processor.impl; + +import android.widget.ImageView; + +import com.avnet.gears.codes.gimbal.store.async.response.processor.AsyncResponseProcessor; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; + +/** + * Created by 914889 on 3/4/15. + */ +public class SubcategoryListProcessor implements AsyncResponseProcessor { + + private ImageView imageView; + + public SubcategoryListProcessor(ImageView imageView) { + this.imageView = imageView; + } + + @Override + public boolean doProcess(GimbalStoreConstants.HTTP_RESPONSE_CODES responseCode, String responseString) { + responseString = responseString.trim() + .replace(GimbalStoreConstants.START_COMMENT_STRING, "") + .replace(GimbalStoreConstants.END_COMMENT_STRING, ""); + if(responseCode == GimbalStoreConstants.HTTP_RESPONSE_CODES.OK || + responseCode == GimbalStoreConstants.HTTP_RESPONSE_CODES.CREATED || + responseCode == GimbalStoreConstants.HTTP_RESPONSE_CODES.ACCEPTED) { + + return true; + } + return false; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/CategoryBean.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/CategoryBean.java new file mode 100644 index 0000000..f6db4ba --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/CategoryBean.java @@ -0,0 +1,63 @@ +package com.avnet.gears.codes.gimbal.store.bean; + +/** + * Created by 914889 on 2/23/15. + */ +public class CategoryBean { + private String shortdescription; + private String identifier; + private String name; + private String thumbnail; + private String uniqueId; + + public String getShortdescription() { + return shortdescription; + } + + public void setShortdescription(String shortdescription) { + this.shortdescription = shortdescription; + } + + public String getIdentifier() { + return identifier; + } + + public void setIdentifier(String identifier) { + this.identifier = identifier; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getThumbnail() { + return thumbnail; + } + + public void setThumbnail(String thumbnail) { + this.thumbnail = thumbnail; + } + + public String getUniqueId() { + return uniqueId; + } + + public void setUniqueId(String uniqueId) { + this.uniqueId = uniqueId; + } + + @Override + public String toString() { + return "CategoryBean{" + + "shortdescription='" + shortdescription + '\'' + + ", identifier='" + identifier + '\'' + + ", name='" + name + '\'' + + ", thumbnail='" + thumbnail + '\'' + + ", uniqueId='" + uniqueId + '\'' + + '}'; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/CategoryResponseBean.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/CategoryResponseBean.java new file mode 100644 index 0000000..6ff00ad --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/CategoryResponseBean.java @@ -0,0 +1,65 @@ +package com.avnet.gears.codes.gimbal.store.bean; + +import java.util.Arrays; + +/** + * Created by 914889 on 3/4/15. + */ +public class CategoryResponseBean { + private String[] storeId; + private String[] type; + private String[] identifier; + private String[] langId; + private CategoryBean[] CatalogGroupView; + + public String[] getStoreId() { + return storeId; + } + + public void setStoreId(String[] storeId) { + this.storeId = storeId; + } + + public String[] getType() { + return type; + } + + public void setType(String[] type) { + this.type = type; + } + + public String[] getIdentifier() { + return identifier; + } + + public void setIdentifier(String[] identifier) { + this.identifier = identifier; + } + + public String[] getLangId() { + return langId; + } + + public void setLangId(String[] langId) { + this.langId = langId; + } + + public CategoryBean[] getCatalogGroupView() { + return CatalogGroupView; + } + + public void setCatalogGroupView(CategoryBean[] catalogGroupView) { + CatalogGroupView = catalogGroupView; + } + + @Override + public String toString() { + return "CategoryResponseBean{" + + "storeId=" + Arrays.toString(storeId) + + ", type=" + Arrays.toString(type) + + ", identifier=" + Arrays.toString(identifier) + + ", langId=" + Arrays.toString(langId) + + ", CatalogGroupView=" + Arrays.toString(CatalogGroupView) + + '}'; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/NotificationActionBean.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/NotificationActionBean.java new file mode 100644 index 0000000..ce93e52 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/bean/NotificationActionBean.java @@ -0,0 +1,45 @@ +package com.avnet.gears.codes.gimbal.store.bean; + +import android.app.PendingIntent; + +/** + * Created by 914889 on 2/27/15. + */ +public class NotificationActionBean { + private int drawableIcon; + private String actionTitle; + private PendingIntent targetActionPendingIntent; + + public int getDrawableIcon() { + return drawableIcon; + } + + public void setDrawableIcon(int drawableIcon) { + this.drawableIcon = drawableIcon; + } + + public String getActionTitle() { + return actionTitle; + } + + public void setActionTitle(String actionTitle) { + this.actionTitle = actionTitle; + } + + public PendingIntent getTargetActionPendingIntent() { + return targetActionPendingIntent; + } + + public void setTargetActionPendingIntent(PendingIntent targetActionPendingIntent) { + this.targetActionPendingIntent = targetActionPendingIntent; + } + + @Override + public String toString() { + return "NotificationActionBean{" + + "drawableIcon=" + drawableIcon + + ", actionTitle='" + actionTitle + '\'' + + ", targetActionPendingIntent=" + targetActionPendingIntent + + '}'; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/client/HttpClient.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/client/HttpClient.java new file mode 100644 index 0000000..ab181a8 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/client/HttpClient.java @@ -0,0 +1,198 @@ +package com.avnet.gears.codes.gimbal.store.client; + +/** + * Created by 914889 on 2/24/15. + */ + +import android.util.Log; + +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants.HTTP_HEADER_VALUES; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants.HTTP_REQUEST_HEADER_PROPERTIES; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants.HTTP_METHODS; + +import java.io.BufferedReader; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; +import java.text.MessageFormat; +import java.util.Map; +import java.util.Set; + +public class HttpClient { + + private static final int BYTE_ARRAY_LIMIT_1K = 1024; + + + + private static final String DELIMITER = "--"; + private static final String BOUNDARY = "SwA" + + Long.toString(System.currentTimeMillis()) + +"SwA"; + private static final String HEADER_DELIMITER_VALUE = "\r\n"; + private static final String DELIMITER_COLAN = ":"; + private static final String DELIMITER_QUESTION = "?"; + private static final String DELIMITER_SEMICOLAN = ";"; + private static final String DELIMITER_AMPERSAND = "&"; + private static final String DELIMITER_EQUAL = "="; + + private static int MAX_READ_TIMEOUT = 100000; + protected HttpClient() { + // treating it as a static class + } + private static HttpURLConnection getPlainHttConnection(String url, HTTP_METHODS httpMethod, boolean doInput, + boolean doOutput, boolean isMultiPart, boolean setKeepAlive, + boolean useCaches,boolean allowUserInteraction, int timeout) throws MalformedURLException, IOException { + HttpURLConnection con = (HttpURLConnection) ( new URL(url)).openConnection(); + con.setRequestMethod(httpMethod.toString()); + con.setDoInput(doInput); + con.setDoOutput(doOutput); + if(httpMethod == HTTP_METHODS.GET) { + con.setRequestProperty(HTTP_REQUEST_HEADER_PROPERTIES.CONTENT_LENGTH.getValue(), "0"); + con.setUseCaches(useCaches); + con.setAllowUserInteraction(allowUserInteraction); + con.setConnectTimeout(timeout); + con.setReadTimeout(timeout); + } + if( setKeepAlive ) { + con.setRequestProperty(HTTP_REQUEST_HEADER_PROPERTIES.CONNECTION.getValue(), + HTTP_HEADER_VALUES.CONNECTION_KEEP_ALIVE.getValue()); + } + if( isMultiPart ) { + con.setRequestProperty(HTTP_REQUEST_HEADER_PROPERTIES.CONTENT_TYPE.getValue(), + MessageFormat.format(HTTP_HEADER_VALUES.CONTENT_TYPE_MULTIPART.getValue(), + BOUNDARY) + ); + } + con.connect(); + return con; + } + public static HttpURLConnection getHttPOSTConnection(String url) throws MalformedURLException, IOException { + return getPlainHttConnection(url, HTTP_METHODS.POST, true, + true, false, false, + false,false,MAX_READ_TIMEOUT); + } + public static HttpURLConnection getHttpGetConnection(String url, Map paramsMap) throws MalformedURLException, IOException { + url += DELIMITER_QUESTION + getStringParameters(paramsMap); + return getPlainHttConnection(url, HTTP_METHODS.GET, true, + true, false, false, + true, true, MAX_READ_TIMEOUT); + } + + public static HttpURLConnection getMultiPartHttpPOSTConnection(String url) throws MalformedURLException, IOException { + return getPlainHttConnection(url, HTTP_METHODS.POST, true, + true, true, true, + false,false,MAX_READ_TIMEOUT); + } + + private static String getStringParameters(Map parametersMap) { + Set keySet = parametersMap.keySet(); + String outputParametersString = ""; + for(String key : keySet) { + if(!outputParametersString.isEmpty()) { + outputParametersString += DELIMITER_AMPERSAND; + } + outputParametersString += key + DELIMITER_EQUAL + parametersMap.get(key); + } + return outputParametersString; + } + + public static void writePlainParameters(OutputStream outputStream, Map parametersMap) throws IOException { + String outputParametersString = getStringParameters(parametersMap); + Log.d("HTTP DEBUG", outputParametersString); + outputStream.write(outputParametersString.getBytes()); + } + public static byte[] downloadBytesData(HttpURLConnection con) throws IOException{ + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + InputStream is = con.getInputStream(); + byte[] b = new byte[BYTE_ARRAY_LIMIT_1K]; + + while ( is.read(b) != -1) + byteArrayOutputStream.write(b); + + con.disconnect(); + + return byteArrayOutputStream.toByteArray(); + } + + public static void writeMultiPartFileData(OutputStream os, String paramName, String fileName, byte[] data) throws Exception { + os.write( (DELIMITER + BOUNDARY + "\r\n").getBytes()); + os.write( (HTTP_REQUEST_HEADER_PROPERTIES.CONTENT_DISPOSITION.getValue() + + DELIMITER_COLAN + " " + + MessageFormat.format(HTTP_HEADER_VALUES.CONTENT_DISPOSITION_FORM_DATA.getValue(), + paramName) + + DELIMITER_SEMICOLAN + + MessageFormat.format(HTTP_HEADER_VALUES.CONTENT_DISPOSITION_FILE_NAME.getValue(), + fileName) + + HEADER_DELIMITER_VALUE).getBytes()); + os.write( (HTTP_REQUEST_HEADER_PROPERTIES.CONTENT_TYPE.getValue() + + DELIMITER_COLAN + " " + + HTTP_HEADER_VALUES.CONTENT_TYPE_OCTET.getValue() + + HEADER_DELIMITER_VALUE ).getBytes()); + os.write( (HTTP_REQUEST_HEADER_PROPERTIES.CONTENT_TRANSFER_ENCODING.getValue() + + DELIMITER_COLAN + " " + + HTTP_HEADER_VALUES.CONTENT_TRANSFER_ENCODING_BINARY.getValue() + + HEADER_DELIMITER_VALUE ).getBytes()); + os.write("\r\n".getBytes()); + + os.write(data); + + os.write(HEADER_DELIMITER_VALUE.getBytes()); + } + + public static void finishMultipart(OutputStream os) throws Exception { + os.write( (DELIMITER + BOUNDARY + DELIMITER + HEADER_DELIMITER_VALUE).getBytes()); + } + + + public static String getResponseString(HttpURLConnection con) throws Exception { + int responseCode = con.getResponseCode(); + + StringBuffer buffer = new StringBuffer(); + if(GimbalStoreConstants.HTTP_RESPONSE_CODES.getCode(responseCode) == GimbalStoreConstants.HTTP_RESPONSE_CODES.OK + || GimbalStoreConstants.HTTP_RESPONSE_CODES.getCode(responseCode) == GimbalStoreConstants.HTTP_RESPONSE_CODES.ACCEPTED) { + InputStream is = con.getInputStream(); + int len = 0; + + + byte[] data1 = new byte[BYTE_ARRAY_LIMIT_1K]; + while ( -1 != (len = is.read(data1)) ) + buffer.append(new String(data1, 0, len)); + + } + con.disconnect(); + + return buffer.toString(); + } + + + + private static void writeMultiPartParamData(OutputStream os, Map parametersMap) throws Exception { + Set keySet = parametersMap.keySet(); + + for(String key : keySet) { + os.write( (DELIMITER + BOUNDARY + HEADER_DELIMITER_VALUE).getBytes()); + os.write((HTTP_REQUEST_HEADER_PROPERTIES.CONTENT_TYPE.getValue() + + DELIMITER_COLAN + " " + + HTTP_HEADER_VALUES.CONTENT_TYPE_TEXT.getValue() + + HEADER_DELIMITER_VALUE).getBytes()); + + + os.write( (HTTP_REQUEST_HEADER_PROPERTIES.CONTENT_DISPOSITION.getValue() + + DELIMITER_COLAN + " " + + MessageFormat.format(HTTP_HEADER_VALUES.CONTENT_DISPOSITION_FORM_DATA.getValue(), + key) + + HEADER_DELIMITER_VALUE).getBytes()); + os.write( (HEADER_DELIMITER_VALUE + + parametersMap.get(key) + + HEADER_DELIMITER_VALUE).getBytes()); + + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/constant/GimbalStoreConstants.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/constant/GimbalStoreConstants.java new file mode 100644 index 0000000..fcc1781 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/constant/GimbalStoreConstants.java @@ -0,0 +1,97 @@ +package com.avnet.gears.codes.gimbal.store.constant; + +import java.util.List; + +/** + * Created by 914889 on 2/25/15. + */ +public class GimbalStoreConstants { + + public static String SUCCESS_STRING = "DONE"; + + // inter activity interaction data key values + public static enum INTENT_EXTRA_ATTR_KEY { + SELECTED_CATEGORY_ID, + SELECTED_SUB_CATEGORY_ID, + SELECTED_PRODUCT_ID, + SELECTED_FEED_ID, + SELECTED_NOTIFICATION_ID, + SELECTED_REVIEW_ID; + } + public static String START_COMMENT_STRING = "/*"; + public static String END_COMMENT_STRING = "*/"; + public static enum StoreParameterKeys { + langId, + storeId, + type, + identifier, + catalogId + } + + public static enum HTTP_METHODS { + GET, POST + } + public static enum HTTP_RESPONSE_CODES { + OK(200), + CREATED(201), + ACCEPTED(202), + MULTIPLE_CHOICES(300), + MOVED_PERMANENTLY(301), + BAD_REQUEST(400), + UNAUTHORIZED(401), + FORBIDDEN(403), + NOT_FOUND(404), + REQUEST_TIMEOUT(408); + HTTP_RESPONSE_CODES(int code) { + this.codeValue = code; + } + private int codeValue; + + public static HTTP_RESPONSE_CODES getCode(int value) { + HTTP_RESPONSE_CODES returnValue = HTTP_RESPONSE_CODES.NOT_FOUND; + for(HTTP_RESPONSE_CODES code : HTTP_RESPONSE_CODES.values()) { + if(code.codeValue == value) { + returnValue = code; + break; + } + } + return returnValue; + } + + } + public static enum HTTP_REQUEST_HEADER_PROPERTIES { + CONNECTION("Connection"), + CONTENT_TYPE("Content-Type"), + CONTENT_DISPOSITION("Content-Disposition"), + CONTENT_TRANSFER_ENCODING("Content-Transfer-Encoding"), + CONTENT_LENGTH("Content-length"); + + HTTP_REQUEST_HEADER_PROPERTIES(String value) { + this.value = value; + } + private String value; + + public String getValue() { + return this.value; + } + } + + public static enum HTTP_HEADER_VALUES { + CONNECTION_KEEP_ALIVE("Keep-Alive"), + CONTENT_TYPE_TEXT("text/plain"), + CONTENT_DISPOSITION_FORM_DATA("form-data; name=\"{0}\""), + CONTENT_DISPOSITION_FILE_NAME("file-name=\"{0}\""), + CONTENT_TYPE_OCTET(" application/octet-stream"), + CONTENT_TYPE_MULTIPART("multipart/form-data; boundary={0}"), + CONTENT_TRANSFER_ENCODING_BINARY("binary"); + + HTTP_HEADER_VALUES(String value) { + this.value = value; + } + private String value; + public String getValue(){ + return this.value; + } + } + +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/delegate/GimbalStoreRESTServiceDelegate.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/delegate/GimbalStoreRESTServiceDelegate.java new file mode 100644 index 0000000..ea7a1cc --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/delegate/GimbalStoreRESTServiceDelegate.java @@ -0,0 +1,20 @@ +package com.avnet.gears.codes.gimbal.store.delegate; + +import android.util.Log; + +import com.avnet.gears.codes.gimbal.store.bean.CategoryBean; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by 914889 on 2/24/15. + */ +public class GimbalStoreRESTServiceDelegate { + public static List getAllCategories() { + Log.d("DEBUG","Entering GimbalStoreRESTServiceDelegate.getAllCategories()"); + List allCategoriesList = new ArrayList(); + Log.d("DEBUG","Exiting GimbalStoreRESTServiceDelegate.getAllCategories()"); + return allCategoriesList; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/fragment/NavigationDrawerFragment.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/fragment/NavigationDrawerFragment.java new file mode 100644 index 0000000..bcbcf4e --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/fragment/NavigationDrawerFragment.java @@ -0,0 +1,307 @@ +package com.avnet.gears.codes.gimbal.store.fragment; + + +import android.app.Activity; +import android.app.ActionBar; +import android.app.Fragment; +import android.support.v4.app.ActionBarDrawerToggle; +import android.support.v4.view.GravityCompat; +import android.support.v4.widget.DrawerLayout; +import android.content.SharedPreferences; +import android.content.res.Configuration; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.Toast; + +import com.avnet.gears.codes.gimbal.store.R; +import com.avnet.gears.codes.gimbal.store.activity.HomeActivity; +import com.avnet.gears.codes.gimbal.store.bean.CategoryBean; + +import java.util.List; + +/** + * Fragment used for managing interactions for and presentation of a navigation drawer. + * See the + * design guidelines for a complete explanation of the behaviors implemented here. + */ +public class NavigationDrawerFragment extends Fragment { + + /** + * Remember the position of the selected item. + */ + private static final String STATE_SELECTED_POSITION = "selected_navigation_drawer_position"; + + /** + * Per the design guidelines, you should show the drawer on launch until the user manually + * expands it. This shared preference tracks this. + */ + private static final String PREF_USER_LEARNED_DRAWER = "navigation_drawer_learned"; + + /** + * A pointer to the current callbacks instance (the Activity). + */ + private NavigationDrawerCallbacks mCallbacks; + + /** + * Helper component that ties the action bar to the navigation drawer. + */ + private ActionBarDrawerToggle mDrawerToggle; + + private DrawerLayout mDrawerLayout; + private ListView mDrawerListView; + private View mFragmentContainerView; + + private int mCurrentSelectedPosition = 0; + private boolean mFromSavedInstanceState; + private boolean mUserLearnedDrawer; + + private String[] mCategoryTitles = new String[]{"Section 1", "Section 2", "Section 3", "Section 4"}; + + public NavigationDrawerFragment() { + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // Read in the flag indicating whether or not the user has demonstrated awareness of the + // drawer. See PREF_USER_LEARNED_DRAWER for details. + SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity()); + mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false); + + if (savedInstanceState != null) { + mCurrentSelectedPosition = savedInstanceState.getInt(STATE_SELECTED_POSITION); + mFromSavedInstanceState = true; + } + + // Select either the default item (0) or the last selected item. + selectItem(mCurrentSelectedPosition); + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + + // Indicate that this fragment would like to influence the set of actions in the action bar. + setHasOptionsMenu(true); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + mDrawerListView = (ListView) inflater.inflate( + R.layout.fragment_navigation_drawer, container, false); + mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + selectItem(position); + } + }); + refreshDrawerListView(); + return mDrawerListView; + } + public void refreshDrawerListView() { + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + mDrawerListView.setAdapter(new ArrayAdapter( + getActionBar().getThemedContext(), + android.R.layout.simple_list_item_activated_1, + android.R.id.text1, + mCategoryTitles + )); + + mDrawerListView.setItemChecked(mCurrentSelectedPosition, true); + mDrawerListView.refreshDrawableState(); + } + }); + } + public boolean isDrawerOpen() { + return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(mFragmentContainerView); + } + + /** + * Users of this fragment must call this method to set up the navigation drawer interactions. + * + * @param fragmentId The android:id of this fragment in its activity's layout. + * @param drawerLayout The DrawerLayout containing this fragment's UI. + */ + public void setUp(int fragmentId, DrawerLayout drawerLayout, String[] categoryTitles) { + mFragmentContainerView = getActivity().findViewById(fragmentId); + mDrawerLayout = drawerLayout; + + // set a custom shadow that overlays the main content when the drawer opens + mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); + // set up the drawer's list view with items and click listener + mCategoryTitles = categoryTitles; + refreshDrawerListView(); + + ActionBar actionBar = getActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + actionBar.setHomeButtonEnabled(true); + + // ActionBarDrawerToggle ties together the the proper interactions + // between the navigation drawer and the action bar app icon. + mDrawerToggle = new ActionBarDrawerToggle( + getActivity(), /* host Activity */ + mDrawerLayout, /* DrawerLayout object */ + R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ + R.string.navigation_drawer_open, /* "open drawer" description for accessibility */ + R.string.navigation_drawer_close /* "close drawer" description for accessibility */ + ) { + @Override + public void onDrawerClosed(View drawerView) { + super.onDrawerClosed(drawerView); + if (!isAdded()) { + return; + } + + getActivity().invalidateOptionsMenu(); // calls onPrepareOptionsMenu() + } + + @Override + public void onDrawerOpened(View drawerView) { + super.onDrawerOpened(drawerView); + if (!isAdded()) { + return; + } + + if (!mUserLearnedDrawer) { + // The user manually opened the drawer; store this flag to prevent auto-showing + // the navigation drawer automatically in the future. + mUserLearnedDrawer = true; + SharedPreferences sp = PreferenceManager + .getDefaultSharedPreferences(getActivity()); + sp.edit().putBoolean(PREF_USER_LEARNED_DRAWER, true).apply(); + } + + getActivity().invalidateOptionsMenu(); // calls onPrepareOptionsMenu() + } + }; + + // If the user hasn't 'learned' about the drawer, open it to introduce them to the drawer, + // per the navigation drawer design guidelines. + if (!mUserLearnedDrawer && !mFromSavedInstanceState) { + mDrawerLayout.openDrawer(mFragmentContainerView); + } + + // Defer code dependent on restoration of previous instance state. + mDrawerLayout.post(new Runnable() { + @Override + public void run() { + mDrawerToggle.syncState(); + } + }); + + mDrawerLayout.setDrawerListener(mDrawerToggle); + } + + private void selectItem(int position) { + mCurrentSelectedPosition = position; + Log.d("DEBUG", "mCurrentSelectedPosition="+mCurrentSelectedPosition); + if (mDrawerListView != null) { + mDrawerListView.setItemChecked(position, true); + } + if (mDrawerLayout != null) { + mDrawerLayout.closeDrawer(mFragmentContainerView); + } + if (mCallbacks != null) { + mCallbacks.onNavigationDrawerItemSelected(position); + } + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + try { + mCallbacks = (NavigationDrawerCallbacks) activity; + } catch (ClassCastException e) { + throw new ClassCastException("Activity must implement NavigationDrawerCallbacks."); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mCallbacks = null; + } + + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putInt(STATE_SELECTED_POSITION, mCurrentSelectedPosition); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + // Forward the new configuration the drawer toggle component. + mDrawerToggle.onConfigurationChanged(newConfig); + } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + // If the drawer is open, show the global app actions in the action bar. See also + // showGlobalContextActionBar, which controls the top-left area of the action bar. + if (mDrawerLayout != null && isDrawerOpen()) { + inflater.inflate(R.menu.global, menu); + showGlobalContextActionBar(); + } + super.onCreateOptionsMenu(menu, inflater); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (mDrawerToggle.onOptionsItemSelected(item)) { + return true; + } + + if (item.getItemId() == R.id.action_example) { + Toast.makeText(getActivity(), "Example action.", Toast.LENGTH_SHORT).show(); + return true; + } + + return super.onOptionsItemSelected(item); + } + + /** + * Per the navigation drawer design guidelines, updates the action bar to show the global app + * 'context', rather than just what's in the current screen. + */ + private void showGlobalContextActionBar() { + ActionBar actionBar = getActionBar(); + actionBar.setDisplayShowTitleEnabled(true); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + actionBar.setTitle(R.string.app_name); + } + + private ActionBar getActionBar() { + return getActivity().getActionBar(); + } + + /** + * Callbacks interface that all activities using this fragment must implement. + */ + public static interface NavigationDrawerCallbacks { + + + /** + * Called when an item in the navigation drawer is selected. + */ + void onNavigationDrawerItemSelected(int position); + + } + public void setmCategoryTitles(String[] categoryTitles) { + this.mCategoryTitles = categoryTitles; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/handler/HttpConnectionAsyncTask.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/handler/HttpConnectionAsyncTask.java new file mode 100644 index 0000000..aefc353 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/handler/HttpConnectionAsyncTask.java @@ -0,0 +1,55 @@ +package com.avnet.gears.codes.gimbal.store.handler; + +import android.os.AsyncTask; + +import com.avnet.gears.codes.gimbal.store.async.response.processor.AsyncResponseProcessor; +import com.avnet.gears.codes.gimbal.store.client.HttpClient; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants.HTTP_RESPONSE_CODES; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants.HTTP_METHODS; + + +import java.net.HttpURLConnection; +import java.util.List; +import java.util.Map; + +/** + * Created by 914889 on 2/24/15. + */ +public class HttpConnectionAsyncTask extends AsyncTask, Object> { + + private String url; + private HTTP_METHODS httpMethod; + private String responseString; + private int responseCode; + private String responseType; + private Map parametersMap; + private AsyncResponseProcessor processor; + + public HttpConnectionAsyncTask(HTTP_METHODS http_method, String url, + Map parametersMap, AsyncResponseProcessor processor){ + this.processor = processor; + this.httpMethod = http_method; + this.url = url; + this.parametersMap = parametersMap; + } + + @Override + protected String doInBackground(String... params) { + try { + HttpURLConnection con = HttpClient.getHttpGetConnection(this.url, parametersMap); + this.responseString = HttpClient.getResponseString(con); + this.responseCode = con.getResponseCode(); + // Log.d("DEBUG", "String response code = " + this.responseCode ); + // Log.d("DEBUG", "Response = " + responseString); + this.processor.doProcess(HTTP_RESPONSE_CODES.getCode(this.responseCode), this.responseString); + } catch (Exception e) { + e.printStackTrace(); + } + return GimbalStoreConstants.SUCCESS_STRING; + } + protected void onPostExecute(String page) + { + //onPostExecute call the response handler's process + } + } diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/handler/ImageResponseAsyncTask.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/handler/ImageResponseAsyncTask.java new file mode 100644 index 0000000..daeac5d --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/handler/ImageResponseAsyncTask.java @@ -0,0 +1,43 @@ +package com.avnet.gears.codes.gimbal.store.handler; + +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.os.AsyncTask; +import android.widget.ImageButton; +import android.widget.ImageView; + +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; + +import java.io.InputStream; +import java.net.URL; +import java.util.List; + +/** + * Created by 914889 on 3/4/15. + */ +public class ImageResponseAsyncTask extends AsyncTask, Object> { + private String imageUrl; + private ImageView imageView; + private ImageButton imageButton; + + public ImageResponseAsyncTask(String imageUrl, ImageView imageView, ImageButton imageButton) { + this.imageUrl = imageUrl; + this.imageView = imageView; + this.imageButton = imageButton; + } + + @Override + protected Object doInBackground(String... params) { + try { + Bitmap bitmap = BitmapFactory.decodeStream((InputStream) new URL(imageUrl).getContent()); + if(imageButton != null) { + imageButton.setImageBitmap(bitmap); + } else if(imageView != null) { + imageButton.setImageBitmap(bitmap); + } + } catch (Exception e) { + e.printStackTrace(); + } + return GimbalStoreConstants.SUCCESS_STRING; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/NotificationUtil.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/NotificationUtil.java new file mode 100644 index 0000000..b51cf30 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/NotificationUtil.java @@ -0,0 +1,53 @@ +package com.avnet.gears.codes.gimbal.store.utils; + +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; + +import com.avnet.gears.codes.gimbal.store.bean.NotificationActionBean; + +import java.util.List; + +/** + * Created by 914889 on 2/27/15. + */ +public class NotificationUtil { + + public static void notify(Context context, Intent targetIntent, + String contentText, String notificationTitle, int resourceIcon, + boolean autoCancel, List actionsBeanList) { + // prepare intent which is triggered if the + // notification is selected + + PendingIntent pIntent = PendingIntent.getActivity(context, 0, targetIntent, 0); + + // build notification + // the addAction re-use the same intent to keep the example short + Notification.Builder builder = new Notification.Builder(context) + .setContentTitle(notificationTitle) + .setContentText(contentText) + .setSmallIcon(resourceIcon) + .setContentIntent(pIntent) + .setAutoCancel(autoCancel); + // dynamically add sub actions, if any + if(actionsBeanList != null) { + for(NotificationActionBean actionBean : actionsBeanList){ + builder.addAction(actionBean.getDrawableIcon(), + actionBean.getActionTitle(), + actionBean.getTargetActionPendingIntent()); + } + } + + // build to notifications once we set all teh parameters + Notification n = builder.build(); + + // create a notification manager from the calling context + NotificationManager notificationManager = + (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); + + // send notification + notificationManager.notify(0, n); + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/ServerURLUtil.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/ServerURLUtil.java new file mode 100644 index 0000000..7225d81 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/ServerURLUtil.java @@ -0,0 +1,43 @@ +package com.avnet.gears.codes.gimbal.store.utils; + +import android.content.res.Resources; + +import com.avnet.gears.codes.gimbal.store.R; +import com.avnet.gears.codes.gimbal.store.constant.GimbalStoreConstants; + +import java.util.HashMap; +import java.util.Map; + +/** + * Created by 914889 on 3/4/15. + */ +public class ServerURLUtil { + private static String SEPARATOR_SLASH = "/"; + + public static String getStoreServletServerURL(Resources resource) { + StringBuilder activeServerURL = new StringBuilder(); + activeServerURL.append(resource.getString(R.string.SERVER_PROTOCOL)); + activeServerURL.append(resource.getString(R.string.STORE_SERVICE_HOST)); + activeServerURL.append(resource.getString(R.string.STORE_SERVLET_CONTEXT_ROOT)); + activeServerURL.append(resource.getString(R.string.MOBILE_ACCESS_CONTROLLER_SERVLET)); + return activeServerURL.toString(); + } + public static String getAbsoluteUrlFor(Resources resource, String relativeURL){ + StringBuilder activeServerURL = new StringBuilder(); + activeServerURL.append(resource.getString(R.string.SERVER_PROTOCOL)); + activeServerURL.append(resource.getString(R.string.STORE_SERVICE_HOST)); + if(!relativeURL.startsWith(SEPARATOR_SLASH)) { + activeServerURL.append(SEPARATOR_SLASH); + } + activeServerURL.append(relativeURL); + return activeServerURL.toString(); + } + public static Map getBasicConfigParamsMap(Resources resource) { + Map paramsMap = new HashMap(); + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.langId.toString(), + String.valueOf(resource.getString(R.string.ACTIVE_STORE_LANG_ID))); + paramsMap.put(GimbalStoreConstants.StoreParameterKeys.storeId.toString(), + String.valueOf(resource.getString(R.string.ACTIVE_STORE_ID))); + return paramsMap; + } +} diff --git a/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/TypeConversionUtil.java b/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/TypeConversionUtil.java new file mode 100644 index 0000000..79d1eb7 --- /dev/null +++ b/app/src/main/java/com/avnet/gears/codes/gimbal/store/utils/TypeConversionUtil.java @@ -0,0 +1,26 @@ +package com.avnet.gears.codes.gimbal.store.utils; + +import android.util.Log; + +import com.avnet.gears.codes.gimbal.store.bean.CategoryBean; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by 914889 on 3/4/15. + */ +public class TypeConversionUtil { + + public static String[] getCategoryTitleList(List categoryBeanList) { + List categoryTitleList = new ArrayList<>(); + if(categoryBeanList != null && !categoryBeanList.isEmpty()) { + for(CategoryBean categoryBean : categoryBeanList){ + categoryTitleList.add(categoryBean.getName()); + } + } + Log.d("DEBUG", categoryTitleList.toArray(new String[]{}).toString()); + return categoryTitleList.toArray(new String[]{}); + } + +} diff --git a/app/src/main/res/drawable-hdpi/drawer_shadow.9.png b/app/src/main/res/drawable-hdpi/drawer_shadow.9.png new file mode 100644 index 0000000000000000000000000000000000000000..236bff558af07faa3921ba35e2515edf62d04bb9 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^JV0#3!3HEVSgovp6icy_X9x!n)NrJ90QsB+9+AZi z4BVX{%xHe{^je^xv!{z=h{y5dAOHW`Gf#YA@1xt%!KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0000uNklL`9r|n3#ts(U@pVoQ)(ZPc(6i z8k}N`MvWQ78F(rhG(?6FnFXYo>28{yZ}%O}TvdDT_5P?j=iW=V`8=UNc_}`JbG!ST zs@lK(TWkH+P**sB$A`cEY%Y53cQ}1&6`x-M$Cz&{o9bLU^M-%^mY?+vedlvt$RT-^ zu|w7}IaWaljBq#|I%Mpo!Wc2bbZF3KF9|D%wZe{YFM=hJAv$>j>nhx`=Wis#KG!cJA5x!4)f) zezMz1?Vn$GnZNjbFXH(pK83nn!^3=+^*kTTs5rV9Dq^XS(IKO!mKt5!dSmb3IVCxZ z8TTk5IE)F1V29$G7v#j9d-hy&_pdg8?kT4)zqr>?`}I%W>(?GO%*C&}?Fp|bI*~2&KZ$%^B6R&1~2kA{`CWy+>F-x=z-f{_&vyu_3yp{jtw(*syi% zu3t2|4{c~LJXRt2m>rMg2V_kLltCZ<`m>qcI?BPP?6hf``|e!rZEFszeYQ3f-*nAS zZ+h1$mFwy+7156lkB(k6)!1fUbJCxgIBK38$jj5cC$r&YXN)nr#PY=tJaLc?C_o?j+8H3Q>891JJ9&$l-r+-SG#q)*;r52% z@nlKflb65o%s*Jt)!pw1k{vIoQIvoJ0Y&Msiw0X!qJ)_47G*?aJ6bJFLh_4b$5&1k5wN>du*>6#i7R9T8; z7>EHOV=ue7mo77SJPwER4(A+s?n0JjYK)b}Om6n>ke?0JR=jTI+RFBg_iwb7k%n*2 zR_M0DJ9x+0zxba4(B1y^JQ_Nj6dlP5PGXvSq8fF#mxrFYj3d9(V#jJwt+IqU9+8+D z6C6Us1OI$d8OF!3+Hm1 zW5in zXV^%U35HooOpSmeqlG6e0kUMYNonKp1vr|My9}4-WO+uOxe_c-o&}%voNYHkqtle% z5yQ_^oozSUUNu30EQSAl!Q%(%3G1NXENSMjCL*Vx-Td2~rk(}d z8pT!HZe>1r5EGuz`pgsg@^yQEi=BIa#meLq0!?{TZ}q#}=7UC9_l=w|wv+pP!g4#! zRys6EN$Jv}#U47$k&)pDzvks}LGfPku6P9p!56Py)~1)W(11n7n}`Wx!=;_JTiu#d zpCqx=hEk@t4sp?!j{W}wP@V-=Pd=T^>6IKBy;#mLA7hCe{V7B3@I7Ipa}L`MbF|YQ z)$BNWsiEnoNHrtJli|n8cOnn4NyF=8MbVxgof0>Uv%wM_j94a;8(LMjlL~E(99gJ*2%JtNtAkD@j;^ za~Y~&j6uY{=Rv5S4joH*RW_m9N{ZSN0HhAwFyJNok zS9kx$>wMf%tUi&Eb`6u0lWJ|k?A-42(lp2UmS(PrAc(24wexRiHUieMwf$o%m6$xs zp#-SdBUu2D5`v;(9-sm&kN2M74c&AvKe_v@tQ|dzJ2qSgQHpnUP(iQ?J%Il;Jdyp# z7}cpq6Kdm+FS~zS4Eo;fuO=DFP*UlpO|_CNt5&NUqBvQWxmg7#ARvMf=%#H@p%RZ` zjK$hMbNb+vVP3UlkfIt&ptJ<00Ic{Ka+lF+&w;OEs1O2#V8~O|R*Gq9TIgM&UqM&bZOXBwnbC? zDr))NR&g>lwVgcmnx`K1$)PTTw3m}-T11^ZkY{}jQ@lGD$XzJIcVFkYBBW=o_}TUU zt@yd{Jz;@~72x#!RG(#ira6}v-*J#<{@@^OI-Q2T^}=IKLubsa&V-%WwlF1s7fz~u zMdQTV7SnRet#^`VO0V7H(?59X{uy+S`(sorO@2-+qioUdo9+6r4#|jb=?t50oh42R z{}I>Krut|YKkOc|O|M>y#(3YA;I(i+MiHSfwbJA$jIUr$Y2i|u)*>@2eUYk`j4C5r z>61dKu!AqM_E7#DoDzbd-bfT%AYXUUB{SS|{b{`5^?wz1{PVQgTlvyqOX8(#GTz(U zNPhnj>$lC`xaD56`TjW&uW8p~qikP*F8kHFM0frzdk%UNGjb1O$%uLK`0-)2UsZ3L z#+j+CI_8k4VslL%$aVR@joX>M-@odbX!os$xY$HDIOCokY?{Q0v2kQErf|ZlN>D9w zC+2}E&?rDdi#%))$p%P4C_xGXu=@U~_<|V4L|{>TP$XBp$5pCPXLzK3!;gP>7=QNi zkNOur`>xY=@VSpB#LsN9JKpOz({ANcdv>?K+D_*_HZ<;9>kplj^Ph5!e&&a#?(3vK z_Q@}D_M5kGcx^AuaI~qKYUnb1Mj-n;MURXa)+x7~e2gbMW|gw?5Rg zTOMlo>6zIJ$VNVgn(@kTSL0eP)nR35IHpoHM2W#h6cNmTm@-9`dFJ$;k(S`7Lg@RY zp!hNmb9un!O4Wt05ANDGirv(B14gW| zwjP}C9bK{J`qZ_S2o)b`RonR-b8~y8)$H0`+gg6>#^wu8eCp9xA9B>>8(KRizI?+^ zAJ#i>*({qM-c4gBB~5dzg(wj!HA`hkh!aDl5>u&J;>2K#Ax2)2wt|L!9X;(=*jy!`r4_FhCBoRxNjXNv(~jGQ|%<}%K6RimaBJcP0v}oCgRN3B;oiM)opj? zXm;;tv3q-yy}NqMOr^~3&1lW$w3}UK_IT2sCrkYx5$&6e2A%g;QZUX~A&L!2rFd0p z5%men@^zN_Xw2|v%*c2|wQfkN4r6u&k;LxYY+w3{KY#cie)!iz>(yAgt=&-+Sy2V& z9BJxI+VMKQ%dvY~x>gmEijj3ss_*NAT(8d1@DQ6e&#Ln&6Qk>wHrh>;V2nvomC`8& z(w?`?*_^3u-TJrMzv2~7dH(XLJvUOXk4U8oW6Ol)YsawhIB{GdvIzu1hzMTrE)cvB z%2GxMpaF89<9uF(?cfN(BNR?wwWvCZ6e62+G_{$+;`yjgLj{(^z*zzwd;K3RElb*%=??P zm+lLY0@Y}^kVdMYX5M)YJ~8h=i(S{q#NfU0xPTao4WPDQL=Y_;vg=p%iay1_`<0Ga zMG&<(pOU+bI2u9_g8IJBTqGX*3@G$Zc`pj0f@)vd2?Aj`ms>DHg>;w~p}HXV(*VJX zphd;fht9qL3E)D8h$$A;SGl22Ygv>`iU=A)z=1ZYN$|2`*$`R)?KD>$tw_e9h_x~eX_udS~Q%yz?48i*aIa+_wx|j{B zsG7mwZ)6M3dmvgMC3K-66;ML(9o2xU!F8+qF)>v{1;ip)6v_I)6law|rd_Dx2oV|n z(Qm_PUnTTuKFG)w%s|)lS!w~Lm$k|Al=0djocyHU;>1H=!N}0E0lSV^b2^6~^lUco zyoH+|_!li3#euHd4TJS8=CLaHG9H8g&h3Xm z#>BkpUBAmae(#)qO3)ZMG3irM=5IzA^s+)w86=tIMT{&?Awux<(k2>U#n`c&@Z?u= z%=#BoO-9Nc^?)hz*YW~~tU8rLR-MZBJsY_7fp2r~mY>q-O;L%5Fp?}V6CK=F(18U3 znxB8ZR0TT{)T64RDt!+yFgp!JXGP0|It0Hz2Em#YfRv>O>8A?J=Sz!nq<|{&mW=?~ zDQT{S6PH0|jwy37t+0Ob6izz)JdRlNEUbyk>-K?}FOT=Dj9SuS_0nTFd+A^D?Bo83 zTkicXcW=IuZoZd(Dl;&#`LI;_s?e;OH9quf?*XuV0O$Qh0j~HWKpA|PXV4&b2zs z@W5<)dtovIRZ@gvsi$^s;v05(XwF3$lJ;wzYfE`46fnT7>!qt|hWHRE>yQP)i8= zVbC|O{Ud6%kwGcch>>|pE-=?cW;TDR0lE5Nw7l66lr-zIYT3bj^ujCn$b0{ZO;gwK z#}}W(*T3~in$6ZCpbB98pftPTo;!K>U;H*7_}t4m;;4i9#^2t`pS<=jsnx198);d3 z-M6Mx{7-c0A-jhJQ`5mBy8TBnfbr2~sER5E5oz}=so34cg)GYarRWi8w#W$%G{?Z*4xDb#LX1B1 zg!4G{m~*)H_J8J^SNt`XU-fxjea`>p_$Qyn*Dn18*WdPCp8oWw^XU)%kfRQHMgfQh z1j_ua@O4G%QK;&YH3Y9(q!hkgOUCkcVH5N0Ug(EPX%H6qCfPqg))qrd#ec^47dBu- z=sRkmjGS>3K(tfRTo;zCXO-74hV;y1!vCN}v|w?AWR$YpYXs@Dr?iNLKD9s|2)0aHY!TKTYhwMI z7b#54h!H6rUU9+xnL$g6h?t?Li5guXPY1g)$bI$~rHWP%QkYJ6Y-U^0C(@*$ruN2*zn0QRBOeVpgMFbT%k!Dn1*u#%J^y)enX1K;0~ z%3Q zP(b%}P!Loj6M{v96(Qa~K!bq-V-P89U_K)0zHC_F#L==3IPh2hHG6&?rxvQ%|EljR zfGIDyu=rIrl1dyjuMfwuh?pXZmARwNZ?GbW;5BH5D#nN|WbGm+UGAh7_AcG>4&|{0 zrg?k@h8zm!0A|5Zo%X%g|2tBPKHHB6`~4h?I@bepDe6?^f8w zBnzfOf|j{kR5m6BLRr0$!RZ$PHSk*)tyjkws*DpyHIiiL*8o(Smx(OKT7@D&Y3OI^ zEUMtKa2*SLjt(eJsZsLsrgV`A+xL(~JN#JU6+L)gCe%VuSNbCzTr09w>eZ#779SKV z)m)@#TNVy|q3Tz_U`^7MY`l}`GU~OlQi|*cprX?tm@tIV+8kOGkaa=9Y<{N|RZ)ns zHlgnz2S%qwK9wXjest~Ux$YNNA{0?6Xpv{_mqYt8D`g&7Yb~>lX+HP&AK<=+Zl_kO z6a2g`^4=9W92GQ3e9Mk6?DlzlkIM`iOzwk*5L81TcuyYkI-<3^@49_+^XC7&N}SL1 zh$kIBxb`9+v}acfV?FQ zN#04eHe0*j{pz=zOj3#EHLrT3e)O;3xqpCWrl$e)PcD9jQ4P-8_zyZg^M7i|*kOuj znsvlwNUsy5+01^P_sqMOjXjxKwHn4)$87t-MWZZ*5Dbit4|D9vL+spsJ0JPd?{Ms) zFW^<@yqjZ=IvG%$ck_Cu9|b8CvoV%5P5IZWzs>i4`~`N+-p`7a6RbLHJ;nxtSB#Mb z`1I552=9DrYWFNZ{-=Mt;SVo5@3cmv`IZT@@>#~zCe-=qENxsn+uHfL`e?SbT3IQ_ zt~e)Lcirs_S5^X#?hDYmgV%8QQDe+?>*1&0e^BnaeZz(&D~3<)#QuUL8h*NlXgtr| z&a{_Z)o9FK_U5<0!E3N|yY1P2g%J9s*?!zF78+NSb%!ix)tbQ09oO&|U$~Bwk35^- zec9VN^xz{043e^xD}WEmzh8d^-~Pd8**bEfd+I?HuO~n4SksoN8LRPUy={E<@BjRMUh?X71Xaey>t^$&Eq2B7)u_r$ z|IQwpG52G!F$J5fRo1LqLB7iKz_!bI@27skX~+Eze|Y}IBuRp?hR7z|eA~7B<99#7 zrX4r2a_tCDUb_}Cg)g!OEVeJ5AEVRyb!9~f4OL68qhZZRP0l*>MdkxvxXeGWx$T>+ zI^X!wnYQDnwK9?i)j)eLXJU2Cw>~>R?72@MecvT7;h~2gATow_cbc)$Ws+xNSB{++ zo^tTp^y*(-Y-XF=$XyoBJnMN9+p!Qrep1)%ym_v7zZH{;u~L>T=4XP!f^?uC4ULUR zdl`>x+DVkHVd;|9#N*oubBFQEyRT#UK^0c7T}l)eEEFS)qvZl%f>#I;iCwAWb=kW0 z(e#lm51o?d>D|kgtTscVQCNDAXMAjxSX&{_Qf)T((wMHWWLbz6WpPXP0(3_SBWwI19Vx?$i6WUqP$4O|wjNbYzst$z{58`cBhm z&F(N-KeXFzo#aC|6BbC($As#B8X=}ggpDyQUp|Q>9cG$47#>TQn%T(eHA`5se7KnZ zF_dj_6NN0xS-oZ%Nj%PTpK=MC zw*4IMGls_v)mokI)Dph*pD<)7prEF|j6I$2=XF=Ua3z;BN^yt&H@G%7& zWnL7*e0S9svjSP>kuc;VCbZXUN3G7D8`G@!Qnjt=p=7yC?QH0tsa@RsuPMLj@wf-c z|LV)H$Auga+MTAU#>)eeuh_L`!qC=Ls|{m}Cy)|w6#aP}w6_-ya~9LF z{dQAPa-|&ME858gIK=}lVK7MLT~Oye&UM9y?0X=8Qmvb*)=X}iv%Me)Gqav+FWdGT zuk&#ak~?2Kzf}w)xZuKGx%+`1?Ecoq?*H@EjFm%C6OT577vWKoJB z$A^sIasm!5TGOFFGmHkKNTE7KW3nveUq1bt4Uj)!1_6BJ zU6=EoPrjVdk+pQX+j-GTpQS&&^43tT43kuRlvE8fGdYc!1|m)3WCuwlqB>NeQc0** zYE&wTj*QpuPLfJ)j2$(`sI@k@oR!^9d(3&Kd6r3*<)pooPNzq=)1%#NQ;nAsF*5VR zOYXQC;B^4*Sik--jy?J`uDj-! zSep}9YT4*SOrT2I6MF4H+EZFRPh+}^b4@i8OYk9Y&86o*Y4(`Ax1W4#tX^5m6LjZPb61LF2?qBy?B_?1YE!nej)R5c8qG`2s_uF`Cu+ z`X_$#2Ur#!Pw0WVd60fYG8A#y55LDyJ!Yt$5G6Efb<6Nr%-BTC_|llMB?%*A5%rOX z`fyBbD5g@4Ns^)P;F7zjv{t6u?k1J0kR*v#Dhair3iXjH^^qz=!xd`vm`W`oN-Wj_ zNML7~t!rRbc|9I0mUjpEgOJ9XGg2;vjDZ;b~V638P!uVuejytg~ci-I(n9#M6AR=mQG0YjoLKGPgFp(jS4Pn7UJR)Et z-8ZsqWsRLXri#f_BSeWIat3P+Q3Td1#ws={2CLGpDdvrgP#KD7 z&SnaR^#_Bsq;Xt;kyI^}iX~1WYzdHamc$tH1#Mz6f<2(WuH^s%^yXK78Gyg}{;LNA zoW%$)#R!a0wv&q%qj%+~i3^k&1jY!ljfi82Vr$~W5G6u&$Wp0VqR3*bDIWLE4Y64K ze08)CmeFrq2>QGFSDAk%Rhs}$r*rJVNuoO(~AJ!PG{T~d_i(dQ;OsQc+q&twwlJV|`Bv$N}R$K=uxCPyc!RBBXfRjRcZi5yAQk|YKj*>d`|Xw~ckP!!SW%^gsH z4oDR1AJt?S?}B;<&e0TPFsNAMQwxCt69o{uA>=K^qd1+MST3tptj8GHnN(upgb*ji zq`i%b+{{=o7ByB78@8!x_Gs&uqLOKv_6{gO2b4jbc8YT@EEzqBp!v_c?XXFx9Dq zb{!I|Nu<;4kZbyl3*LDg#$f7`nKwT9p9|2|t&fmAe64Of^c3TKI%Q?_^+uxaj|?xL zw5U4G#YlpQDngbfM)q85qt=DJt|y5nG){VqE;V8I&WBCAH+|pe@QT+};^BWB8(lGB zqe!DD7GqI`0pj%h;hm z;n?F&(5YS1X4{T?Hf24&;~ic?rDC*Zgk;*ga9b~Je`?R%gBQy3U5$!cEi-#s>T+d# zWH}Mbv|6p1R<`wiiPB32Gn*u}EQxC^LGJIR?H}~g*|#s5IQY`pJzcYP=0El5RWIen z8*k;5(^qldFJ}(enhxl1pnB_vPi5uu!@1|-9|Owd=%J>WPwQ>dkLW|!5WV<$<73Xb z{0CRJT1OpP567)vYea*J7*!3_M-nC`C)l*@dKzsw^5El5v)K$c-nf?sZ)?i>Gc=yt zg{xL=urnv{!j}h=hh{KFAjIS@=h9CBhUX5L;x$y=|hic;t)=0q~!&M0(2Uj#r iT+R^X@#lD(V-Z7IzK5^$KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0000lNkl)HFiry~4#d$|ph7GRd^8UISO5Sz W!xJWW@nmR0Ns^Wrk)72_X;&VM@qLNZyn;-h1m-)j4PH{!#b7fObo=TF+Xw z)_t{JRqgNW{e9m)=MZ*rJl6A%IHK!gcqM)U)>TjF8ytMTRLpN39jns9J?@oOe47l4 z1dw7d06;*nuu_+V$6Qs4K>#PCRHVFExV^duw#+4>?(j) z*AHP%*L5@qEpM#j?*@5nOq@HlBR^5M@^_J9)U!&MV7N?QAAfFbdJaGWPgRws)6~+R z-NrZmx0V*7Od$!{dkY1w*wll3j_1b``)C%NHS6N>yBU998+?y%)4SU2YA} zA%$NKSGVi)4!sVH=l1lla~XcBLKrfnO2~CXCa>$GlX_p?dYsM`3%)hidhs()bzlDL zr7zEG>kK#SwpW`1YyR;!pa1&-`0t?)V)3FnK7V~pCo%hYIQUj+f?7Oh#@-(|a?XKA zr;?n->{Mx?{fOYn3n4;UD5a5kBx9Z>DQ1SETOzUjjZ`HF0&e`i-6T<17qM|ec7?fBc z;0k&%hz+o?+KMG>1)PSqUSqTR@!luCa_YiGo3TkPUp^w8T}r$YFf$gPyy|ZYU`={9 z3c4MNG|FgE6ETxVuw_~St-lefEMgF+NTdzZD8wWJ0s<69@frs3IxH*_A4`(dIZhJT z)TwApTxD36oOSS>-?;UKV^n{)k!mFpfWRL3*Rxl@V_bS?f`4@I!*C2lX%(H}L=`CT z0BxGtLQ@`yX#0U)3`bO@9NHBjM^*Gw64K=(1QdKEK*p+u<&qTSoUzKhfO`4Wz>@z)uK^Aw6m!k{QPq@f~bd?t)6?} z1bJ=k7!E&fDxUmP-(QVQ?F@i8a-dv4%Gg64haX`yNv^E%Ea<=YJ4SdqH4e{1~Sk?qbu|M;*f zbqpYh(szvQ9ev=Amrj8q0@9+|SbxTQw)=Lr&Hm@e_hY2mXXchai5dBmusvCYf%>!X zK>#8PKtTjx&+y*EIR|SkT*`=|2>VPq0kb=fM~F#u|GG<9sj?zc-#-8BqmC*-%N5t% z3v1um65bJjO9}`JV*qzjs9O-*vCma1qq%z0=Thg*sPtm8u4CiyU5H^JCTU0mH2?_M zGn{jci{Y)p`kvomV&MR6*th{{opqpyh3Ux4m)!GykUSWKMk@t>>SyNTwj2L%XZ{Nn z>Xv_j0zm+HA-wSFCJ4n;tqux{Z<*M!+ghP`mh}};q{({$d;y{&M#518E{~{H2e(KJ+~I! z(QA0${wLzt8F#!r1DoX%bYVIIT!6Y1 zJctN_2;>9AahjEz5Cm@p&;a2*ykj`$0UrSH$QJ^n3By@S!UCJh5jS2|HIuruyXF34 zRDv0v?9yEOYVFWR0jftU~yzAQIFKu_~N!vxLSpD zIxEmBpAwnRC3gEyg%Yon(xeEA2t*11fhfB~8i^HvMIcQOp5dF9V>l7DZ+tS31TC`?6B2!P-{Ai`NS%8sfWFCh_# z2!sJ<26G0;dxnUBNT3Wrj-j+52u(2zc*4ieoxAxfi_hFMD8$Dt*t4hHU+Z6a>y4`) z-dgRJ&wT2GICjQeJ24|X4P=?_kA+q7QY|L{F) z>E#!CslTU!sFuPzhBSJAZ4?NAGFdr600O~tQ;`JDd9Vkv#1X>KptUV8Q)hHgp)4=n zf7k1aF8a|v_e`5zKCDz~Nuz3ARYohScS~Kpws!0=fL0XBO0`T-YycqYn}yY@ZV?g2 zlnDnM86|@t(hM=mC6W&G)j}8N_Fwtr#>s`2R4qD9xuZ_o&BU=o5&`up5LX5DnnxN7 z(!|510_PdtJ9u$`Fq8(A0!#>KLogu_1c1^6@0sdRitRngzWe^er2PiAMIqpkE7Xj4 zqSD0i@PNn2cHaUJ;)tnGEM^?Y2OX%5fOPNhi#0IY;la!zy_Gm@B#Lw#(Mo_^%= znu44{7-|HeMy{k$Y%?&%Kq&>KG_*4CK85oRio&-@sE4y2Y3h;2*%j9ragC&24JaC` z`!uzlS%RjYWaMg=C2{s!Ax`QU03w3c0Yn(2{;azYNJdU3mn!CrxI&4*JCC^T#}y}2 zA`QzFa=EsmQ0RGvftbU zQ>{c90A|-98)Xj4nT0b0yyJf8t%xIraRd)QQ&z*I6o?d@PmrXe$eT_q-0f@}wCCAq zEl$Ss8*j&&jkjWZGSHg|Kx;aNPWFa9~0$jGSbWOU>XjH6xDc0w(iTEtcE6dO3#5TC{ScvW=I(b=Nv*)M5VtC-7j0@OiMO};u|K_aA+ua&Wy|G z0O?p6>sL7#>4bE^@$`cedW&;pHYGbq)cE=gVUygN~?!_hF|0teV`9}~ml+s!M!x_o7(s*;* zCVc-VU&If8em*{M)JJgGyiZ}QGSUDFC<*}~u!v@1)yzPXBMKoDa!^zNBmjHLN~pCo z86Fi-BjwE?n=_NmIA?K7liV3M;v_;xTNl23?ow=ga}EA*-%{NFA9)Ej6(HYiJs85m`CL9ANNz_7Wfw>}W{H&o zhy)^>0cdZXg2B-WvL1};5P}FJQvqpeDFK{}*W_F4Q?l}yJ$-+C<-Fxs|HfnZ?SC!9 z1CQT|j+S@fx%Cg={YRgO&z2Z>i~diz*O?*BnAkIbU{QcAP}Z33z=$xNR5+KgfMs35xDG&i*Vb0Kg44zZ^zZ& zc>uXE4-p1))`B-&1MC}R(r5-n0MAaC)!S!3D{E#4D+*c5&ME_7bO-`vnhuJ0%rG^y z*MSI{U{o_J!WqGvFVAW?BdzlmMhBQRZ2?B+Z$U21!?_gN1W=^F4PGQ^jHW1{`Cb9o zLx~8DXBkZ|AhymqMH-oHxQxU~>&7f9WD8o#QYOvxW(yKUdVH3~XXbxdwyFjxt+lAv zZaWSag=@ z=8P$&K}1lbY?iX@ee4?s0wKUBJ964=H$0STaA3T?n~R$9CTTo$W*+}*eEXdRL>ghx z0ulvhz0Z>9A)>e;5?WE{3wn~(Mxl@k5Z8vY60)g)Z7AM`NMj7L0~nqG?*MV$0cj#* zg?t%+Zb&IZs~iSLH{&P2T8vGbH$W*3fW~XQxiirODk4xy!&-;m-f<)T^zbbx6J$2bI!+g&Q(Tb>mTpfw(MhPbbX*24YD+xC~pjzlg4B?I0>ZG1eo;$GZ-@3q)Ayc(TT%9uB8CcO9K>t$rJ4+!Ga!{2blb3*{mJ?rAx;e_@g zW=}sb8SURhsg02gkr06Qo;))H{@ois2J0*E-a_ku;$#FwS}J2z^z{y5!Tf{u-m?$! zW7XmPw~xK}Y|U*DV-zVxM2Z?xn6(ROnxdy?JIXW%Qzy=WHv^~-wPRiPJ(xPPjP?m_ zU@!3AH)Mt2y@NuFGk%)cvT4gxH~;vV!~gKarE2vv&(f8P@Ag++xft8kE4o&xvN3^V zhgKTPzIFc&iMV*lvDmVC6ReMr3kzh>qKs;xT2uwI^KCQwiCuxGcI>;nX1mYH6|D_I zV?e$kJ`M5;L7M=zY84}cF$$#|Dx-Bwp4xT+U;&*D<@0j8tMo%x5%Tg?~5R?T=3cv%@lt|5rbf!U~$$KWHR3?Xk zu&I|c5%P}XIIb@4XrJ=aC`y!W*}^Y88R7A}hVa+MJ05U+?`P+M8rvjM6j3edroqA2 zxm4Kuj7oLnm$`fxbar$}K3^bGfWT*$Wd5R*hEfJ52%w-LATTp*YNZ}ksTNg7J=bnd z-Pkqa!RO=D(kYB&|Wjqg0rvF8kum{NfucTYqrP z`5U%u**G!G6{S=zQMp`3K3_yWUyzoz^2Q(tmC>3+s5Oq`4(BY=)S@2MFgiNo;u?&k zg`0}`37-~9P0%vHiA@+H2!cEy8o#>wuOImB)G_Pj7yce!TXGVt#ORn z(=jFB*q2Zp6$}lGp?}+$um^#4QjKaSEI75c$z6AAYL348>#uKEccl>fFbuUZ0R$d} zZ~}6sT!$|qC`YPurgrtQ76=RC$YS~T-}$t1r_YJ6x+vSq`|xwOl@gGLU>BhcFBv~FMie-ahi$Rz-LINpu0Hu~Za`}LYEdk2y0hQVU6k7}mB|~9e!x(}I6ii4k;VvE0 z?|KG+Oj%0Bi3m(dlp;$c5Cu`1CM@ypLV(%bX9 zr_WVSKiJ10x1!vdPr`gLXF?@f1r%~#N8UkH?XgO1p%e>?-DLnfb z=86?7j~f~sKElT8lSw^&-{|PJ_Z)D@o-cw6^yvN1aY@hS38meM!r|M7s_XW%93Aak za$IUh=gpcu=jzR`4$^18^F8_11#h4-#Jd^}{s&{CB`(>qac=+s03~!qSaf7zbY(hY za%Ew3WdJfTF)=MLIW00WR4_R@Gcr0eGA%GSIxsM(l48sN001R)MObuXVRU6WZEs|0 vW_bWIFflPLFgYzTHdHV-Ix;spGd3+SH##sdcWUue00000NkvXXu0mjfB?gph literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png b/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png new file mode 100644 index 0000000000000000000000000000000000000000..fabe9d96563785c7d6b008bb3d8da25e816c343c GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^{6Or)!3HEd1bTh|DVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9s(?08bak5Rc<;uP@|nU=UzFz%6x@#ly{E6Z5RU$2Hhw*i>Gs`(~~C zr~2_>(e4Ka`gpa)&de}Ks*u{@U5E@m-v9X3<$3NT3r3p*`<7|@n1Ecw;OXk;vd$@? F2>^8yH@N@+ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_drawer.png b/app/src/main/res/drawable-xhdpi/ic_drawer.png new file mode 100644 index 0000000000000000000000000000000000000000..a5fa74def4b40d7eb6826da05bd5e12b836cb999 GIT binary patch literal 2836 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png b/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png new file mode 100644 index 0000000000000000000000000000000000000000..b91e9d7f285e8110ba3ba4e72cc6f0416eb3a30a GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^VnCe4!3HEl*p=S^DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MMa)2jv*QM-d<4Ta$*#5x!8O#VbcvCx78OjjCM19-`|n` zlcQ;yJWqK-!X?h+v^9}Es?F+hJ07=b>sdT*QRcgm+^%b8|A7C`|A*gYPjm3$2miRv cpZdzQt0C%<%j~>EK-(ESUHx3vIVCg!0CP)0sQ>@~ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_drawer.png b/app/src/main/res/drawable-xxhdpi/ic_drawer.png new file mode 100644 index 0000000000000000000000000000000000000000..9c4685d6e046ce6c450c19426dce627a88718bfc GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?3oVGw3ym^DWND5#L^ z5#-Cjkf+YTP`sXjk!=$LL!~YQgWnqlM%L3n1JW26goK+9UQq_B4e)ev49U3n_PU`U zg8>io#t-TVJM=pEGT)onF!&ZOd;8}O149hcq!N%?hK6(oZAK7-f#HS|n9?%@Qw{w* cAUc7wfPvd9>y+w~O{pNhr>mdKI;Vst074Kf@&Et; literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_launcher.png b/app/src/main/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4df18946442ed763bd52cf3adca31617848656fa GIT binary patch literal 19388 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_feed_list.xml b/app/src/main/res/layout/activity_feed_list.xml new file mode 100644 index 0000000..6dae774 --- /dev/null +++ b/app/src/main/res/layout/activity_feed_list.xml @@ -0,0 +1,4 @@ + diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml new file mode 100644 index 0000000..1af536f --- /dev/null +++ b/app/src/main/res/layout/activity_home.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_subcategory_home.xml b/app/src/main/res/layout/activity_subcategory_home.xml new file mode 100644 index 0000000..3509b84 --- /dev/null +++ b/app/src/main/res/layout/activity_subcategory_home.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_feed_list.xml b/app/src/main/res/layout/fragment_feed_list.xml new file mode 100644 index 0000000..8852a47 --- /dev/null +++ b/app/src/main/res/layout/fragment_feed_list.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..1ab4b99 --- /dev/null +++ b/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_navigation_drawer.xml b/app/src/main/res/layout/fragment_navigation_drawer.xml new file mode 100644 index 0000000..c05742d --- /dev/null +++ b/app/src/main/res/layout/fragment_navigation_drawer.xml @@ -0,0 +1,5 @@ + diff --git a/app/src/main/res/layout/view_subcategory_list_item.xml b/app/src/main/res/layout/view_subcategory_list_item.xml new file mode 100644 index 0000000..bc86d80 --- /dev/null +++ b/app/src/main/res/layout/view_subcategory_list_item.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/global.xml b/app/src/main/res/menu/global.xml new file mode 100644 index 0000000..184ad2b --- /dev/null +++ b/app/src/main/res/menu/global.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/menu/menu_feed_list.xml b/app/src/main/res/menu/menu_feed_list.xml new file mode 100644 index 0000000..6a9a7f3 --- /dev/null +++ b/app/src/main/res/menu/menu_feed_list.xml @@ -0,0 +1,6 @@ + + + diff --git a/app/src/main/res/menu/menu_home.xml b/app/src/main/res/menu/menu_home.xml new file mode 100644 index 0000000..1bfb9bf --- /dev/null +++ b/app/src/main/res/menu/menu_home.xml @@ -0,0 +1,7 @@ + + + + diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml new file mode 100644 index 0000000..dba3c41 --- /dev/null +++ b/app/src/main/res/values-v21/styles.xml @@ -0,0 +1,5 @@ + + + + diff --git a/app/src/main/res/values-w820dp/dimens.xml b/app/src/main/res/values-w820dp/dimens.xml new file mode 100644 index 0000000..63fc816 --- /dev/null +++ b/app/src/main/res/values-w820dp/dimens.xml @@ -0,0 +1,6 @@ + + + 64dp + diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..074e7a0 --- /dev/null +++ b/app/src/main/res/values/dimens.xml @@ -0,0 +1,9 @@ + + + 16dp + 16dp + + + 240dp + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..937bbda --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,27 @@ + + + + TheGimbalStore + Section 1 + Section 2 + Section 3 + Open navigation drawer + Close navigation drawer + Example action + Settings + + + + http:// + 192.168.3.233 + /webapp/wcs/stores/servlet + /F8app + 10151 + -1 + + + FeedListActivity + + Hello world! + + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..ff6c9d2 --- /dev/null +++ b/app/src/main/res/values/styles.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..6356aab --- /dev/null +++ b/build.gradle @@ -0,0 +1,19 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.0.0' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + jcenter() + } +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..1d3591c --- /dev/null +++ b/gradle.properties @@ -0,0 +1,18 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..8c0fb64a8698b08ecc4158d828ca593c4928e9dd GIT binary patch literal 49896 zcmagFb986H(k`5d^NVfUwr$(C?M#x1ZQHiZiEVpg+jrjgoQrerx!>1o_ul)D>ebz~ zs=Mmxr&>W81QY-S1PKWQ%N-;H^tS;2*XwVA`dej1RRn1z<;3VgfE4~kaG`A%QSPsR z#ovnZe+tS9%1MfeDyz`RirvdjPRK~p(#^q2(^5@O&NM19EHdvN-A&StN>0g6QA^VN z0Gx%Gq#PD$QMRFzmK+utjS^Y1F0e8&u&^=w5K<;4Rz|i3A=o|IKLY+g`iK6vfr9?+ z-`>gmU&i?FGSL5&F?TXFu`&Js6h;15QFkXp2M1H9|Eq~bpov-GU(uz%mH0n55wUl- zv#~ccAz`F5wlQ>e_KlJS3@{)B?^v*EQM=IxLa&76^y51a((wq|2-`qON>+4dLc{Oo z51}}o^Zen(oAjxDK7b++9_Yg`67p$bPo3~BCpGM7uAWmvIhWc5Gi+gQZ|Pwa-Gll@<1xmcPy z|NZmu6m)g5Ftu~BG&Xdxclw7Cij{xbBMBn-LMII#Slp`AElb&2^Hw+w>(3crLH!;I zN+Vk$D+wP1#^!MDCiad@vM>H#6+`Ct#~6VHL4lzmy;lSdk>`z6)=>Wh15Q2)dQtGqvn0vJU@+(B5{MUc*qs4!T+V=q=wy)<6$~ z!G>e_4dN@lGeF_$q9`Ju6Ncb*x?O7=l{anm7Eahuj_6lA{*#Gv*TaJclevPVbbVYu z(NY?5q+xxbO6%g1xF0r@Ix8fJ~u)VRUp`S%&rN$&e!Od`~s+64J z5*)*WSi*i{k%JjMSIN#X;jC{HG$-^iX+5f5BGOIHWAl*%15Z#!xntpk($-EGKCzKa zT7{siZ9;4TICsWQ$pu&wKZQTCvpI$Xvzwxoi+XkkpeE&&kFb!B?h2hi%^YlXt|-@5 zHJ~%AN!g_^tmn1?HSm^|gCE#!GRtK2(L{9pL#hp0xh zME}|DB>(5)`iE7CM)&_+S}-Bslc#@B5W4_+k4Cp$l>iVyg$KP>CN?SVGZ(&02>iZK zB<^HP$g$Lq*L$BWd?2(F?-MUbNWTJVQdW7$#8a|k_30#vHAD1Z{c#p;bETk0VnU5A zBgLe2HFJ3032$G<`m*OB!KM$*sdM20jm)It5OSru@tXpK5LT>#8)N!*skNu1$TpIw zufjjdp#lyH5bZ%|Iuo|iu9vG1HrIVWLH>278xo>aVBkPN3V$~!=KnlXQ4eDqS7%E% zQ!z^$Q$b^6Q)g#cLpwur(|<0gWHo6A6jc;n`t(V9T;LzTAU{IAu*uEQ%Ort1k+Kn+f_N`9|bxYC+~Z1 zCC1UCWv*Orx$_@ydv9mIe(liLfOr7mhbV@tKw{6)q^1DH1nmvZ0cj215R<~&I<4S| zgnr;9Cdjqpz#o8i0CQjtl`}{c*P)aSdH|abxGdrR)-3z+02-eX(k*B)Uqv6~^nh** z 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..aec9973 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..e7b4def --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +include ':app'