/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.motorola.studio.android.wizards.project;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
import com.android.ide.eclipse.adt.internal.sdk.Sdk;
import com.android.sdklib.IAndroidTarget;
import com.motorola.studio.android.adt.SdkUtils;
import com.motorola.studio.android.model.AndroidProject;
/**
* Class that implements a content provider for the Samples Tree viewers.
*/
@SuppressWarnings("restriction")
class TreeContentProvider implements ITreeContentProvider
{
AndroidProject project = null;
public TreeContentProvider(AndroidProject project)
{
this.project = project;
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
*/
public Object[] getChildren(Object arg0)
{
Object[] objects;
if (arg0 instanceof IAndroidTarget)
{
objects = SdkUtils.getSamples((IAndroidTarget) arg0);
}
else
{
objects = new Object[0];
}
return objects;
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
*/
public Object getParent(Object arg0)
{
return null;
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
*/
public boolean hasChildren(Object arg0)
{
Object[] obj = getChildren(arg0);
return obj == null ? false : obj.length > 0;
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
*/
public Object[] getElements(Object arg0)
{
Object[] objs = null;
if (arg0 instanceof Sdk)
{
Sdk sdk = (Sdk) arg0;
Object[] targets = SdkUtils.getTargets(sdk);
if (targets.length > 0)
{
for (IAndroidTarget target : (IAndroidTarget[]) targets)
{
if (target.equals(project.getSdkTarget()))
{
objs = SdkUtils.getSamples(target);
}
}
}
else
{
objs = new Object[0];
}
}
return objs;
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
*/
public void dispose()
{
//do nothing
}
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
*/
public void inputChanged(Viewer arg0, Object arg1, Object arg2)
{
//do nothing
}
}