Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dbad40ac authored by Chet Haase's avatar Chet Haase Committed by Android Git Automerger
Browse files

am f7ee988e: Merge "Better error logs for faulty ObjectAnimators" into jb-dev

* commit 'f7ee988e':
  Better error logs for faulty ObjectAnimators
parents 905134f1 f7ee988e
Loading
Loading
Loading
Loading
+22 −10
Original line number Diff line number Diff line
@@ -384,8 +384,7 @@ public class PropertyValuesHolder implements Cloneable {
            try {
                returnVal = targetClass.getMethod(methodName, args);
            } catch (NoSuchMethodException e) {
                Log.e("PropertyValuesHolder",
                        "Couldn't find no-arg method for property " + mPropertyName + ": " + e);
                // Swallow the error, log it later
            }
        } else {
            args = new Class[1];
@@ -412,9 +411,12 @@ public class PropertyValuesHolder implements Cloneable {
                }
            }
            // If we got here, then no appropriate function was found
            Log.e("PropertyValuesHolder",
                    "Couldn't find setter/getter for property " + mPropertyName +
                            " with value type "+ mValueType);
        }

        if (returnVal == null) {
            Log.w("PropertyValuesHolder", "Method " +
                    getMethodName(prefix, mPropertyName) + "() with type " + mValueType +
                    " not found on target class " + targetClass);
        }

        return returnVal;
@@ -495,7 +497,7 @@ public class PropertyValuesHolder implements Cloneable {
                }
                return;
            } catch (ClassCastException e) {
                Log.e("PropertyValuesHolder","No such property (" + mProperty.getName() +
                Log.w("PropertyValuesHolder","No such property (" + mProperty.getName() +
                        ") on target object " + target + ". Trying reflection instead");
                mProperty = null;
            }
@@ -508,6 +510,10 @@ public class PropertyValuesHolder implements Cloneable {
            if (!kf.hasValue()) {
                if (mGetter == null) {
                    setupGetter(targetClass);
                    if (mGetter == null) {
                        // Already logged the error - just return to avoid NPE
                        return;
                    }
                }
                try {
                    kf.setValue(mGetter.invoke(target));
@@ -535,6 +541,10 @@ public class PropertyValuesHolder implements Cloneable {
            if (mGetter == null) {
                Class targetClass = target.getClass();
                setupGetter(targetClass);
                if (mGetter == null) {
                    // Already logged the error - just return to avoid NPE
                    return;
                }
            }
            kf.setValue(mGetter.invoke(target));
        } catch (InvocationTargetException e) {
@@ -854,8 +864,9 @@ public class PropertyValuesHolder implements Cloneable {
                    }
                }
            } catch (NoSuchMethodError e) {
                Log.d("PropertyValuesHolder",
                        "Can't find native method using JNI, use reflection" + e);
                // Couldn't find it via JNI - try reflection next. Probably means the method
                // doesn't exist, or the type is wrong. An error will be logged later if
                // reflection fails as well.
            } finally {
                mPropertyMapLock.writeLock().unlock();
            }
@@ -990,8 +1001,9 @@ public class PropertyValuesHolder implements Cloneable {
                    }
                }
            } catch (NoSuchMethodError e) {
                Log.d("PropertyValuesHolder",
                        "Can't find native method using JNI, use reflection" + e);
                // Couldn't find it via JNI - try reflection next. Probably means the method
                // doesn't exist, or the type is wrong. An error will be logged later if
                // reflection fails as well.
            } finally {
                mPropertyMapLock.writeLock().unlock();
            }