mirror of
https://github.com/nextcloud/android.git
synced 2024-11-26 15:15:51 +03:00
Remove classes not used more after changing the view of OC accounts
This commit is contained in:
parent
d3b07add37
commit
c4359ce393
4 changed files with 0 additions and 347 deletions
|
@ -156,7 +156,6 @@
|
|||
<service android:name=".media.MediaService" />
|
||||
|
||||
<activity android:name=".ui.activity.PinCodeActivity" />
|
||||
<activity android:name=".ui.activity.AccountSelectActivity" android:uiOptions="none" android:label="@string/prefs_accounts"></activity>
|
||||
<activity android:name=".ui.activity.ConflictsResolveActivity"/>
|
||||
<activity android:name=".ui.activity.GenericExplanationActivity"/>
|
||||
<activity android:name=".ui.activity.ErrorsWhileCopyingHandlerActivity"/>
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
ownCloud Android client application
|
||||
|
||||
Copyright (C) 2012 Bartek Przybylski
|
||||
Copyright (C) 2012-2013 ownCloud Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License version 2,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<item android:id="@+id/createAccount" android:title="@string/create_account" android:showAsAction="ifRoom|withText"></item>
|
||||
|
||||
|
||||
</menu>
|
|
@ -1,53 +0,0 @@
|
|||
/* ownCloud Android client application
|
||||
* Copyright (C) 2014 ownCloud Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2,
|
||||
* as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package com.owncloud.android.ui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.preference.Preference;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
/**
|
||||
* Allow multiline titles in preferences
|
||||
*
|
||||
* @author masensio
|
||||
*
|
||||
*/
|
||||
public class PreferenceMultiline extends Preference {
|
||||
|
||||
public PreferenceMultiline(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public PreferenceMultiline(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public PreferenceMultiline(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBindView(View view) {
|
||||
super.onBindView(view);
|
||||
TextView titleView = (TextView) view.findViewById(android.R.id.title);
|
||||
titleView.setSingleLine(false);
|
||||
titleView.setMaxLines(3);
|
||||
}
|
||||
}
|
|
@ -1,269 +0,0 @@
|
|||
/* ownCloud Android client application
|
||||
* Copyright (C) 2012 Bartek Przybylski
|
||||
* Copyright (C) 2012-2013 ownCloud Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2,
|
||||
* as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package com.owncloud.android.ui.activity;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.accounts.AccountManager;
|
||||
import android.accounts.AccountManagerCallback;
|
||||
import android.accounts.AccountManagerFuture;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.ContextMenu;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ContextMenu.ContextMenuInfo;
|
||||
import android.widget.AdapterView.AdapterContextMenuInfo;
|
||||
import android.widget.CheckedTextView;
|
||||
import android.widget.ListView;
|
||||
import android.widget.SimpleAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.actionbarsherlock.app.ActionBar;
|
||||
import com.actionbarsherlock.app.SherlockListActivity;
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import com.owncloud.android.authentication.AuthenticatorActivity;
|
||||
import com.owncloud.android.authentication.AccountUtils;
|
||||
import com.owncloud.android.lib.common.accounts.AccountUtils.Constants;
|
||||
import com.owncloud.android.utils.DisplayUtils;
|
||||
import com.owncloud.android.utils.Log_OC;
|
||||
import com.owncloud.android.MainApp;
|
||||
import com.owncloud.android.R;
|
||||
|
||||
|
||||
public class AccountSelectActivity extends SherlockListActivity implements
|
||||
AccountManagerCallback<Boolean> {
|
||||
|
||||
private static final String TAG = "AccountSelectActivity";
|
||||
|
||||
private static final String PREVIOUS_ACCOUNT_KEY = "ACCOUNT";
|
||||
|
||||
private final Handler mHandler = new Handler();
|
||||
private Account mPreviousAccount = null;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
mPreviousAccount = savedInstanceState.getParcelable(PREVIOUS_ACCOUNT_KEY);
|
||||
} else {
|
||||
mPreviousAccount = AccountUtils.getCurrentOwnCloudAccount(this);
|
||||
}
|
||||
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
actionBar.setIcon(DisplayUtils.getSeasonalIconId());
|
||||
actionBar.setDisplayShowTitleEnabled(true);
|
||||
actionBar.setDisplayHomeAsUpEnabled(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
populateAccountList();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
if (this.isFinishing()) {
|
||||
Account current = AccountUtils.getCurrentOwnCloudAccount(this);
|
||||
if ((mPreviousAccount == null && current != null) ||
|
||||
(mPreviousAccount != null && !mPreviousAccount.equals(current))) {
|
||||
/// the account set as default changed since this activity was created
|
||||
|
||||
// restart the main activity
|
||||
Intent i = new Intent(this, FileDisplayActivity.class);
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(i);
|
||||
}
|
||||
}
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
// Show Create Account if Multiaccount is enabled
|
||||
if (getResources().getBoolean(R.bool.multiaccount_support)) {
|
||||
MenuInflater inflater = getSherlock().getMenuInflater();
|
||||
inflater.inflate(R.menu.account_picker, menu);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateContextMenu(ContextMenu menu, View v,
|
||||
ContextMenuInfo menuInfo) {
|
||||
getMenuInflater().inflate(R.menu.account_picker_long_click, menu);
|
||||
super.onCreateContextMenu(menu, v, menuInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onListItemClick(ListView l, View v, int position, long id) {
|
||||
String accountName = ((TextView) v.findViewById(android.R.id.text1))
|
||||
.getText().toString();
|
||||
AccountUtils.setCurrentOwnCloudAccount(this, accountName);
|
||||
finish(); // immediate exit
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemSelected(int featureId, MenuItem item) {
|
||||
if (item.getItemId() == R.id.createAccount) {
|
||||
/*Intent intent = new Intent(
|
||||
android.provider.Settings.ACTION_ADD_ACCOUNT);
|
||||
intent.putExtra("authorities",
|
||||
new String[] { MainApp.getAuthTokenType() });
|
||||
startActivity(intent);*/
|
||||
AccountManager am = AccountManager.get(getApplicationContext());
|
||||
am.addAccount(MainApp.getAccountType(),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
this,
|
||||
null,
|
||||
null);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the user clicked on an item into the context menu created at
|
||||
* {@link #onCreateContextMenu(ContextMenu, View, ContextMenuInfo)} for every
|
||||
* ownCloud {@link Account} , containing 'secondary actions' for them.
|
||||
*
|
||||
* {@inheritDoc}}
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public boolean onContextItemSelected(android.view.MenuItem item) {
|
||||
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
|
||||
int index = info.position;
|
||||
HashMap<String, String> map = null;
|
||||
try {
|
||||
map = (HashMap<String, String>) getListAdapter().getItem(index);
|
||||
} catch (ClassCastException e) {
|
||||
Log_OC.wtf(TAG, "getitem(index) from list adapter did not return hashmap, bailing out");
|
||||
return false;
|
||||
}
|
||||
|
||||
String accountName = map.get("NAME");
|
||||
AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
|
||||
Account accounts[] = am.getAccountsByType(MainApp.getAccountType());
|
||||
for (Account a : accounts) {
|
||||
if (a.name.equals(accountName)) {
|
||||
if (item.getItemId() == R.id.change_password) {
|
||||
Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class);
|
||||
updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACCOUNT, a);
|
||||
updateAccountCredentials.putExtra(AuthenticatorActivity.EXTRA_ACTION, AuthenticatorActivity.ACTION_UPDATE_TOKEN);
|
||||
startActivity(updateAccountCredentials);
|
||||
|
||||
} else if (item.getItemId() == R.id.delete_account) {
|
||||
am.removeAccount(a, this, mHandler);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private void populateAccountList() {
|
||||
AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE);
|
||||
Account accounts[] = am
|
||||
.getAccountsByType(MainApp.getAccountType());
|
||||
if (am.getAccountsByType(MainApp.getAccountType()).length == 0) {
|
||||
// Show create account screen if there isn't any account
|
||||
am.addAccount(MainApp.getAccountType(),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
this,
|
||||
null,
|
||||
null);
|
||||
}
|
||||
else {
|
||||
LinkedList<HashMap<String, String>> ll = new LinkedList<HashMap<String, String>>();
|
||||
for (Account a : accounts) {
|
||||
HashMap<String, String> h = new HashMap<String, String>();
|
||||
h.put("NAME", a.name);
|
||||
h.put("VER",
|
||||
"ownCloud version: "
|
||||
+ am.getUserData(a,
|
||||
Constants.KEY_OC_VERSION));
|
||||
ll.add(h);
|
||||
}
|
||||
|
||||
setListAdapter(new AccountCheckedSimpleAdepter(this, ll,
|
||||
android.R.layout.simple_list_item_single_choice,
|
||||
new String[] { "NAME" }, new int[] { android.R.id.text1 }));
|
||||
registerForContextMenu(getListView());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(AccountManagerFuture<Boolean> future) {
|
||||
if (future.isDone()) {
|
||||
Account a = AccountUtils.getCurrentOwnCloudAccount(this);
|
||||
String accountName = "";
|
||||
if (a == null) {
|
||||
Account[] accounts = AccountManager.get(this)
|
||||
.getAccountsByType(MainApp.getAccountType());
|
||||
if (accounts.length != 0)
|
||||
accountName = accounts[0].name;
|
||||
AccountUtils.setCurrentOwnCloudAccount(this, accountName);
|
||||
}
|
||||
populateAccountList();
|
||||
}
|
||||
}
|
||||
|
||||
private class AccountCheckedSimpleAdepter extends SimpleAdapter {
|
||||
private Account mCurrentAccount;
|
||||
private List<? extends Map<String, ?>> mPrivateData;
|
||||
|
||||
public AccountCheckedSimpleAdepter(Context context,
|
||||
List<? extends Map<String, ?>> data, int resource,
|
||||
String[] from, int[] to) {
|
||||
super(context, data, resource, from, to);
|
||||
mCurrentAccount = AccountUtils
|
||||
.getCurrentOwnCloudAccount(AccountSelectActivity.this);
|
||||
mPrivateData = data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
View v = super.getView(position, convertView, parent);
|
||||
CheckedTextView ctv = (CheckedTextView) v
|
||||
.findViewById(android.R.id.text1);
|
||||
if (mPrivateData.get(position).get("NAME")
|
||||
.equals(mCurrentAccount.name)) {
|
||||
ctv.setChecked(true);
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue