+++ /dev/null
-/* \r
- * Copyright (C) 2007-2011 OpenIntents.org\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-package org.openintents.filemanager;\r
-\r
-import android.app.AlertDialog;\r
-import android.app.Dialog;\r
-import android.content.ActivityNotFoundException;\r
-import android.content.Context;\r
-import android.content.DialogInterface;\r
-import android.content.DialogInterface.OnClickListener;\r
-import android.content.Intent;\r
-import android.net.Uri;\r
-import android.util.Log;\r
-import android.view.View;\r
-import android.widget.Toast;\r
-\r
-/**\r
- * @version 2009-02-04\r
- * @version 2011-02-07: Allow for string arguments.\r
- * @author Peli\r
- */\r
-public class DownloadAppDialog extends AlertDialog implements OnClickListener {\r
- private static final String TAG = "StartSaveActivity";\r
-\r
- Context mContext;\r
- String mDownloadAppName;\r
- String mDownloadPackageName;\r
- String mDownloadWebsite;\r
- String mMessageText;\r
- \r
- boolean mMarketAvailable;\r
- \r
- public DownloadAppDialog(Context context) {\r
- super(context);\r
- mContext = context;\r
- }\r
- \r
- public DownloadAppDialog(Context context, int message_id, int download_name_id, int download_package_id, int download_website_id) {\r
- super(context);\r
- mContext = context;\r
- set(message_id, download_name_id, download_package_id, download_website_id);\r
- }\r
- \r
- public DownloadAppDialog(Context context, String message, String download_name, String download_package, String download_website) {\r
- super(context);\r
- mContext = context;\r
- set(message, download_name, download_package, download_website);\r
- }\r
-\r
- protected void set(int message_id, int download_name_id,\r
- int download_package_id, int download_website_id) {\r
- String message = mContext.getString(message_id);\r
- String download_name = mContext.getString(download_name_id);\r
- String download_package = mContext.getString(download_package_id);\r
- String download_website = mContext.getString(download_website_id);\r
- set(message, download_name, download_package, download_website);\r
- }\r
- \r
- protected void set(String message, String download_name,\r
- String download_package, String download_website) {\r
- mDownloadAppName = download_name;\r
- mDownloadPackageName = download_package;\r
- mDownloadWebsite = download_website;\r
- \r
- mMarketAvailable = MarketUtils.isMarketAvailable(mContext, mDownloadPackageName);\r
- \r
- StringBuilder sb = new StringBuilder();\r
- sb.append(message);\r
- sb.append(" ");\r
- if (mMarketAvailable) {\r
- sb.append(mContext.getString(R.string.oi_distribution_download_market_message, \r
- mDownloadAppName));\r
- } else {\r
- sb.append(mContext.getString(R.string.oi_distribution_download_message, \r
- mDownloadAppName));\r
- }\r
- mMessageText = sb.toString();\r
- setMessage(mMessageText);\r
-\r
- setTitle(mContext.getString(R.string.oi_distribution_download_title,\r
- mDownloadAppName));\r
- \r
- setButton(mContext.getText(R.string.oi_distribution_download_market), this);\r
- setButton2(mContext.getText(R.string.oi_distribution_download_web), this);\r
- setButton3(mContext.getText(android.R.string.cancel), this);\r
- }\r
- \r
- public void onClick(DialogInterface dialog, int which) {\r
- Intent intent;\r
- \r
- if (which == BUTTON1) {\r
- intent = MarketUtils.getMarketDownloadIntent(mDownloadPackageName);\r
- startSaveActivity(intent);\r
- } else if (which == BUTTON2) {\r
- intent = new Intent(Intent.ACTION_VIEW);\r
- Uri uri= Uri.parse(mDownloadWebsite);\r
- intent.setData(uri);\r
- startSaveActivity(intent);\r
- }\r
- }\r
-\r
- public static void onPrepareDialog(Context context, Dialog dialog) {\r
- DownloadAppDialog d = (DownloadAppDialog) dialog;\r
- \r
- boolean has_android_market = MarketUtils.isMarketAvailable(context, d.mDownloadPackageName);\r
-\r
- dialog.findViewById(android.R.id.button1).setVisibility(\r
- has_android_market ? View.VISIBLE : View.GONE);\r
- }\r
- \r
- /**\r
- * Start an activity but prompt a toast if activity is not found\r
- * (instead of crashing).\r
- * \r
- * @param context\r
- * @param intent\r
- */\r
- public void startSaveActivity(Intent intent) {\r
- try {\r
- mContext.startActivity(intent);\r
- } catch (ActivityNotFoundException e) {\r
- Toast.makeText(mContext,\r
- R.string.oi_distribution_update_error,\r
- Toast.LENGTH_SHORT).show();\r
- Log.e(TAG, "Error starting second activity.", e);\r
- }\r
- }\r
-}\r