Revision da02192c

b/res/layout/viewobject.xml
165 165
                        </LinearLayout>
166 166

  
167 167
                        <TextView
168
                            android:id="@+id/download_text"
168 169
                            android:layout_width="wrap_content"
169 170
                            android:layout_height="wrap_content"
170 171
                            android:layout_marginLeft="20dip"
......
315 316
                    </LinearLayout>
316 317
                </LinearLayout>
317 318
            </ScrollView>
319
           
318 320
        </FrameLayout>
321
        
319 322
    </LinearLayout>
320 323

  
321 324
</TabHost>
b/src/com/rackspace/cloud/android/ContainerObjectDetails.java
123 123
		restoreState(savedInstanceState);
124 124
	}
125 125

  
126
	public boolean isFolder(){
127
		return objects.getContentType().startsWith("application/folder");
128
	}
126 129
	@Override
127 130
	protected void onSaveInstanceState(Bundle outState) {
128 131
		super.onSaveInstanceState(outState);
......
222 225
		TextView lastmod = (TextView) findViewById(R.id.view_file_modification);
223 226
		lastmod.setText(strDate);
224 227
		rebuildMetadataList();
228
		if(isFolder()){
229
			findViewById(R.id.download_text).setVisibility(View.GONE);
230
			findViewById(R.id.linearLayout1).setVisibility(View.GONE);
231
		}
225 232
		rebuildPermissionList();
226 233
		try {
227 234
			versions = new ContainerObjectManager(getApplicationContext())
b/src/com/rackspace/cloud/android/ContainerObjectsActivity.java
594 594

  
595 595
			ImageView objectImage = (ImageView) row
596 596
					.findViewById(R.id.file_type_image);
597
			if (file.getContentType().startsWith("application/directory")) {
597
			if (file.getContentType().startsWith("application/directory")||file.getContentType().startsWith("application/folder")) {
598 598
				objectImage.setImageResource(R.drawable.folder);
599 599
			} else {
600 600
				objectImage.setImageResource(R.drawable.file);
b/src/com/rackspace/cloud/files/api/client/ContainerObjectManager.java
123 123

  
124 124
	}
125 125
	
126
	
127
	public ArrayList<ContainerObjects> createList(boolean detail,
128
			String passName, boolean shared) throws CloudServersException {
129
		Log.i(LOG,"Create List:"+passName);
130
		CustomHttpClient httpclient = new CustomHttpClient(context);
131
		String url = getSafeURL(Account.getAccount().getStorageUrl(), passName)
132
				+ "?format=xml&shared="+shared;
133
		HttpGet get = new HttpGet(url);
134
		ArrayList<ContainerObjects> files = new ArrayList<ContainerObjects>();
135

  
136
		get.addHeader("Content-Type", "application/xml");
137
		get.addHeader(CustomHttpClient.X_STORAGE_TOKEN, storageToken);
138

  
139
		try {
140
			HttpResponse resp = httpclient.execute(get);
141
			BasicResponseHandler responseHandler = new BasicResponseHandler();
142
			String body = responseHandler.handleResponse(resp);
143

  
144
			if (resp.getStatusLine().getStatusCode() == 200
145
					|| resp.getStatusLine().getStatusCode() == 203) {
146
				ContainerObjectXMLparser filesXMLParser = new ContainerObjectXMLparser();
147
				SAXParser saxParser = SAXParserFactory.newInstance()
148
						.newSAXParser();
149
				XMLReader xmlReader = saxParser.getXMLReader();
150
				xmlReader.setContentHandler(filesXMLParser);
151

  
152
				xmlReader.parse(new InputSource(new StringReader(body)));
153
				files = filesXMLParser.getViewFiles();
154
				for(ContainerObjects o :files)
155
					o.setContainerName(passName);
156

  
157
			} else {
158
				CloudServersFaultXMLParser parser = new CloudServersFaultXMLParser();
159
				SAXParser saxParser = SAXParserFactory.newInstance()
160
						.newSAXParser();
161
				XMLReader xmlReader = saxParser.getXMLReader();
162
				xmlReader.setContentHandler(parser);
163
				xmlReader.parse(new InputSource(new StringReader(body)));
164
				CloudServersException cse = parser.getException();
165
				throw cse;
166
			}
167
		} catch (ClientProtocolException e) {
168
			CloudServersException cse = new CloudServersException();
169
			cse.setMessage(e.getLocalizedMessage());
170
			throw cse;
171
		} catch (IOException e) {
172
			CloudServersException cse = new CloudServersException();
173
			cse.setMessage(e.getLocalizedMessage());
174
			throw cse;
175
		} catch (ParserConfigurationException e) {
176
			CloudServersException cse = new CloudServersException();
177
			cse.setMessage(e.getLocalizedMessage());
178
			throw cse;
179
		} catch (SAXException e) {
180
			CloudServersException cse = new CloudServersException();
181
			cse.setMessage(e.getLocalizedMessage());
182
			throw cse;
183
		} catch (FactoryConfigurationError e) {
184
			CloudServersException cse = new CloudServersException();
185
			cse.setMessage(e.getLocalizedMessage());
186
			throw cse;
187
		}
188
		return files;
189

  
190
	}
191
	
126 192
	public ArrayList<ContainerObjects> createOtherList(boolean detail,
127 193
			String passName, String user) throws CloudServersException {
128 194
		Log.i(LOG,"Create List:"+passName);
......
326 392
			if(con.getName().equalsIgnoreCase("trash")||con.getName().equals(Container.MYSHARED)||con.getName().equals(Container.OTHERS)){}
327 393
			else
328 394
			try{
329
				ArrayList<ContainerObjects> temp = createList(detail, con.getName());
395
				ArrayList<ContainerObjects> temp = createList(detail, con.getName(), true);
330 396
				for(ContainerObjects o : temp){
331 397
					Log.i(LOG,o.getCName()+" "+o.isShared());
332 398
					if(o.isShared()){

Also available in: Unified diff