blob: 7cb382505ff8fb360fbe92b0900601bbb570e963 [file] [log] [blame]
package com.android.cts.verifier.managedprovisioning;
import android.app.AlertDialog;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.DataSetObserver;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.android.cts.verifier.ArrayTestListAdapter;
import com.android.cts.verifier.IntentDrivenTestActivity;
import com.android.cts.verifier.IntentDrivenTestActivity.ButtonInfo;
import com.android.cts.verifier.IntentDrivenTestActivity.TestInfo;
import com.android.cts.verifier.PassFailButtons;
import com.android.cts.verifier.R;
import com.android.cts.verifier.TestListAdapter.TestListItem;
import java.util.ArrayList;
import java.util.List;
/**
* Activity that lists all device owner provisioning tests.
*/
public class DeviceOwnerTestActivity extends PassFailButtons.TestListActivity {
private static final String ACTION_PROVISION_MANAGED_DEVICE
= "com.android.managedprovisioning.ACTION_PROVISION_MANAGED_DEVICE";
private static final Intent PROVISION_DEVICE_INTENT =
new Intent(ACTION_PROVISION_MANAGED_DEVICE);
private static final String DEVICE_OWNER_NEGATIVE_TEST = "DEVICE_OWNER_PROVISIONING_NEGATIVE";
private static final TestInfo DEVICE_OWNER_NEGATIVE_TEST_INFO = new TestInfo(
DEVICE_OWNER_NEGATIVE_TEST,
R.string.device_owner_negative_test,
R.string.device_owner_negative_test_info,
new ButtonInfo(
R.string.start_device_owner_provisioning_button,
PROVISION_DEVICE_INTENT));
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pass_fail_list);
setInfoResources(R.string.device_owner_provisioning_tests,
R.string.device_owner_provisioning_tests_info, 0);
setPassFailButtonClickListeners();
final ArrayTestListAdapter adapter = new ArrayTestListAdapter(this);
adapter.add(TestListItem.newCategory(this, R.string.device_owner_provisioning_category));
Intent startTestIntent = new Intent(this, IntentDrivenTestActivity.class)
.putExtra(IntentDrivenTestActivity.EXTRA_ID,
DEVICE_OWNER_NEGATIVE_TEST_INFO.getTestId())
.putExtra(IntentDrivenTestActivity.EXTRA_TITLE,
DEVICE_OWNER_NEGATIVE_TEST_INFO.getTitle())
.putExtra(IntentDrivenTestActivity.EXTRA_INFO,
DEVICE_OWNER_NEGATIVE_TEST_INFO.getInfoText())
.putExtra(IntentDrivenTestActivity.EXTRA_BUTTONS,
DEVICE_OWNER_NEGATIVE_TEST_INFO.getButtons());
adapter.add(TestListItem.newTest(this, DEVICE_OWNER_NEGATIVE_TEST_INFO.getTitle(),
DEVICE_OWNER_NEGATIVE_TEST_INFO.getTestId(), startTestIntent, null));
adapter.registerDataSetObserver(new DataSetObserver() {
@Override
public void onChanged() {
updatePassButton();
}
});
setTestListAdapter(adapter);
}
/**
* Enable Pass Button when the all tests passed.
*/
private void updatePassButton() {
getPassButton().setEnabled(mAdapter.allTestsPassed());
}
}