Android Open Source - HapiPodcastJ Tabs Helper






From Project

Back to project page HapiPodcastJ.

License

The source code is released under:

GNU General Public License

If you think the Android project HapiPodcastJ listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package info.xuluan.podcast;
/*from ww w  .j ava 2s .  c o  m*/
import info.xuluan.podcastj.R;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.view.View;
import android.widget.Button;

public class TabsHelper {

  static class ButtonAndActivity {
    ButtonAndActivity(int b, Class a) { buttonId=b; activityClass=a; }
    int buttonId;
    Class activityClass;
  }
  
  static ButtonAndActivity[] channelButtonActivities = {
    new ButtonAndActivity(R.id.channel_bar_add_button,AddChannelActivity.class),
    new ButtonAndActivity(R.id.channel_bar_backup_button,BackupChannelsActivity.class),
    new ButtonAndActivity(R.id.channel_bar_manage_button,ChannelsActivity.class),
    new ButtonAndActivity(R.id.channel_bar_search_button,SearchActivity.class),
  };

  static ButtonAndActivity[] episodeButtonActivities = {
    new ButtonAndActivity(R.id.episode_bar_library_button,EpisodesActivity.class),
    new ButtonAndActivity(R.id.episode_bar_channel_button,ChannelActivity.class),
    new ButtonAndActivity(R.id.episode_bar_download_button,DownloadActivity.class),
    new ButtonAndActivity(R.id.episode_bar_play_button,PlayerActivity.class),
  };

  public static void setChannelTabClickListeners(final Activity activity, int myActivityButton) {
    setTabClickListeners(activity, myActivityButton, channelButtonActivities);
    fixManageLabel(activity);
  }
  
  public static void setEpisodeTabClickListeners(final Activity activity, int myActivityButton) {
    setTabClickListeners(activity, myActivityButton, episodeButtonActivities);
  }
  
  public static void setTabClickListeners(final Activity activity, int myActivityButton,
      ButtonAndActivity[] buttonActivities) {

    for (ButtonAndActivity ba : buttonActivities) {
      if (myActivityButton!=ba.buttonId) {
        Button button = (Button) activity.findViewById(ba.buttonId);
        if (button!=null) {
          final Class ac = ba.activityClass;
          button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
              activity.startActivity(new Intent(activity, ac));
            }
          });
        }
      }
    }  
  }
  
  public static void fixManageLabel(Activity activity) {
    Resources res = activity.getResources();
    int orientation = res.getConfiguration().orientation;
    boolean isLandscape = (orientation==Configuration.ORIENTATION_LANDSCAPE);
    Button button = (Button) activity.findViewById(R.id.channel_bar_manage_button);
    int id = isLandscape?R.string.channel_bar_button_manage_l:R.string.channel_bar_button_manage;
    button.setText(id);
  }
}




Java Source Code List

info.xuluan.podcast.AddChannelActivity.java
info.xuluan.podcast.BackupChannelsActivity.java
info.xuluan.podcast.ChannelActivity.java
info.xuluan.podcast.ChannelDetailsActivity.java
info.xuluan.podcast.ChannelsActivity.java
info.xuluan.podcast.DownloadActivity.java
info.xuluan.podcast.EpisodeDetailsActivity.java
info.xuluan.podcast.EpisodeIcons.java
info.xuluan.podcast.EpisodesActivity.java
info.xuluan.podcast.FlingGestureDetector.java
info.xuluan.podcast.Flingable.java
info.xuluan.podcast.HapiActivity.java
info.xuluan.podcast.HapiListActivity.java
info.xuluan.podcast.HapiPreferenceActivity.java
info.xuluan.podcast.HomeActivity.java
info.xuluan.podcast.MainActivity.java
info.xuluan.podcast.PlayerActivity.java
info.xuluan.podcast.PodcastBaseActivity.java
info.xuluan.podcast.PodcastTab.java
info.xuluan.podcast.Pref.java
info.xuluan.podcast.SearchActivity.java
info.xuluan.podcast.StartupActivity.java
info.xuluan.podcast.TabsHelper.java
info.xuluan.podcast.actionbar.ActionBarHelperBase.java
info.xuluan.podcast.actionbar.ActionBarHelperHoneycomb.java
info.xuluan.podcast.actionbar.ActionBarHelperICS.java
info.xuluan.podcast.actionbar.ActionBarHelper.java
info.xuluan.podcast.actionbar.SimpleMenuItem.java
info.xuluan.podcast.actionbar.SimpleMenu.java
info.xuluan.podcast.fetcher.FeedFetcher.java
info.xuluan.podcast.fetcher.Response.java
info.xuluan.podcast.parser.FeedHandler.java
info.xuluan.podcast.parser.FeedParserHandler.java
info.xuluan.podcast.parser.FeedParserListenerInterface.java
info.xuluan.podcast.parser.FeedParserListener.java
info.xuluan.podcast.parser.FeedParser.java
info.xuluan.podcast.parser.OPMLParserHandler.java
info.xuluan.podcast.parser.SearchItem.java
info.xuluan.podcast.provider.FeedItem.java
info.xuluan.podcast.provider.ItemColumns.java
info.xuluan.podcast.provider.PodcastOpenHelper.java
info.xuluan.podcast.provider.PodcastProvider.java
info.xuluan.podcast.provider.SubscriptionColumns.java
info.xuluan.podcast.provider.Subscription.java
info.xuluan.podcast.service.PlayerService.java
info.xuluan.podcast.service.PodcastService.java
info.xuluan.podcast.utils.DialogMenu.java
info.xuluan.podcast.utils.FileUtils.java
info.xuluan.podcast.utils.IconCursorAdapter.java
info.xuluan.podcast.utils.LabeledFrame.java
info.xuluan.podcast.utils.LockHandler.java
info.xuluan.podcast.utils.Log.java
info.xuluan.podcast.utils.SDCardMgr.java
info.xuluan.podcast.utils.StrUtils.java
info.xuluan.podcast.utils.ZipExporter.java
info.xuluan.podcast.utils.ZipImporter.java