-#Wed Oct 15 10:45:44 CEST 2014
+#Fri Jan 23 17:48:07 CET 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
package com.owncloud.android.ui.adapter;
+import java.nio.ByteBuffer;
+import java.security.MessageDigest;
import java.util.ArrayList;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.Context;
+import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.owncloud.android.MainApp;
import com.owncloud.android.R;
import com.owncloud.android.authentication.AccountUtils;
+import com.owncloud.android.lib.common.utils.Log_OC;
import com.owncloud.android.ui.activity.FileDisplayActivity;
+import com.owncloud.android.utils.BitmapUtils;
public class NavigationDrawerListAdapter extends BaseAdapter {
for (Account account : mAccounts) {
RadioButton rb = new RadioButton(mContext);
rb.setText(account.name);
- rb.setTextColor(mContext.getResources().getColor(R.color.black));
+ try {
+ byte[] bytesOfMessage = account.name.substring(0,5).getBytes("UTF-8");
+ MessageDigest md = MessageDigest.getInstance("MD5");
+ byte[] digest = md.digest(bytesOfMessage);
+ int result = Math.abs(ByteBuffer.wrap(digest).getInt());
+
+ Log_OC.d(TAG, "Integer: " + result % 100000);
+ Log_OC.d(TAG, "length: " + digest.length);
+
+
+ Double hue = (result % 100000) / 99999.0;
+
+ Log_OC.d(TAG, "hue: " + hue);
+
+ int[] rgb = BitmapUtils.hslToRgb(hue, 0.9, 0.65);
+ rb.setTextColor(Color.rgb(rgb[0], rgb[1], rgb[2]));
+ Log_OC.d(TAG, "Color: " + rgb[0] + " " + rgb[1] + rgb[2]);
+
+ } catch (Exception e){
+ Log_OC.d(TAG, e.toString());
+ rb.setTextColor(mContext.getResources().getColor(R.color.black));
+ }
RadioGroup.LayoutParams params = new RadioGroup.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
params.weight=1.0f;
}
return resultBitmap;
}
+
+ /**
+ * Converts an HSL color value to RGB. Conversion formula
+ * adapted from http://en.wikipedia.org/wiki/HSL_color_space.
+ * Assumes h, s, and l are contained in the set [0, 1] and
+ * returns r, g, and b in the set [0, 255].
+ * from: http://axonflux.com/handy-rgb-to-hsl-and-rgb-to-hsv-color-model-c
+ *
+ * @param integer h The hue
+ * @param Integer s The saturation
+ * @param Integer l The lightness
+ * @return Array The RGB representation
+ */
+ public static int[] hslToRgb(Double h, Double s, Double l){
+ Double r, g, b;
+
+ if(s == 0){
+ r = g = b = l; // achromatic
+ } else {
+ Double q = l < 0.5 ? l * (1 + s) : l + s - l * s;
+ Double p = 2 * l - q;
+ r = hue2rgb(p, q, h + 1/3) * 255;
+ g = hue2rgb(p, q, h) * 255;
+ b = hue2rgb(p, q, h - 1/3) * 255;
+ }
+
+
+ int[] array = {r.intValue(), g.intValue(), b.intValue()};
+ return array;
+ }
+
+ private static Double hue2rgb(Double p, Double q, Double t){
+ if(t < 0) t += 1;
+ if(t > 1) t -= 1;
+ if(t < 1/6) return p + (q - p) * 6 * t;
+ if(t < 1/2) return q;
+ if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;
+ return p;
+ }
}