public class

Utils

extends java.lang.Object

 java.lang.Object

↳androidx.constraintlayout.core.motion.utils.Utils

Gradle dependencies

compile group: 'androidx.constraintlayout', name: 'constraintlayout-core', version: '1.1.0-beta01'

  • groupId: androidx.constraintlayout
  • artifactId: constraintlayout-core
  • version: 1.1.0-beta01

Artifact androidx.constraintlayout:constraintlayout-core:1.1.0-beta01 it located at Google repository (https://maven.google.com/)

Summary

Constructors
publicUtils()

Methods
public intgetInterpolatedColor(float[] value[])

public static voidlog(java.lang.String str)

public static voidlog(java.lang.String tag, java.lang.String value)

public static voidloge(java.lang.String tag, java.lang.String value)

public static voidlogStack(java.lang.String msg, int n)

public static intrgbaTocColor(float r, float g, float b, float a)

public static voidsetDebugHandle(Utils.DebugHandle handle)

public static voidsocketSend(java.lang.String str)

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public Utils()

Methods

public static void log(java.lang.String tag, java.lang.String value)

public static void loge(java.lang.String tag, java.lang.String value)

public static void socketSend(java.lang.String str)

public int getInterpolatedColor(float[] value[])

public static int rgbaTocColor(float r, float g, float b, float a)

public static void setDebugHandle(Utils.DebugHandle handle)

public static void logStack(java.lang.String msg, int n)

public static void log(java.lang.String str)

Source

/*
 * Copyright (C) 2021 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 androidx.constraintlayout.core.motion.utils;

import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Arrays;

public class Utils {
    // @TODO: add description
    public static void log(String tag, String value) {
        System.out.println(tag + " : " + value);
    }

    // @TODO: add description
    public static void loge(String tag, String value) {
        System.err.println(tag + " : " + value);
    }

    // @TODO: add description
    public static void socketSend(String str) {
        try {
            Socket socket = new Socket("127.0.0.1", 5327);
            OutputStream out = socket.getOutputStream();
            out.write(str.getBytes());
            out.close();
        } catch (IOException e) {
            //TODO replace with something not equal to printStackTrace();
            System.err.println(e.toString()+"\n"+ Arrays.toString(e.getStackTrace())
                    .replace("[","   at ")
                    .replace(",","\n   at")
                    .replace("]",""));
        }
    }

    private static int clamp(int c) {
        int n = 255;
        c &= ~(c >> 31);
        c -= n;
        c &= (c >> 31);
        c += n;
        return c;
    }

    // @TODO: add description
    public int getInterpolatedColor(float[] value) {
        int r = clamp((int) ((float) Math.pow(value[0], 1.0 / 2.2) * 255.0f));
        int g = clamp((int) ((float) Math.pow(value[1], 1.0 / 2.2) * 255.0f));
        int b = clamp((int) ((float) Math.pow(value[2], 1.0 / 2.2) * 255.0f));
        int a = clamp((int) (value[3] * 255.0f));
        int color = (a << 24) | (r << 16) | (g << 8) | b;
        return color;
    }

    // @TODO: add description
    public static int rgbaTocColor(float r, float g, float b, float a) {
        int ir = clamp((int) (r * 255f));
        int ig = clamp((int) (g * 255f));
        int ib = clamp((int) (b * 255f));
        int ia = clamp((int) (a * 255f));
        int color = (ia << 24) | (ir << 16) | (ig << 8) | ib;
        return color;
    }

    public interface DebugHandle {
        // @TODO: add description
        void message(String str);
    }

    static DebugHandle sOurHandle;

    public static void setDebugHandle(DebugHandle handle) {
        sOurHandle = handle;
    }

    // @TODO: add description
    public static void logStack(String msg, int n) {
        StackTraceElement[] st = new Throwable().getStackTrace();
        String s = " ";
        n = Math.min(n, st.length - 1);
        for (int i = 1; i <= n; i++) {
            StackTraceElement ste = st[i];
            String stack = ".(" + ste.getFileName() + ":"
                    + ste.getLineNumber() + ") " + ste.getMethodName();
            s += " ";
            System.out.println(msg + s + stack + s);
        }
    }

    // @TODO: add description
    public static void log(String str) {
        StackTraceElement s = new Throwable().getStackTrace()[1];
        String methodName = s.getMethodName();
        methodName = (methodName + "                  ").substring(0, 17);
        String npad = "    ".substring(Integer.toString(s.getLineNumber()).length());
        String ss = ".(" + s.getFileName() + ":" + s.getLineNumber() + ")" + npad + methodName;
        System.out.println(ss + " " + str);
        if (sOurHandle != null) {
            sOurHandle.message(ss + " " + str);
        }
    }

}