From 085975cb9b0e108ed89aff5e798470962fa8fab3 Mon Sep 17 00:00:00 2001 From: Alexander Lobas Date: Mon, 26 Mar 2012 21:45:45 +0400 Subject: [PATCH 1/5] Android widgets --- .../android/designer/icons/CalendarView.png | Bin 0 -> 190 bytes .../android/designer/icons/DatePicker.png | Bin 0 -> 1205 bytes .../android/designer/icons/GridView.png | Bin 0 -> 1036 bytes .../android/designer/icons/ListView.png | Bin 0 -> 1053 bytes .../android/designer/icons/NumberPicker.png | Bin 0 -> 441 bytes .../android/designer/icons/SearchView.png | Bin 0 -> 795 bytes .../android/designer/icons/TimePicker.png | Bin 0 -> 1162 bytes .../android/designer/icons/WebView.png | Bin 0 -> 1451 bytes .../android/designer/icons/ZoomControls.png | Bin 0 -> 1517 bytes .../designer/model/views-meta-model.xml | 180 ++++++++++++++++++ 10 files changed, 180 insertions(+) create mode 100644 plugins/android-designer/src/com/intellij/android/designer/icons/CalendarView.png create mode 100644 plugins/android-designer/src/com/intellij/android/designer/icons/DatePicker.png create mode 100644 plugins/android-designer/src/com/intellij/android/designer/icons/GridView.png create mode 100644 plugins/android-designer/src/com/intellij/android/designer/icons/ListView.png create mode 100644 plugins/android-designer/src/com/intellij/android/designer/icons/NumberPicker.png create mode 100644 plugins/android-designer/src/com/intellij/android/designer/icons/SearchView.png create mode 100644 plugins/android-designer/src/com/intellij/android/designer/icons/TimePicker.png create mode 100644 plugins/android-designer/src/com/intellij/android/designer/icons/WebView.png create mode 100644 plugins/android-designer/src/com/intellij/android/designer/icons/ZoomControls.png diff --git a/plugins/android-designer/src/com/intellij/android/designer/icons/CalendarView.png b/plugins/android-designer/src/com/intellij/android/designer/icons/CalendarView.png new file mode 100644 index 0000000000000000000000000000000000000000..033c51ca7c077c6f81288fc70c8b640c040b3076 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Qzr zpv|kQWk3<>&kwcQ9@ivEbM(42T;h))5S5w;`H0| z3q=_ec$hCXA1{hs@cL-^$qmlh26MVPe`qV6S-?DD=Gx-Wjgs4zv8dcM+ZJ8zH{lEC d{15XA7#)nxB`#Igtp=LJ;OXk;vd$@?2>`UcIXnOW literal 0 HcmV?d00001 diff --git a/plugins/android-designer/src/com/intellij/android/designer/icons/DatePicker.png b/plugins/android-designer/src/com/intellij/android/designer/icons/DatePicker.png new file mode 100644 index 0000000000000000000000000000000000000000..107529e7a2f4eded5f9925102dd9f42ad1bd035c GIT binary patch literal 1205 zcmbVMU1%It6dpH0W7;i+_|V2eE)xW?*_nIyZ!*KKb#`YrS#)E%SuxdAI+?l2PO|gU znY-?6UM%f{Rz#|8M6~pwO4XO7loCXn77R30AwCpT>O)I?5Q3%FQref&-bu2lLg<47 zGxy$e&v$;lbIu$d9Ow(TceXPO6E5^CCAw}6-nJ*{x9j!;l`h*!ZkP<&W2COSn2~jR z6oZ1Pj^h$m^~U~7IK?n66{9>%hKsLAnr(7wpu_p5L(vSA+T}Z{Hi-!s#p8yRW^aCf zfdz)1W?xSfVbRIriqSvi;-RU5vNkoTi8{OMMUe6(YQV%q1-@CeJjqY9D|RKi55znR zR#eDjnq3WQxHt&1wu?c6gAolT5lF^46o+D5>;X}TAdjLv6e0*p2|PIZEyJDJ2 z7S&O^M$#;ebTtLjDHhiaTizN`lrr8|9UgIzH_afg6>X1{@S`v`)b`2^2lFND*)>nx!|KZs?SvUWkwohe8x4dl3@jFsJ4m!^pJV6a_petK9RA8gT?ap`arC%Pm$ zSbr20x$Iy0a_Ca{5ZpTQCI`BfuPq#X_5F zQvWCO@Amx##~LSQuN|nhXdi6a`~y5!eg9ilu>!G&9&Pn%$8ck7-#eLEJH zkDvMmh2$gCwIkEB%Rikt{`6<3_BWQkZaLSwjrsG=%+a|krz^paq>vj>W-|K@J_NU* BkXQf! literal 0 HcmV?d00001 diff --git a/plugins/android-designer/src/com/intellij/android/designer/icons/GridView.png b/plugins/android-designer/src/com/intellij/android/designer/icons/GridView.png new file mode 100644 index 0000000000000000000000000000000000000000..33ae3cb80405c8f4c881e6e46196ac963575a50b GIT binary patch literal 1036 zcmbVLziZS`91ksGtrY4cio+uX5%H4ua{1AO#*$0!+5=O|^}ur}%_Z-8p-o;)UcIy+ zh|ocBP#6CJXBWo~4uaq&v>>{~X| zRCCd3v2(h3C&t+K`HQ~Fjw`g@p(~_E2VROfDAAH1f95>z%+a20* z?-)Lb1h2pdd6Y0V$IZ>>iRW)%3c7ebj7|P%?;Q`qz~t{KE_4$c_rt}V6tCv5A7Q4UZ_PL3?X#GjC?W4&crZ2MU6BhcDea6~+z*lJ_US@B4kfe>+QyH>M_MCIvy5 zsx4RzzD}p_#WDVUyw}b1J|Y_V4T zmf=uevQrx=@k5Rlgt_@7w4F7=K%1<3fhqoY{YC_yYl?T&I;@9f()AWLBeJ}?*mO46 z9NiV?uYKlHc0$l5F3dp4tWi}Pp@SW3{BXYDISYz)t5k-Mg*u5%s4QQKwgoM z0(C{d2C@)A8D(XtWe_w}&437;JRgk|>@sIk7_- zNl^CvG_Ij_%o^m6j5Dp{<{%_;gT!;m-mR`0X)-lYFIL^W%4Oa^)#Hy}o2vtx)&6Y|? zg{p2eZht>KTmcg=h4sNe-#aK4i+JYf z=-1Ylw-eh3ySuv&u3jGB5!~@yF2}{+U;p&+)lX&miMh4E|MbzfXFJa?j9n6F5%i|t Rz5kjHY^}0ry(q10{|0WCNZ|kg literal 0 HcmV?d00001 diff --git a/plugins/android-designer/src/com/intellij/android/designer/icons/NumberPicker.png b/plugins/android-designer/src/com/intellij/android/designer/icons/NumberPicker.png new file mode 100644 index 0000000000000000000000000000000000000000..755706748fcaec90cd3b425b144f78391dd22231 GIT binary patch literal 441 zcmV;q0Y?6bP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipM{ z1t=_at`IH&00B8kL_t(I%axKrl7cW4L|-7d(JD)X3+MsdcnwdkH;@Ck&VLI?oP=d;@@ih`mjo&uN4#SyF3in1)J>-yWKlmIBDoP)(; zLDMuyV+^y|%(MDF513A;-n`rGkdMcMJkLi%tf~rtG);-)*bgy|W70I`FIX;@1XmD3 zFquq7KMs77B%y=Xlz+m&3n7ACX{|+TJt{EpT5GQd0MVzyykoe^yM5q!h1Y_7f-xp2 zk`pk-cttuK4ghR6o1o6Gd&lFEs;Zs>*Xz|0>-8FdrfJ;UV7)9$mqC_gWLbus&*xrk jKcVY7m&I=v`!~J-gOQWxgJBlJ00000NkvXXu0mjf(%81| literal 0 HcmV?d00001 diff --git a/plugins/android-designer/src/com/intellij/android/designer/icons/SearchView.png b/plugins/android-designer/src/com/intellij/android/designer/icons/SearchView.png new file mode 100644 index 0000000000000000000000000000000000000000..2b45fc240c30423c280372c50ef1415eddf63d03 GIT binary patch literal 795 zcmV+$1LXXPP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipSz z6CX1*Zico1000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0007ZNkllPyaCbro0H`Veg+hVZ+pNtDcf-_q@bEz>GOZ8- z=jZ42`+dgaF{(;AO<8~XluoCExnrU@j+&kk zY;5rI1Q!<<^m;uSD-G74tkYO&psI{UBTi0EI668aO;et%t)U_i zz{~(Bx;v+*r-TsbcDt-Lf5FWtBnc~x1}e&MIHce2)9H3|_@-FSfJ9ZezP@IDex7=* zj)?Fr%gACxL@8G*q-o0JzX|`2$A}0LB}W1jqX??X?d>gDmQgB|kQi}?5S*B0+}+*b z=BR4EK$NLrBr3x4@-lRA{=4L302xd;F(_vv@fln8o_&WTGyHl&xXf~T% zU0w0!_c#3g@gv(WUhsTt>prbT(R_iKQD3T4t5(Tk#NA1f1XIJzSp9jGo0}UB4i1PC z*?RWuhX%7~ni=MKKyc6Pa$|9Ek?rkm_V@QuQQjTABWCf33!+Mlf=I4zjFD{G5;H`E zrAJHb?Cek|Cih2`QxHLCgXxu->pd-ZpYnAo)he%F|Hfo8q1|rtziM}PH<_OHoV%y9 Z`FBS>%qjX}SbG2f002ovPDHLkV1lOtW48bR literal 0 HcmV?d00001 diff --git a/plugins/android-designer/src/com/intellij/android/designer/icons/TimePicker.png b/plugins/android-designer/src/com/intellij/android/designer/icons/TimePicker.png new file mode 100644 index 0000000000000000000000000000000000000000..5115f6df7bed46e1a8021af09bf85826b273e52b GIT binary patch literal 1162 zcmbVMUuYCZ7+(lP8&HCjV%rCYjXnsu-I=@F+uJp#?A_k!#oie%C%K{pH@lPElI+fA zcj8?Ff?6e%mV)ktIM2xeSTvP}?xUf6( z&HR4f|8KwPEAHOV@mUAQaU1e`^b%V;!*_i<`)-+EGT8Dd%~ohX8KO1A$DC%7K@9Sa zF^o&tuqMX-!95(;R<+9&S}A;?n#2)|5F^wbkFhzfXII@b%n?k%ARe~e6#wG-4IbE5 ziXV^)u;68I)!sAdA4kK zOiJ-pN zndR>NhC(3oM&0MztSH8)PRwx!yELz-cy=RLw#8DEgb2xTC`Vx;iI5VHXo0Ep7_-uHdp z=l6X4p69vuij4U&I}>*T01%@uz)bua8+xOk@t2y;It)NF27qmL(pzp!J|i3`L-ZW(ZI!LEcM50z($@O1h3yL42g^DL7pQ!=_=1-5`pm4EEqI7!@M0(;3QZO`GLR#6Mwd zsm+?bE&?_YEM3P~_Qo|59M>A%cc7!{i$WC)KYo}eHrdTROK?80fsgNX8 zp!Iw)f*}tPRvkk-!8L}Jgo)?cL^Vy zO7g9)jxETlDy{FPTUu&n-f}nGAIwi0RgIfE7{v7W;rkB;T62u?hjkgdmd<78e>F9J z*LGm^UN9K+_cmYbJCpocRNCUCKX+i1xRx5}ok$3Fznzfq`3+FgqiWdSc53#IF5ji; z`bxleq(ajEWR-|qv)`0IDdGJTD6S>A2hcYvtkqpiK2oyk#AL$}MpxEH8t@eqg_T;hlvc)53gF*4nrKe9P%q~7yxO0_te>P73aG%(#Y=gmH8$2_db8&NN-bP z?1v}+WZZiT3(RkRU?Y}ao~~~HIAZ2XAkrt@Pij)wLkG{({-Bs$NGw$r?D-T8K05a+ z*}GfN{>qC-M7uug`>CsI5?>7j=EpAQMp|9pe4RX9(UJJu;nYu>YiAwgM;9`driO>c z%5%}d;qOxSqzw#RII1FZo36IS#>N%&_Dc#H0z0A+K=W5m{OYZ=h|up-uQg(q@+w;X E1|}dNyZ`_I literal 0 HcmV?d00001 diff --git a/plugins/android-designer/src/com/intellij/android/designer/icons/ZoomControls.png b/plugins/android-designer/src/com/intellij/android/designer/icons/ZoomControls.png new file mode 100644 index 0000000000000000000000000000000000000000..7928c65cfd0f7d507839e9161bcd09548c856ad8 GIT binary patch literal 1517 zcmbVMdr%a09N&Br!49&$+BX=pPI%iSJ#9=E&hF5Gd$ zU;$P}goO@6Dr7VxjiOC}P>QC!%>f%?dch24rr3iBoJ4%|JLITl9RFx%c7MO$_xJsL zKi}u>PD@?CD0FEk1VM{T8>n=!h6mn|1>n1U{2mRK2q`H;vTzQ`OA8D{+PN$SHhJi5 zCY_<}`8#@;1PGezbXhZ`40DRs#(89PKu6~D@Bj@#35hsj^W?Ci)~7?J?P|e3AVv{* zT19f}ko!($nA2bbCor&5hQ-=26%MNuGF*WX3L*xUV>pK5auid?;+R&c)?zq3^B{mt zusgKrlyQa&oOFm&l6WnOdc9tmH%`V0*(gpB1d7Q~xjYtV#ESW>MEhb{aYfJq#fUb+ z#Y--Zg##ApEG}2lA;8o7A$WMRdDbv1&Lj$?4E51Gipwz6;|atytu0FF%s*~CP+PR- z^9-8Kh+M8<1NCsM2!cWG9!?Zc1m0*j2`*3+I)~zHxgLg*Yf-)LODk+FH zv7$t?HYUjH0=zR={GnK_L11W!6RaGU6YPLACns^DljC87MJdB!Gi`IR0ZE`h_v57) z!Ij6@jRNO^r!%Z|J-`D@@!!Zvz1m=i!&GXLQsX2=A~RU~|H&E(oIwNa@vn9Xia-wr zwzJI-4zuIKuwZ5cFdRd-2QEU;oMk48wEDg;u*8?XPcG4|4aYyMql(5}LrbiS@ep!N z@z~JR+<89?FDR{V@2p?x&bGO0+2eJYtC6?Pf1ZWj40-nH0=whF>g$fbzPPf#YP353 zYVU!?otJkUXtT>(SJ%wjJ^I4wJ>kQ-gJH+J)yTWodPk&lPKCbqt5>@&x1R5HG(37K zVzM&z@Wz{W3cIfeC-O9r8K>r7O8oQSz;-i*EIy%GT6WQ?z^YQd9n4X+{gzk!)2Wzs z-OD?&#>)DxwiTXP-?T01n>BWsI9w5O{f7V7y!ci7e~;dmy!EW*iHQEDOzcfZLl2n4 z(6v2wc~0}oZ+F?+v+$4lN5ZNG6ZRz^%82=NP@KQBx~68+Q+?jkudm}9+nb6;wm026 zYK`8yv%I|gnN|xw&NhdYb_j?V8s%t+sJOyw(mu8VZrNj0msEDQmQYl>4Z}D5>q|R+ zTv(s7`RF(9y~!)el; QP2dM?N=l`U=`)M|23RCFX8-^I literal 0 HcmV?d00001 diff --git a/plugins/android-designer/src/com/intellij/android/designer/model/views-meta-model.xml b/plugins/android-designer/src/com/intellij/android/designer/model/views-meta-model.xml index 8cdf52ed49a1..7cd95b75a6d6 100644 --- a/plugins/android-designer/src/com/intellij/android/designer/model/views-meta-model.xml +++ b/plugins/android-designer/src/com/intellij/android/designer/model/views-meta-model.xml @@ -564,6 +564,175 @@ + + + + + + + + + + + ]]> + + + + + + + + + + + + ]]> + + + + + + + + + + + + ]]> + + + + + + + + + + ]]> + + + + + + + + + + ]]> + + + + + + + + + + + + ]]> + + + + + + + + + + + + ]]> + + + + + + + + + + + + ]]> + + + + + + + + + + ]]> + + + + + + + + + + + + + + From c514011a5b6ca4dbb4ab78440723ddd47c0f4ea1 Mon Sep 17 00:00:00 2001 From: Dennis Ushakov Date: Mon, 26 Mar 2012 21:45:46 +0400 Subject: [PATCH 2/5] don't show misleading help message --- .../intellij/codeInspection/AbstractInspectionToolStarter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/codeInspection/AbstractInspectionToolStarter.java b/platform/lang-impl/src/com/intellij/codeInspection/AbstractInspectionToolStarter.java index 9e3bf6e4c513..08efa6c3682d 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/AbstractInspectionToolStarter.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/AbstractInspectionToolStarter.java @@ -66,7 +66,7 @@ public abstract class AbstractInspectionToolStarter implements ApplicationStarte if (!myOptions.suppressHelp()) { printHelpAndExit(args, myOptions); } - return; + System.exit(1); } myApplication = new InspectionApplication(); From f06c350d7761dbee9f5e34ad7d8ac209b1872c57 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Mon, 26 Mar 2012 16:11:57 +0200 Subject: [PATCH 3/5] Swallow NPE we can do nothing about --- .../src/com/intellij/ide/ClipboardSynchronizer.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/ClipboardSynchronizer.java b/platform/platform-impl/src/com/intellij/ide/ClipboardSynchronizer.java index 690849d70f6d..6c7283520aa6 100644 --- a/platform/platform-impl/src/com/intellij/ide/ClipboardSynchronizer.java +++ b/platform/platform-impl/src/com/intellij/ide/ClipboardSynchronizer.java @@ -391,12 +391,14 @@ public class ClipboardSynchronizer implements ApplicationComponent { if (formats == null || formats.length == 0) { return Collections.emptySet(); } - for (int i = 0, length = formats.length; i < length; i++) { - if (formats[i] == 0) return Collections.emptySet(); + try { + @SuppressWarnings({"unchecked", "UnnecessaryLocalVariable"}) + final Set set = DataTransferer.getInstance().getFlavorsForFormats(formats, FLAVOR_MAP).keySet(); + return set; + } + catch (NullPointerException e) { + LOG.warn("Sun bug #6322854", e); } - @SuppressWarnings({"unchecked", "UnnecessaryLocalVariable"}) - final Set set = DataTransferer.getInstance().getFlavorsForFormats(formats, FLAVOR_MAP).keySet(); - return set; } catch (IllegalAccessException ignore) { } catch (IllegalArgumentException ignore) { } From 65e9b17092e74bd0b3511db003b17b955927220d Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Mon, 26 Mar 2012 20:05:42 +0200 Subject: [PATCH 4/5] EA-35127 (log invalid timestamps) --- .../util/src/com/intellij/openapi/util/io/FileUtil.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/util/src/com/intellij/openapi/util/io/FileUtil.java b/platform/util/src/com/intellij/openapi/util/io/FileUtil.java index 3123a0cc0255..17e795cc856a 100644 --- a/platform/util/src/com/intellij/openapi/util/io/FileUtil.java +++ b/platform/util/src/com/intellij/openapi/util/io/FileUtil.java @@ -462,8 +462,11 @@ public class FileUtil extends FileUtilRt { if (syncTimestamp) { final long timeStamp = fromFile.lastModified(); - if (!toFile.setLastModified(timeStamp)) { - LOG.warn("Unable to set timestamp " + timeStamp + " to " + toFile); + if (timeStamp < 0) { + LOG.warn("Invalid timestamp " + timeStamp + " of '" + fromFile + "'"); + } + else if (!toFile.setLastModified(timeStamp)) { + LOG.warn("Unable to set timestamp " + timeStamp + " to '" + toFile + "'"); } } From edd0ed56ebbe340c95b60bdf460f4132d214efad Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Mon, 26 Mar 2012 20:05:48 +0200 Subject: [PATCH 5/5] EA-34896 (clear catch type caches more thoroughly) --- .../source/tree/java/PsiCatchSectionImpl.java | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiCatchSectionImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiCatchSectionImpl.java index f7b9b8ff77c8..6dd26b59e597 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiCatchSectionImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiCatchSectionImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -43,6 +43,7 @@ import java.util.List; public class PsiCatchSectionImpl extends CompositePsiElement implements PsiCatchSection, Constants { private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.source.tree.java.PsiCatchSectionImpl"); + private final Object myTypesCacheLock = new Object(); private CachedValue> myTypesCache = null; public PsiCatchSectionImpl() { @@ -75,17 +76,27 @@ public class PsiCatchSectionImpl extends CompositePsiElement implements PsiCatch return getTypesCache().getValue(); } - private synchronized CachedValue> getTypesCache() { - if (myTypesCache == null) { - final CachedValuesManager cacheManager = CachedValuesManager.getManager(getProject()); - myTypesCache = cacheManager.createCachedValue(new CachedValueProvider>() { - @Override public Result> compute() { - final List types = computePreciseCatchTypes(getParameter()); - return Result.create(types, PsiModificationTracker.MODIFICATION_COUNT); - } - }, false); + @Override + public void clearCaches() { + super.clearCaches(); + synchronized (myTypesCacheLock) { + myTypesCache = null; + } + } + + private CachedValue> getTypesCache() { + synchronized (myTypesCacheLock) { + if (myTypesCache == null) { + final CachedValuesManager cacheManager = CachedValuesManager.getManager(getProject()); + myTypesCache = cacheManager.createCachedValue(new CachedValueProvider>() { + @Override public Result> compute() { + final List types = computePreciseCatchTypes(getParameter()); + return Result.create(types, PsiModificationTracker.MODIFICATION_COUNT); + } + }, false); + } + return myTypesCache; } - return myTypesCache; } private List computePreciseCatchTypes(final PsiParameter parameter) {