package cn.trinea.android.demo.utils; import android.app.ActionBar; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.text.Html; import android.text.Spanned; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import cn.trinea.android.demo.AutoScrollViewPagerDemo; import cn.trinea.android.demo.AutoScrollViewPagerInnerDemo; import cn.trinea.android.demo.BorderScrollViewDemo; import cn.trinea.android.demo.BroadcastReceiverDemo; import cn.trinea.android.demo.DownloadManagerDemo; import cn.trinea.android.demo.DropDownListViewDemo; import cn.trinea.android.demo.HttpCacheDemo; import cn.trinea.android.demo.ImageCacheDemo; import cn.trinea.android.demo.ImageSDCardCacheDemo; import cn.trinea.android.demo.MainActivity; import cn.trinea.android.demo.R; import cn.trinea.android.demo.SearchViewDemo; import cn.trinea.android.demo.ServiceDemo; import cn.trinea.android.demo.SlideOnePageGalleryDemo; import cn.trinea.android.demo.ViewPagerDemo; import cn.trinea.android.demo.ViewPagerMulTiFragmentDemo; /** * AppUtils * * @author <a href="http://www.trinea.cn" target="_blank">Trinea</a> 2013-5-9 */ public class AppUtils { public static void init(Activity activity) { initTrineaInfo(activity); initActionBar(activity); } public static void urlOpen(Context context, String url) { Uri uriUrl = Uri.parse(url); Intent i = new Intent(Intent.ACTION_VIEW, uriUrl); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } private static void initActionBar(final Activity activity) { if (activity == null) { return; } ActionBar bar = activity.getActionBar(); if (activity instanceof MainActivity) { bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME); } else { bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_CUSTOM); } } private static void initTrineaInfo(final Activity activity) { if (activity == null) { return; } Button trineaInfoTv = (Button)activity.findViewById(R.id.trinea_info); final String[] result = getText(activity); if (result == null) { return; } Spanned text = Html.fromHtml(result[1]); trineaInfoTv.setText(text); trineaInfoTv.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { urlOpen(activity, result[0]); } }); } private static String[] getText(Activity activity) { if (activity == null) { return null; } int prefixSrcId = R.string.description, contentSrcId; String url = null; Class<?> sourClass = activity.getClass(); if (sourClass == SearchViewDemo.class) { url = "http://www.trinea.cn/android/android-searchview-and-search-tips-impl/"; contentSrcId = R.string.desc_search_view; } else if (sourClass == ViewPagerMulTiFragmentDemo.class) { url = "http://www.trinea.cn/android/viewpager-multi-fragment-effect/"; contentSrcId = R.string.desc_view_pager_multi_page; } else if (sourClass == DownloadManagerDemo.class) { url = "http://www.trinea.cn/android/android-downloadmanager/"; contentSrcId = R.string.desc_download_manager; } else if (sourClass == SlideOnePageGalleryDemo.class) { url = "http://www.trinea.cn/android/gallery-scroll-one-page/"; contentSrcId = R.string.desc_slide_gallery; } else if (sourClass == ViewPagerDemo.class) { url = "http://www.cnblogs.com/trinea/archive/2012/11/23/2771273.html"; contentSrcId = R.string.desc_view_pager; } else if (sourClass == ServiceDemo.class) { url = "http://www.cnblogs.com/trinea/archive/2012/11/08/2699856.html"; contentSrcId = R.string.desc_service; } else if (sourClass == BroadcastReceiverDemo.class) { url = "http://www.cnblogs.com/trinea/archive/2012/11/09/2763182.html"; contentSrcId = R.string.desc_broadcast_receiver; } else if (sourClass == BorderScrollViewDemo.class) { url = "http://www.trinea.cn/android/on-bottom-load-more-scrollview/"; contentSrcId = R.string.desc_border_scroll_view; } else if (sourClass == DropDownListViewDemo.class) { url = "http://www.trinea.cn/android/dropdown-to-refresh-and-bottom-load-more-listview/"; contentSrcId = R.string.desc_drop_down_listview; } else if (sourClass == ImageCacheDemo.class) { url = "http://www.trinea.cn/android/android-imagecache/"; contentSrcId = R.string.desc_image_cache; } else if (sourClass == ImageSDCardCacheDemo.class) { url = "http://www.trinea.cn/android/android-imagesdcardcache/"; contentSrcId = R.string.desc_image_sdcard_cache; } else if (sourClass == HttpCacheDemo.class) { url = "http://www.trinea.cn/android/android-http-cache/"; contentSrcId = R.string.desc_http_cache; } else if (sourClass == AutoScrollViewPagerInnerDemo.class) { url = "http://www.trinea.cn/android/auto-scroll-view-pager/"; contentSrcId = R.string.desc_auto_scroll_view_pager_inner; } else if (sourClass == AutoScrollViewPagerDemo.class) { url = "http://www.trinea.cn/android/auto-scroll-view-pager/"; contentSrcId = R.string.desc_auto_scroll_view_pager; } else { prefixSrcId = R.string.profile; url = "http://www.trinea.cn"; contentSrcId = R.string.desc_default; } String[] result = new String[] {url, getUrlInfo(activity.getString(prefixSrcId), url, activity.getString(contentSrcId))}; return result; } private static String getUrlInfo(String prefix, String url, String content) { return new StringBuilder().append(prefix).append("<a href=\"").append(url).append("\">").append(content) .append("</a>").toString(); } }