~cmiller/ubuntuone-android-music/experimental-flipping-ui

« back to all changes in this revision

Viewing changes to src/net/sourceforge/subsonic/androidapp/activity/MainActivity.java

  • Committer: Chad Miller
  • Date: 2011-08-19 23:13:24 UTC
  • Revision ID: chad.miller@canonical.com-20110819231324-0452k7fdilsfjqi3
Start to plug in the song list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
83
83
        private boolean destroyed;
84
84
 
85
85
        private ListView artistsListView;
 
86
        private ListView songsListView;
86
87
 
87
88
        private TextView songsListTitle;
88
89
 
94
95
                super.onCreate(savedInstanceState);
95
96
                setContentView(R.layout.new_main);
96
97
 
97
 
                artistsListView = (ListView) findViewById(R.id.artists_list);
 
98
                this.artistsListView = (ListView) findViewById(R.id.artists_list);
98
99
                vf = (ViewFlipper) findViewById(R.id.top_flipper);
99
100
 
100
101
                if (vf == null) {
105
106
                        vf.setOnTouchListener(this);
106
107
                }
107
108
 
 
109
                songsListTitle = new TextView(this);
 
110
                //songsListTitle.setHint("unset");  // FIXME string resource
 
111
                this.songsListView = (ListView) findViewById(R.id.songs_grouped_by_albums_list);
 
112
                //this.songsListView.addHeaderView(songsListTitle);
 
113
                this.songsListView.setFastScrollEnabled(true);
 
114
                this.songsListView.setOnTouchListener(this);
 
115
 
108
116
                final TextView artistsListTitle = new TextView(this);
109
 
                final ListView artistsListView = (ListView) findViewById(R.id.artists_list);
110
 
                artistsListTitle.setText("Artists");
111
 
                artistsListView.addHeaderView(artistsListTitle);
112
 
                artistsListView.setFastScrollEnabled(true);
113
 
                artistsListView.setOnTouchListener(this);
114
 
                artistsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
 
117
                this.artistsListView = (ListView) findViewById(R.id.artists_list);
 
118
                artistsListTitle.setText("Artists");  // FIXME string resource
 
119
                this.artistsListView.addHeaderView(artistsListTitle);
 
120
                this.artistsListView.setFastScrollEnabled(true);
 
121
                this.artistsListView.setOnTouchListener(this);
 
122
                this.artistsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
115
123
                        @Override
116
124
                        public void onItemClick(AdapterView parent, View view, int position, long id) {
117
 
                                MainActivity.this.songsListTitle.setText(((Artist) parent.getItemAtPosition(position)).getName());
 
125
                                final Artist pickedArtist = (Artist) parent.getItemAtPosition(position);
 
126
                                MainActivity.this.songsListTitle.setText(pickedArtist.getName());
118
127
                                MainActivity.this.flipToSongs();
 
128
                                loadSongs(MainActivity.this.songsListView, pickedArtist.getId());
119
129
                        }
120
130
                });
121
 
                loadArtists(artistsListView);
122
 
 
123
 
                songsListTitle = new TextView(this);
124
 
                songsListTitle.setText("unset");
125
 
                final ListView songsListView = (ListView) findViewById(R.id.songs_grouped_by_albums_list);
126
 
                songsListView.addHeaderView(songsListTitle);
127
 
                final String[] SONGSNAMES = new String[] { "song1000", "song1001", "song1002", "song1003", "song1004", "song1005", "song1006", "song1007", "song1008", "song1009", "song1010", "song1011", "song1012", "song1013", "song1014", "song1015", "song1016", "song1017", "song1018", "song1019", "song1020", "song1021", "song1022", "song1023", "song1024", "song1025", "song1026", "song1027", "song1028", "song1029", "song1030", "song1031", "song1032", "song1033", "song1034", "song1035", "song1036", "song1037", "song1038", "song1039", "song1040", "song1041", "song1042", "song1043", "song1044", "song1045", "song1046", "song1047", "song1048", "song1049", "song1050", "song1051", "song1052", "song1053", "song1054", "song1055", "song1056", "song1057", "song1058", "song1059", "song1060", "song1061", "song1062", "song1063", "song1064", "song1065", "song1066", "song1067", "song1068", "song1069", "song1070", "song1071", "song1072", "song1073", "song1074", "song1075", "song1076", "song1077", "song1078", "song1079", "song1080", "song1081", "song1082", "song1083", "song1084", "song1085", "song1086", "song1087", "song1088", "song1089", "song1090", "song1091", "song1092", "song1093", "song1094", "song1095", "song1096", "song1097", "song1098", "song1099", "song1100" };
128
 
                final String SECTIONS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
129
 
                songsListView.setFastScrollEnabled(true);
130
 
                songsListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, SONGSNAMES));
131
 
                songsListView.setOnTouchListener(this);
 
131
                loadArtists(this.artistsListView);
132
132
 
133
133
                final SlidingDrawer playQueueSlidingDrawer = (SlidingDrawer) findViewById(R.id.play_queue_drawer);
134
134
 
159
159
                return super.onKeyDown(keyCode, event);
160
160
        }
161
161
 
 
162
        private void loadSongs(ListView songsListView, String artistId) {
 
163
                Log.v(TAG, String.format("loadSongs(%s, %s)", songsListView, artistId));
 
164
        }
162
165
 
163
166
        private void loadArtists(ListView artistList) {
164
167
                final List<Artist> artists = new LinkedList<Artist>();
276
279
                                                // More up/down distance than right/left distance.
277
280
                                                return false;
278
281
                                        }
279
 
                                        Log.d(TAG, "touch delta X is " + deltaX);
 
282
                                        //Log.d(TAG, "touch delta X is " + deltaX);
280
283
                                        if (Math.abs(deltaX) < 40) { // TODO What threshold?
281
284
                                                return false;
282
285
                                        }
298
301
        }
299
302
 
300
303
        void flipToDestination(int targetView) {
301
 
                Log.d(TAG, "at pos " + vf.getDisplayedChild() + "and want pos " + targetView);
 
304
                //Log.d(TAG, "at pos " + vf.getDisplayedChild() + "and want pos " + targetView);
302
305
                while (vf.getDisplayedChild() > targetView) {
303
306
                        vf.setInAnimation(MainActivity.this, R.anim.transition_in_right);
304
307
                        vf.setOutAnimation(MainActivity.this, R.anim.transition_out_right);