X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=src%2Ftype3_AndroidCloud%2Fanbox-master%2Fandroid%2Fappmgr%2Fsrc%2Forg%2Fanbox%2Fappmgr%2FAppsGridFragment.java;fp=src%2Ftype3_AndroidCloud%2Fanbox-master%2Fandroid%2Fappmgr%2Fsrc%2Forg%2Fanbox%2Fappmgr%2FAppsGridFragment.java;h=6b45672f45de219e497225872521951a9247cbe8;hb=e26c1ec581be598521517829adba8c8dd23a768f;hp=0000000000000000000000000000000000000000;hpb=6699c1aea74eeb0eb400e6299079f0c7576f716f;p=iec.git diff --git a/src/type3_AndroidCloud/anbox-master/android/appmgr/src/org/anbox/appmgr/AppsGridFragment.java b/src/type3_AndroidCloud/anbox-master/android/appmgr/src/org/anbox/appmgr/AppsGridFragment.java new file mode 100644 index 0000000..6b45672 --- /dev/null +++ b/src/type3_AndroidCloud/anbox-master/android/appmgr/src/org/anbox/appmgr/AppsGridFragment.java @@ -0,0 +1,90 @@ +/* + * The MIT License (MIT) + * + * Copyright 2016 Arnab Chakraborty. http://arnab.ch + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this + * software and associated documentation files (the "Software"), to deal in the Software + * without restriction, including without limitation the rights to use, copy, modify, + * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in all copies + * or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A + * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +package org.anbox.appmgr; + +import android.content.Intent; +import android.os.Bundle; +import android.support.v4.app.LoaderManager; +import android.support.v4.content.Loader; +import android.view.View; +import android.widget.GridView; + +import java.util.ArrayList; + +/** + * Created by Arnab Chakraborty + */ +public class AppsGridFragment extends GridFragment implements LoaderManager.LoaderCallbacks> { + + AppListAdapter mAdapter; + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + + setEmptyText("No Applications"); + + mAdapter = new AppListAdapter(getActivity()); + setGridAdapter(mAdapter); + + // till the data is loaded display a spinner + setGridShown(false); + + // create the loader to load the apps list in background + getLoaderManager().initLoader(0, null, this); + } + + @Override + public Loader> onCreateLoader(int id, Bundle bundle) { + return new AppsLoader(getActivity()); + } + + @Override + public void onLoadFinished(Loader> loader, ArrayList apps) { + mAdapter.setData(apps); + + if (isResumed()) { + setGridShown(true); + } else { + setGridShownNoAnimation(true); + } + } + + @Override + public void onLoaderReset(Loader> loader) { + mAdapter.setData(null); + } + + @Override + public void onGridItemClick(GridView g, View v, int position, long id) { + AppModel app = (AppModel) getGridAdapter().getItem(position); + if (app != null) { + Intent intent = getActivity().getPackageManager().getLaunchIntentForPackage(app.getApplicationPackageName()); + + if (intent != null) { + startActivity(intent); + } + } + } +}