diff --git a/astrid/src/main/AndroidManifest.xml b/astrid/src/main/AndroidManifest.xml index 790668f90..3eea24d9d 100644 --- a/astrid/src/main/AndroidManifest.xml +++ b/astrid/src/main/AndroidManifest.xml @@ -162,11 +162,6 @@ - - - - * - */ -public class AddOnActivity extends SherlockFragmentActivity { - - /** boolean: whether to start on available page */ - public static final String TOKEN_START_WITH_AVAILABLE = "av"; //$NON-NLS-1$ - - private View installedView; - private View availableView; - - @Autowired - AddOnService addOnService; - - static { - AstridDependencyInjector.initialize(); - } - - public AddOnActivity() { - DependencyInjectionService.getInstance().inject(this); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - ThemeService.applyTheme(this); - super.onCreate(savedInstanceState); - - LayoutInflater inflater = LayoutInflater.from(this); - installedView = inflater.inflate(R.layout.addon_list_container, null); - availableView = inflater.inflate(R.layout.addon_list_container, null); - - ActionBar ab = getSupportActionBar(); - ab.setDisplayHomeAsUpEnabled(true); - ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); - ActionBar.Tab installedTab = ab.newTab().setText(" " + getString(R.string.AOA_tab_installed)) //$NON-NLS-1$ - .setIcon(R.drawable.gl_pencil) - .setTabListener(new AddOnTabListener(installedView)); - - ActionBar.Tab availableTab = ab.newTab().setText(" " + getString(R.string.AOA_tab_available)) //$NON-NLS-1$ - .setIcon(R.drawable.gl_more) - .setTabListener(new AddOnTabListener(availableView)); - - ab.addTab(availableTab); - ab.addTab(installedTab); - - setTitle(R.string.AOA_title); - - populate(); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - if (item.getItemId() == android.R.id.home) { - finish(); - return true; - } - return super.onOptionsItemSelected(item); - } - - private class AddOnTabListener implements ActionBar.TabListener { - - private final View mView; - - public AddOnTabListener(View v) { - this.mView = v; - } - - @Override - public void onTabReselected(Tab tab, FragmentTransaction ft) { - // - } - - @Override - public void onTabSelected(Tab tab, FragmentTransaction ft) { - setContentView(mView); - } - - @Override - public void onTabUnselected(Tab tab, FragmentTransaction ft) { - // - } - - } - - private void populate() { - AddOn[] list = addOnService.getAddOns(); - if(list == null) { - return; - } - - ArrayList installed = new ArrayList(); - ArrayList available = new ArrayList(); - - for(AddOn addOn : list) { - if (AddOnService.POWER_PACK_PACKAGE.equals(addOn.getPackageName())) { - if (addOnService.hasPowerPack()) { - installed.add(addOn); - } else if (Constants.MARKET_STRATEGY.generateMarketLink(addOn.getPackageName()) != null) { - available.add(addOn); - } - } else { - if(addOnService.isInstalled(addOn)) { - installed.add(addOn); - } else if (Constants.MARKET_STRATEGY.generateMarketLink(addOn.getPackageName()) != null) { - available.add(addOn); - } - - } - } - - ListView installedList = (ListView) installedView.findViewById(R.id.list); - installedList.setAdapter(new AddOnAdapter(this, true, installed)); - if(installed.size() > 0) { - installedView.findViewById(R.id.empty).setVisibility(View.GONE); - } - - ListView availableList = (ListView) availableView.findViewById(R.id.list); - availableList.setAdapter(new AddOnAdapter(this, false, available)); - if(available.size() > 0) { - availableView.findViewById(R.id.empty).setVisibility(View.GONE); - } - } - - /** - * Creates an on click listener - * @param activity - * @param finish whether to finish activity - * @return - */ - public static DialogInterface.OnClickListener createAddOnClicker(final Activity activity, - final boolean finish) { - return new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - Intent intent = new Intent(activity, - AddOnActivity.class); - intent.putExtra(AddOnActivity.TOKEN_START_WITH_AVAILABLE, true); - activity.startActivity(intent); - if(finish) { - activity.finish(); - } - } - }; - } - -} diff --git a/astrid/src/main/java/com/todoroo/astrid/adapter/AddOnAdapter.java b/astrid/src/main/java/com/todoroo/astrid/adapter/AddOnAdapter.java deleted file mode 100644 index 43191db71..000000000 --- a/astrid/src/main/java/com/todoroo/astrid/adapter/AddOnAdapter.java +++ /dev/null @@ -1,156 +0,0 @@ -/** - * Copyright (c) 2012 Todoroo Inc - * - * See the file "LICENSE" for the full license governing this code. - */ -package com.todoroo.astrid.adapter; - -import java.util.List; - -import android.app.Activity; -import android.content.ActivityNotFoundException; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.graphics.drawable.Drawable; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ArrayAdapter; -import android.widget.ImageButton; -import android.widget.ImageView; -import android.widget.TextView; -import android.widget.Toast; - -import org.tasks.R; -import com.todoroo.astrid.data.AddOn; -import com.todoroo.astrid.utility.Constants; - -/** - * Adapter for {@link AddOn}s - * - * @author Tim Su - * - */ -public class AddOnAdapter extends ArrayAdapter { - - // --- instance variables - - private final Activity activity; - private final LayoutInflater inflater; - private final boolean installed; - - public AddOnAdapter(Activity activity, boolean installed, List objects) { - super(activity, R.id.title, objects); - this.installed = installed; - this.activity = activity; - inflater = (LayoutInflater) activity.getSystemService( - Context.LAYOUT_INFLATER_SERVICE); - } - - // --- view construction - - View.OnClickListener intentClickListener = new View.OnClickListener() { - @Override - public void onClick(View v) { - ButtonTag buttonTag = (ButtonTag) v.getTag(); - if(buttonTag != null) { - try { - activity.startActivity(buttonTag.intent); - } catch (ActivityNotFoundException e) { - Toast.makeText(activity, R.string.market_unavailable, Toast.LENGTH_LONG).show(); - } - } - } - }; - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - if(convertView == null) { - convertView = inflater.inflate(R.layout.addon_adapter_row, parent, false); - ViewHolder viewHolder = new ViewHolder(); - viewHolder.icon = (ImageView) convertView.findViewById(R.id.icon); - viewHolder.free = (TextView) convertView.findViewById(R.id.free); - viewHolder.title = (TextView) convertView.findViewById(R.id.title); - viewHolder.description = (TextView) convertView.findViewById(R.id.description); - viewHolder.market = (ImageButton) convertView.findViewById(R.id.button_market); - viewHolder.installedIcon = (ImageView) convertView.findViewById(R.id.check); - convertView.setTag(viewHolder); - - viewHolder.market.setOnClickListener(intentClickListener); - - } - ((ViewHolder)convertView.getTag()).item = getItem(position); - initializeView(convertView); - - return convertView; - } - - private class ViewHolder { - public AddOn item; - public ImageView icon; - public TextView free; - public TextView title; - public TextView description; - public ImageButton market; - public ImageView installedIcon; - } - - private class ButtonTag { - String event; - Intent intent; - public ButtonTag(String message, Intent intent) { - this.event = message; - this.intent = intent; - } - } - - private void initializeView(View convertView) { - ViewHolder viewHolder = (ViewHolder) convertView.getTag(); - AddOn item = viewHolder.item; - - viewHolder.icon.setImageBitmap(item.getIcon()); - viewHolder.title.setText(item.getTitle()); - viewHolder.description.setText(item.getDescription()); - viewHolder.free.setVisibility(item.isFree() && !installed ? View.VISIBLE : View.GONE); - - // populate buttons - - if(installed) { - viewHolder.market.setVisibility(View.GONE); - viewHolder.installedIcon.setVisibility(View.VISIBLE); - } else { - viewHolder.market.setVisibility(View.VISIBLE); - viewHolder.installedIcon.setVisibility(View.GONE); - Intent marketIntent = Constants.MARKET_STRATEGY.generateMarketLink(item.getPackageName()); - if (marketIntent == null) { - convertView.setVisibility(View.GONE); - } else { - convertView.setVisibility(View.VISIBLE); - viewHolder.market.setTag(new ButtonTag("market-" + item.getPackageName(), //$NON-NLS-1$ - marketIntent)); - Drawable icon = getIntentIcon(marketIntent); - if(icon == null) { - viewHolder.market.setImageResource( - android.R.drawable.stat_sys_download); - } else { - viewHolder.market.setImageDrawable(icon); - } - } - } - } - - public Drawable getIntentIcon(Intent intent) { - PackageManager pm = activity.getPackageManager(); - List resolveInfoList = pm.queryIntentActivities(intent, 0); - - // if options > 1, display open with... - if(resolveInfoList.size() > 0) { - return resolveInfoList.get(0).activityInfo.loadIcon(pm); - } - - return null; - } - -} diff --git a/astrid/src/main/res/drawable-hdpi/gl_more.png b/astrid/src/main/res/drawable-hdpi/gl_more.png deleted file mode 100644 index 3ae21febc..000000000 Binary files a/astrid/src/main/res/drawable-hdpi/gl_more.png and /dev/null differ diff --git a/astrid/src/main/res/drawable-hdpi/gl_pencil.png b/astrid/src/main/res/drawable-hdpi/gl_pencil.png deleted file mode 100644 index 01823c89e..000000000 Binary files a/astrid/src/main/res/drawable-hdpi/gl_pencil.png and /dev/null differ diff --git a/astrid/src/main/res/drawable/gl_more.png b/astrid/src/main/res/drawable/gl_more.png deleted file mode 100644 index 596440099..000000000 Binary files a/astrid/src/main/res/drawable/gl_more.png and /dev/null differ diff --git a/astrid/src/main/res/drawable/gl_pencil.png b/astrid/src/main/res/drawable/gl_pencil.png deleted file mode 100644 index d37b765be..000000000 Binary files a/astrid/src/main/res/drawable/gl_pencil.png and /dev/null differ diff --git a/astrid/src/main/res/layout/addon_adapter_row.xml b/astrid/src/main/res/layout/addon_adapter_row.xml deleted file mode 100644 index 14e6158dd..000000000 --- a/astrid/src/main/res/layout/addon_adapter_row.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/astrid/src/main/res/layout/addon_list_container.xml b/astrid/src/main/res/layout/addon_list_container.xml deleted file mode 100644 index 7666d4a40..000000000 --- a/astrid/src/main/res/layout/addon_list_container.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - diff --git a/astrid/src/main/res/values/strings-core.xml b/astrid/src/main/res/values/strings-core.xml index eafa7f99c..367285e6e 100644 --- a/astrid/src/main/res/values/strings-core.xml +++ b/astrid/src/main/res/values/strings-core.xml @@ -639,24 +639,9 @@ - - Add-ons - Tasks Team - - Installed - - - Available - - - Free - - - Empty List! -